- Добавлена колонка 'Тип' во все таблицы истории сборок - Для push операций отображается registry вместо платформ - Сохранение пользователя при создании push лога - Исправлена ошибка с logger в push_docker_image endpoint - Улучшено отображение истории сборок с визуальными индикаторами
154 lines
6.3 KiB
HTML
154 lines
6.3 KiB
HTML
{% 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 %}
|