Модуль непрерывной доставки приложений (shturval-cd)
О сервисе
| Параметр | Значение |
|---|---|
| Название в интерфейсе | Модуль непрерывной доставки приложений |
| Системное название (идентификатор) | shturval-cd |
| Назначение в кластере | GitOps: декларативная непрерывная доставка приложений из Git/Helm-репозиториев; синхронизация состояния кластера с желаемым состоянием в репозитории. Предназначен для развёртывания пользовательских приложений (в отличие от shturval-services). |
| Критический | Нет |
| Публичный репозиторий | Argo CD |
| Зависимости | shturval-cd-crds, shturval-ingress-controller |
| Неймспейс | shturval-cd |
Назначение
shturval-cd — модуль непрерывной доставки на базе Argo CD. Отслеживает состояние приложений относительно Git/Helm Repo, автоматически доставляет изменения и приводит приложение в соответствие с репозиторием.
Где настраивать
Сервисы и репозитории → Установленные сервисы → shturval-cd → Управлять. Дополнительно: Argo CD.
Если сервис не отображается среди установленных, установите чарт shturval-cd через Сервисы и репозитории → Доступные чарты. При установке после создания кластера убедитесь, что включены и находятся в режиме автообновления shturval-cd-crds и shturval-ingress-controller.
Конфигурация ресурсов (CPU, memory)
По умолчанию для ArgoCD заданы limits и requests на ресурсы (CPU, memory). При необходимости переопределите их через ShturvalServicePatch:
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-cd
customvalues:
controller:
resources:
limits:
cpu: <ваше значение>
memory: <ваше значение>
requests:
cpu: <ваше значение>
memory: <ваше значение>
| Параметр | Описание | Тип | Пример |
|---|---|---|---|
metadata.name |
Имя ShturvalServicePatch | string | shturval-cd-resource |
limits.cpu |
Ограничение CPU (по умолчанию 500m) | string | 600m |
limits.memory |
Ограничение памяти (по умолчанию 512Mi) | string | 800Mi |
requests.cpu |
Запрашиваемые ресурсы CPU (по умолчанию 250m) | string | 400m |
requests.memory |
Запрашиваемые ресурсы памяти (по умолчанию 256Mi) | string | 300Mi |
Скриншот ShturvalServicePatch для ресурсов

Переход в Argo CD
Интерфейс Argo CD доступен несколькими способами:
- По префиксу argocd в домене кластера. Например:
argocd.clustername.ip-XX-XX-XX-XX.shturval.link. - Из дашборда клиентского кластера — кнопка «Argo CD» (SSO-авторизация).
- Из неймспейса клиентского кластера — кнопка «Argo CD». Если отображается кнопка «Создать проект в Argo CD», значит проект ещё не создан; кнопка перехода в Argo CD появится после успешного создания проекта.
- Из неймспейса
shturval-cd→ Сеть → Ingresses →shturval-cd-server.
Для авторизации используйте учётные данные платформы «Штурвал» (SSO) или учётные данные администратора Argo CD:
- Логин:
admin - Пароль: в графическом интерфейсе — неймспейс
shturval-cd→ Конфигурация → Secrets →argocd-initial-admin-secret.
Или через консоль:
kubectl -n shturval-cd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Кастомизация интерфейса
Для кастомизации интерфейса Argo CD примените ShturvalServicePatch:
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-cd
customvalues:
configs:
styles: |
<ваше значение>
cm:
ui.bannercontent: "<ваше значение>"
ui.bannerpermanent: <ваше значение>
| Параметр | Описание | Тип | Пример |
|---|---|---|---|
metadata.name |
Имя ShturvalServicePatch | string | shturval-cd-interface |
styles |
CSS-стили для настройки элементов интерфейса | string | .ui-banner { background-color: #FF0000; } |
cm.ui.bannercontent |
Текст баннера (отображается пользователю) | string | !!! ПРОДУКТИВ !!! |
cm.ui.bannerpermanent |
Постоянная видимость баннера | boolean | true |
Скриншот ShturvalServicePatch для интерфейса

Изменение параметров shturval-cd может потребоваться при добавлении или замене сертификата в кластере.
Подключение сертификата в Argo CD
При подключении репозитория с самоподписным или корпоративным сертификатом настройте его из интерфейса Argo CD:
- Перейдите в Settings → Repository certificates.
- Нажмите Add TLS certificate.
- Введите адрес репозитория (Repository server name) и сертификат в PEM-формате (TLS certificate (PEM format)).
Тело сертификата должно содержать строки -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----. Нажмите Create для сохранения.
Ошибка доверия после замены сертификата кластера на ACME
После перевода кластера с самоподписного сертификата на ACME вход в Argo CD через SSO может завершаться ошибкой получения токена:
failed to get token: Post "https://shturval.<имя-кластера>.ip-XX-XX-XX-XX.shturval.link/authn/oauth/token": tls: failed to verify certificate: x509: certificate signed by unknown authority
После обновления сертификата перезапустите Deployment с именем shturval-cd-server:
kubectl -n shturval-cd rollout restart deployment/shturval-cd-server
Если доступа к CLI нет, удалите под shturval-cd-server в неймспейсе shturval-cd через GUI. Deployment создаст новый под с актуальным содержимым ConfigMap.
Как развернуть этот сервис — Как развернуть новый сервис.