feat: добавить аддоны Harbor, Gitea, ownCloud OCIS, Nextcloud

Harbor (harbor/harbor, авто-версия):
- Values-шаблон с полной конфигурацией expose/ingress/tls/persistence
- external DB при addon_postgresql=true (Job для создания user/db)
- internal PostgreSQL + Redis в противном случае
- Метрики + ServiceMonitor при addon_prometheus_stack=true

Gitea (gitea-charts/gitea, авто-версия):
- Values-шаблон, встроенный PostgreSQL отключается при addon_postgresql=true
- Job для создания dedicated user/db в shared PostgreSQL
- Опциональный SSH NodePort (gitea_ssh_enabled)
- ServiceMonitor при addon_prometheus_stack=true

ownCloud OCIS (owncloud/ocis, авто-версия):
- Values-шаблон с insecure-режимом для HTTP
- Persistence для storageusers/storagesystem/nats/search/thumbnails
- Пароль admin через extraEnv IDM_ADMIN_PASSWORD
- ServiceMonitor при addon_prometheus_stack=true

Nextcloud (nextcloud/nextcloud, авто-версия):
- Values-шаблон, external PostgreSQL при addon_postgresql=true
- Job для создания dedicated user/db в shared PostgreSQL
- Встроенный Redis для file locking
- nextcloud-exporter (metrics sidecar) + ServiceMonitor
- Cron-задача для фоновых операций

Авто-версия: helm search repo ... --output json | from_json[0].version
Применяется при version: "" — переопределяется через ARGS="-e *_version=X.Y.Z"
This commit is contained in:
Sergey Antropoff
2026-04-25 11:49:29 +03:00
parent c24b8af395
commit e1e84aeb86
19 changed files with 1071 additions and 0 deletions

View File

@@ -21,6 +21,10 @@ addon_databasus: false # Databasus (резервное копиро
addon_minio: false # MinIO (S3-совместимое объектное хранилище)
addon_velero: false # Velero (резервное копирование кластера и PVC)
addon_crowdsec: false # CrowdSec (обнаружение вторжений)
addon_harbor: false # Harbor (container registry)
addon_gitea: false # Gitea (Git hosting, авто-обновление до последней версии)
addon_owncloud: false # ownCloud OCIS (файловое хранилище, авто-обновление)
addon_nextcloud: false # Nextcloud (файловое хранилище, авто-обновление)
addon_loki: false # Loki (агрегация логов)
addon_promtail: false # Promtail (агент сбора логов → Loki)
addon_tempo: false # Tempo (distributed tracing)
@@ -181,6 +185,37 @@ minio_api_ingress_host: "s3.example.com"
# crowdsec_collections: "crowdsecurity/linux crowdsecurity/nginx crowdsecurity/kubernetes"
# crowdsec_nginx_bouncer_enabled: false
# ─── Harbor ───────────────────────────────────────────────────────────────────
# Пароли задаются в vault.yml:
# vault_harbor_admin_password: "Harbor12345"
# vault_harbor_db_password: "..." # используется только при addon_postgresql: true
# harbor_ingress_host: "harbor.example.com"
# harbor_registry_storage_size: "20Gi"
# harbor_database_type: "internal" # внешняя PostgreSQL при addon_postgresql: true
# ─── Gitea ────────────────────────────────────────────────────────────────────
# Пароли задаются в vault.yml:
# vault_gitea_admin_password: "..."
# vault_gitea_db_password: "..." # используется только при addon_postgresql: true
# gitea_ingress_host: "gitea.example.com"
# gitea_version: "" # "" = автопоиск последней версии
# gitea_ssh_enabled: false # NodePort SSH для git clone
# ─── ownCloud (OCIS) ──────────────────────────────────────────────────────────
# Пароль задаётся в vault.yml:
# vault_owncloud_admin_password: "..."
# owncloud_ingress_host: "cloud.example.com"
# owncloud_version: "" # "" = автопоиск последней версии
# owncloud_storage_users_size: "20Gi"
# ─── Nextcloud ────────────────────────────────────────────────────────────────
# Пароли задаются в vault.yml:
# vault_nextcloud_admin_password: "..."
# vault_nextcloud_db_password: "..." # используется только при addon_postgresql: true
# nextcloud_ingress_host: "nextcloud.example.com"
# nextcloud_version: "" # "" = автопоиск последней версии
# nextcloud_storage_size: "20Gi"
# ─── Loki ─────────────────────────────────────────────────────────────────────
# loki_storage_type: "filesystem" # filesystem (авто: s3 если addon_minio: true)
# loki_storage_size: "10Gi"