Исправление синтаксической ошибки в molecule_executor.py и обновление k8s preset'ов
- Исправлена незакрытая скобка в _build_test_command (строка 745) - Добавлена поддержка k8s preset'ов: выполнение create_k8s_cluster.py перед create.yml - Обновлены образы в k8s preset'ах: заменен недоступный ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy на inecs/ansible-lab:ubuntu22-latest - Обновлены preset'ы в базе данных через SQL - Обновлены файлы: k8s-single.yml, k8s-multi.yml, k8s-istio-full.yml
This commit is contained in:
@@ -24,8 +24,7 @@
|
||||
<div class="card-body">
|
||||
<form
|
||||
hx-post="/api/v1/profile/docker-settings"
|
||||
hx-target="#docker-result"
|
||||
hx-swap="innerHTML"
|
||||
hx-swap="none"
|
||||
>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Имя пользователя</label>
|
||||
@@ -66,8 +65,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="docker-result" class="mb-3"></div>
|
||||
|
||||
<button type="submit" class="btn btn-primary w-100">
|
||||
<i class="fas fa-save me-2"></i>
|
||||
Сохранить настройки Docker Hub
|
||||
@@ -89,8 +86,7 @@
|
||||
<div class="card-body">
|
||||
<form
|
||||
hx-post="/api/v1/profile/docker-settings"
|
||||
hx-target="#harbor-result"
|
||||
hx-swap="innerHTML"
|
||||
hx-swap="none"
|
||||
>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">URL Harbor</label>
|
||||
@@ -139,8 +135,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="harbor-result" class="mb-3"></div>
|
||||
|
||||
<button type="submit" class="btn btn-primary w-100">
|
||||
<i class="fas fa-save me-2"></i>
|
||||
Сохранить настройки Harbor
|
||||
@@ -150,4 +144,57 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% block scripts %}
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Обработка успешного сохранения настроек Docker
|
||||
document.body.addEventListener('htmx:afterRequest', function(event) {
|
||||
if (event.detail.path === '/api/v1/profile/docker-settings' && event.detail.xhr.status === 200) {
|
||||
try {
|
||||
const response = JSON.parse(event.detail.xhr.responseText);
|
||||
if (response.success) {
|
||||
// Показываем модальное окно с успешным сообщением
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal(
|
||||
response.message || 'Настройки успешно сохранены',
|
||||
'success',
|
||||
'Успешно',
|
||||
function() {
|
||||
// После закрытия модального окна обновляем страницу
|
||||
location.reload();
|
||||
}
|
||||
);
|
||||
} else {
|
||||
// Если функция недоступна, просто обновляем страницу
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Ошибка парсинга ответа:', e);
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal('Ошибка при сохранении настроек', 'error');
|
||||
}
|
||||
}
|
||||
} else if (event.detail.path === '/api/v1/profile/docker-settings' && event.detail.xhr.status !== 200) {
|
||||
// Ошибка - показываем в модальном окне
|
||||
try {
|
||||
const response = JSON.parse(event.detail.xhr.responseText);
|
||||
const errorMessage = response.detail || response.message || 'Ошибка при сохранении настроек';
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal(errorMessage, 'error');
|
||||
} else {
|
||||
alert(errorMessage);
|
||||
}
|
||||
} catch (e) {
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal('Ошибка при сохранении настроек', 'error');
|
||||
} else {
|
||||
alert('Ошибка при сохранении настроек');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user