feat: добавлена пометка типа операции (Build/Push) в истории сборок Dockerfile
- Добавлена колонка 'Тип' во все таблицы истории сборок - Для push операций отображается registry вместо платформ - Сохранение пользователя при создании push лога - Исправлена ошибка с logger в push_docker_image endpoint - Улучшено отображение истории сборок с визуальными индикаторами
This commit is contained in:
153
app/templates/pages/profile/docker-settings.html
Normal file
153
app/templates/pages/profile/docker-settings.html
Normal file
@@ -0,0 +1,153 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Настройки Docker - DevOpsLab{% endblock %}
|
||||
{% block page_title %}Настройки Docker (Harbor и Docker Hub){% endblock %}
|
||||
|
||||
{% block header_actions %}
|
||||
<a href="/profile" class="btn btn-secondary btn-sm">
|
||||
<i class="fas fa-arrow-left me-2"></i>
|
||||
Назад к профилю
|
||||
</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<!-- Docker Hub настройки -->
|
||||
<div class="col-12 col-lg-6 mb-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<i class="fab fa-docker me-2"></i>
|
||||
Docker Hub
|
||||
</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form
|
||||
hx-post="/api/v1/profile/docker-settings"
|
||||
hx-target="#docker-result"
|
||||
hx-swap="innerHTML"
|
||||
>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Имя пользователя</label>
|
||||
<input
|
||||
type="text"
|
||||
name="dockerhub_username"
|
||||
value="{{ profile.dockerhub_username if profile and profile.dockerhub_username else '' }}"
|
||||
class="form-control"
|
||||
placeholder="username"
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Пароль / Access Token</label>
|
||||
<input
|
||||
type="password"
|
||||
name="dockerhub_password"
|
||||
value=""
|
||||
class="form-control"
|
||||
placeholder="Оставьте пустым, чтобы не изменять"
|
||||
>
|
||||
<div class="form-text">
|
||||
Используйте Access Token вместо пароля для большей безопасности
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Репозиторий по умолчанию</label>
|
||||
<input
|
||||
type="text"
|
||||
name="dockerhub_repository"
|
||||
value="{{ profile.dockerhub_repository if profile and profile.dockerhub_repository else '' }}"
|
||||
class="form-control"
|
||||
placeholder="ansible-lab"
|
||||
>
|
||||
<div class="form-text">
|
||||
Имя репозитория (без namespace)
|
||||
</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
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Harbor настройки -->
|
||||
<div class="col-12 col-lg-6 mb-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">
|
||||
<i class="fas fa-server me-2"></i>
|
||||
Harbor
|
||||
</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form
|
||||
hx-post="/api/v1/profile/docker-settings"
|
||||
hx-target="#harbor-result"
|
||||
hx-swap="innerHTML"
|
||||
>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">URL Harbor</label>
|
||||
<input
|
||||
type="url"
|
||||
name="harbor_url"
|
||||
value="{{ profile.harbor_url if profile and profile.harbor_url else '' }}"
|
||||
class="form-control"
|
||||
placeholder="https://harbor.example.com"
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Имя пользователя</label>
|
||||
<input
|
||||
type="text"
|
||||
name="harbor_username"
|
||||
value="{{ profile.harbor_username if profile and profile.harbor_username else '' }}"
|
||||
class="form-control"
|
||||
placeholder="admin"
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Пароль</label>
|
||||
<input
|
||||
type="password"
|
||||
name="harbor_password"
|
||||
value=""
|
||||
class="form-control"
|
||||
placeholder="Оставьте пустым, чтобы не изменять"
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Проект</label>
|
||||
<input
|
||||
type="text"
|
||||
name="harbor_project"
|
||||
value="{{ profile.harbor_project if profile and profile.harbor_project else '' }}"
|
||||
class="form-control"
|
||||
placeholder="library"
|
||||
>
|
||||
<div class="form-text">
|
||||
Имя проекта в Harbor
|
||||
</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
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user