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

@@ -55,6 +55,7 @@ DOCKER_RUN := docker run --rm -it \
addon-postgresql addon-mysql addon-databasus \
addon-minio addon-velero addon-crowdsec \
addon-loki addon-promtail addon-tempo addon-pushgateway \
addon-harbor addon-gitea addon-owncloud addon-nextcloud \
add-node remove-node \
add-etcd-node remove-etcd-node \
etcd-backup etcd-restore etcd-list-snapshots \
@@ -334,6 +335,23 @@ addon-crowdsec: _check_env _check_image ## Установить CrowdSec — о
@printf "$(CYAN)Устанавливаю CrowdSec...$(NC)\n"
$(DOCKER_RUN) addon crowdsec $(ARGS)
# ── Приложения ────────────────────────────────────────────────────────────────
addon-harbor: _check_env _check_image ## Установить Harbor — container registry (ARGS="-e harbor_ingress_host=harbor.example.com")
@printf "$(CYAN)Устанавливаю Harbor...$(NC)\n"
$(DOCKER_RUN) addon harbor $(ARGS)
addon-gitea: _check_env _check_image ## Установить Gitea — Git hosting (авто-обновление: gitea_version='')
@printf "$(CYAN)Устанавливаю Gitea...$(NC)\n"
$(DOCKER_RUN) addon gitea $(ARGS)
addon-owncloud: _check_env _check_image ## Установить ownCloud OCIS — файловое хранилище (авто-обновление: owncloud_version='')
@printf "$(CYAN)Устанавливаю ownCloud OCIS...$(NC)\n"
$(DOCKER_RUN) addon owncloud $(ARGS)
addon-nextcloud: _check_env _check_image ## Установить Nextcloud — файловое хранилище (авто-обновление: nextcloud_version='')
@printf "$(CYAN)Устанавливаю Nextcloud...$(NC)\n"
$(DOCKER_RUN) addon nextcloud $(ARGS)
# ── Observability (logging / tracing / metrics) ───────────────────────────────
addon-loki: _check_env _check_image ## Установить Loki — агрегация логов (ARGS="-e loki_storage_type=s3" для MinIO)
@printf "$(CYAN)Устанавливаю Loki...$(NC)\n"