docs: sync addon docs with explicit external/internal service modes

Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
This commit is contained in:
Sergey Antropoff
2026-04-29 23:21:04 +03:00
parent dde2fc8a8a
commit 38aaadbfb1
128 changed files with 2881 additions and 902 deletions

View File

@@ -19,6 +19,11 @@ addon_prometheus_stack: false
addon_istio: false
# ArgoCD GitOps
addon_argocd: false
# Настройки Redis для ArgoCD:
# argocd_redis_mode: "auto" # auto | internal | external_redis
# argocd_redis_host: "redis-master.redis.svc.cluster.local"
# argocd_redis_port: 6379
# argocd_redis_password: "{{ vault_redis_password }}"
# Longhorn: реплицируемый блочный диск
addon_longhorn: false
# Web UI кластера (kubernetes-dashboard)
@@ -27,6 +32,18 @@ addon_kubernetes_dashboard: false
addon_postgresql: false
# Bitnami MySQL
addon_mysql: false
# GitLab + GitLab Runner в Kubernetes
addon_gitlab: false
# Redis (standalone/replication)
addon_redis: false
# MongoDB (standalone/replicaset)
addon_mongodb: false
# Kafka (standalone/cluster, KRaft)
addon_kafka: false
# Kafka UI (web-интерфейс Kafka)
addon_kafka_ui: false
# RabbitMQ (standalone/cluster)
addon_rabbitmq: false
# Databasus: веб-управление бэкапами БД
addon_databasus: false
# MinIO S3
@@ -53,7 +70,9 @@ addon_tempo: false
addon_pushgateway: false
# CSI: монтирование S3 как PVC; с MinIO — авто-настройка endpoint
addon_csi_s3: false
# Rook-Ceph: блочное RWO и CephFS RWX
# CSI Ceph: ceph-csi драйверы RBD/CephFS для PVC
addon_ceph_rock: false
# Старый флаг csi-ceph (основной для ceph-csi драйвера)
addon_csi_ceph: false
# CSI GlusterFS: нужен Heketi/Gluster снаружи
addon_csi_glusterfs: false
@@ -232,6 +251,94 @@ mysql_external_host: "mysql.mysql.svc.cluster.local"
# Порт SQL
mysql_external_port: 3306
# ─── GitLab + GitLab Runner ───────────────────────────────────────────────────
# GitLab ставится Helm-чартом, runner включается как поды в кластере.
# При addon_postgresql: true — используется внешний PostgreSQL из addon_postgresql.
# gitlab_version: "" # "" = последняя версия чарта
# gitlab_namespace: "gitlab"
# gitlab_ingress_enabled: true
# gitlab_ingress_host: "gitlab.example.com"
# gitlab_ingress_class: "nginx"
# gitlab_ingress_tls: false
# gitlab_domain: "example.com" # базовый домен для GitLab chart
# gitlab_admin_password: "{{ vault_gitlab_admin_password }}"
# gitlab_storage_class: "" # "" = default StorageClass
# gitlab_gitaly_storage_size: "20Gi"
# gitlab_runner_install: true
# gitlab_runner_replicas: 2
# gitlab_runner_concurrent: 10
# gitlab_database_mode: "auto" # auto | internal | external_postgresql
# gitlab_db_name: "gitlabhq_production"
# gitlab_db_username: "gitlab"
# gitlab_db_password: "{{ vault_gitlab_db_password }}" # для внешнего PostgreSQL
# ─── Redis ─────────────────────────────────────────────────────────────────────
# Bitnami Redis. architecture: standalone | replication
# redis_version: "19.6.4"
# redis_namespace: "redis"
# redis_architecture: "standalone"
# redis_auth_enabled: true
# redis_auth_password: "{{ vault_redis_password }}"
# redis_storage_class: ""
# redis_storage_size: "8Gi"
# redis_replica_count: 2 # используется при architecture=replication
# redis_metrics_enabled: true
# ─── MongoDB ───────────────────────────────────────────────────────────────────
# Bitnami MongoDB. architecture: standalone | replicaset
# mongodb_version: "15.6.21"
# mongodb_namespace: "mongodb"
# mongodb_architecture: "standalone"
# mongodb_auth_enabled: true
# mongodb_root_user: "root"
# mongodb_root_password: "{{ vault_mongodb_root_password }}"
# mongodb_username: "appuser"
# mongodb_password: "{{ vault_mongodb_password }}"
# mongodb_database: "appdb"
# mongodb_storage_class: ""
# mongodb_storage_size: "8Gi"
# mongodb_replica_count: 3 # используется при architecture=replicaset
# mongodb_metrics_enabled: true
# ─── Kafka (KRaft) ─────────────────────────────────────────────────────────────
# Bitnami Kafka без ZooKeeper (KRaft). mode: standalone | cluster
# kafka_version: "30.1.8"
# kafka_namespace: "kafka"
# kafka_mode: "standalone"
# kafka_storage_class: ""
# kafka_storage_size: "20Gi"
# kafka_auth_enabled: false
# kafka_client_passwords: ["{{ vault_kafka_client_password }}"]
# kafka_controller_replica_count: 3 # используется в mode=cluster
# kafka_broker_replica_count: 3 # используется в mode=cluster
# kafka_metrics_enabled: true
# ─── Kafka UI ──────────────────────────────────────────────────────────────────
# Web UI для просмотра топиков, consumer groups и сообщений Kafka.
# kafka_ui_version: "0.7.6"
# kafka_ui_namespace: "kafka-ui"
# kafka_ui_ingress_enabled: true
# kafka_ui_ingress_host: "kafka-ui.example.com"
# kafka_ui_ingress_class: "nginx"
# kafka_ui_ingress_tls: false
# kafka_ui_cluster_name: "k3s-kafka"
# kafka_ui_bootstrap_servers: "kafka.kafka.svc.cluster.local:9092"
# kafka_ui_auth_username: "admin"
# kafka_ui_auth_password: "{{ vault_kafka_ui_password }}"
# ─── RabbitMQ ──────────────────────────────────────────────────────────────────
# Bitnami RabbitMQ. mode: standalone | cluster
# rabbitmq_version: "15.5.1"
# rabbitmq_namespace: "rabbitmq"
# rabbitmq_mode: "standalone"
# rabbitmq_auth_username: "appuser"
# rabbitmq_auth_password: "{{ vault_rabbitmq_password }}"
# rabbitmq_erlang_cookie: "{{ vault_rabbitmq_erlang_cookie }}"
# rabbitmq_storage_class: ""
# rabbitmq_storage_size: "8Gi"
# rabbitmq_replica_count: 3 # используется в mode=cluster
# rabbitmq_metrics_enabled: true
# ─── Databasus ────────────────────────────────────────────────────────────────
# Databasus автоматически получает подключение к PostgreSQL/MySQL
# если соответствующий аддон включён (addon_postgresql/addon_mysql: true).
@@ -280,7 +387,7 @@ minio_api_ingress_host: "s3.example.com"
# 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
# harbor_database_mode: "auto" # auto | internal | external_postgresql
# ─── Gitea ────────────────────────────────────────────────────────────────────
# Пароли задаются в vault.yml:
@@ -289,6 +396,7 @@ minio_api_ingress_host: "s3.example.com"
# gitea_ingress_host: "gitea.example.com"
# gitea_version: "" # "" = автопоиск последней версии
# gitea_ssh_enabled: false # NodePort SSH для git clone
# gitea_database_mode: "auto" # auto | internal | external_postgresql
# ─── ownCloud (OCIS) ──────────────────────────────────────────────────────────
# Пароль задаётся в vault.yml:
@@ -304,6 +412,7 @@ minio_api_ingress_host: "s3.example.com"
# nextcloud_ingress_host: "nextcloud.example.com"
# nextcloud_version: "" # "" = автопоиск последней версии
# nextcloud_storage_size: "20Gi"
# nextcloud_database_mode: "external_postgresql" # auto | sqlite | external_postgresql
# ─── Loki ─────────────────────────────────────────────────────────────────────
# loki_storage_type: "filesystem" # filesystem (авто: s3 если addon_minio: true)
@@ -338,15 +447,29 @@ minio_api_ingress_host: "s3.example.com"
# csi_s3_access_key: "" # авто из vault_minio_root_user
# csi_s3_secret_key: "" # авто из vault_minio_root_password
# ─── CSI Ceph / Rook-Ceph ─────────────────────────────────────────────────────
# Distributed block (RWO) и filesystem (RWX) storage на базе Ceph.
# Требует минимум 3 ноды с незанятыми дисками для Ceph OSD.
# rook_ceph_mon_count: 3
# rook_ceph_block_replica_count: 3 # для single-node задай 1
# rook_ceph_block_storage_class: "rook-ceph-block"
# rook_ceph_filesystem_storage_class: "rook-ceph-filesystem"
# rook_ceph_dashboard_ingress_enabled: false
# rook_ceph_dashboard_ingress_host: "ceph.example.com"
# ─── CSI Ceph (ceph-csi: RBD + CephFS) ───────────────────────────────────────
# Требует уже существующий Ceph-кластер (FSID, MON, user/key).
csi_ceph_driver_ref: "devel" # ветка/тег ceph/ceph-csi (devel|v3.x.x)
csi_ceph_namespace: "kube-system"
csi_ceph_cluster_id: "b9127830-b0cc-4e34-aa47-9d1a2e9949a8" # FSID (ceph fsid)
csi_ceph_monitors:
- "10.0.0.11:6789"
- "10.0.0.12:6789"
- "10.0.0.13:6789"
csi_ceph_user_id: "kubernetes"
csi_ceph_user_key: "{{ vault_csi_ceph_user_key }}"
csi_ceph_rbd_storage_class_name: "ceph-rbd"
csi_ceph_rbd_pool: "rbd"
csi_ceph_rbd_fs_type: "ext4"
csi_ceph_rbd_storage_class_default: false
csi_ceph_cephfs_storage_class_name: "cephfs"
csi_ceph_cephfs_fs_name: "cephfs"
csi_ceph_cephfs_pool: "cephfs_data"
csi_ceph_cephfs_storage_class_default: false
csi_ceph_reclaim_policy: "Delete" # Delete | Retain
csi_ceph_volume_binding_mode: "Immediate" # Immediate | WaitForFirstConsumer
csi_ceph_enable_rbd: true
csi_ceph_enable_cephfs: true
# ─── CSI GlusterFS ────────────────────────────────────────────────────────────
# Требует внешний GlusterFS кластер + Heketi REST API.
@@ -461,7 +584,9 @@ minio_api_ingress_host: "s3.example.com"
# authelia_domain: "home.local" # базовый домен (session cookie domain)
# authelia_two_factor_enabled: false # включить 2FA для защищённых сервисов
# authelia_storage_type: "sqlite" # sqlite | postgresql
# authelia_redis_enabled: false # Redis для хранения сессий
# authelia_redis_mode: "auto" # auto | internal | external_redis | disabled
# authelia_redis_host: "redis-master.redis.svc.cluster.local"
# authelia_redis_port: 6379
# authelia_smtp_enabled: false # SMTP для сброса пароля и 2FA email
# Домены с защитой (forward-auth):
# authelia_protected_domains: [sonarr.home.local, radarr.home.local, ...]

View File

@@ -69,6 +69,34 @@ vault_gitea_admin_password: "changeme-gitea"
# Пароль пользователя БД gitea при внешнем PostgreSQL
vault_gitea_db_password: "changeme-gitea-db"
# ─── GitLab ────────────────────────────────────────────────────────────────────
# Пароль пользователя root в GitLab
vault_gitlab_admin_password: "changeme-gitlab"
# Пароль пользователя БД gitlab при внешнем PostgreSQL
vault_gitlab_db_password: "changeme-gitlab-db"
# ─── Redis ─────────────────────────────────────────────────────────────────────
# Пароль Redis (если redis_auth_enabled: true)
vault_redis_password: "changeme-redis"
# ─── MongoDB ───────────────────────────────────────────────────────────────────
# Пароль root-пользователя MongoDB
vault_mongodb_root_password: "changeme-mongodb-root"
# Пароль прикладного пользователя MongoDB
vault_mongodb_password: "changeme-mongodb-app"
# ─── Kafka ─────────────────────────────────────────────────────────────────────
# Пароль клиентского пользователя Kafka (SASL/SCRAM)
vault_kafka_client_password: "changeme-kafka-client"
# Пароль для входа в Kafka UI
vault_kafka_ui_password: "changeme-kafka-ui"
# ─── RabbitMQ ──────────────────────────────────────────────────────────────────
# Пароль пользователя RabbitMQ
vault_rabbitmq_password: "changeme-rabbitmq"
# Erlang cookie для кластеризации RabbitMQ
vault_rabbitmq_erlang_cookie: "changeme-rabbitmq-cookie"
# ─── ownCloud OCIS ─────────────────────────────────────────────────────────────
# Пароль первого администратора ownCloud
vault_owncloud_admin_password: "changeme-owncloud"
@@ -111,6 +139,10 @@ vault_azure_kv_client_secret: ""
# Secret ID роли eso-role (см. addons/external-secrets/README.md)
vault_eso_approle_secret_id: ""
# ─── CSI Ceph (ceph-csi) ──────────────────────────────────────────────────────
# CephX key пользователя client.<csi_ceph_user_id> (например client.kubernetes)
vault_csi_ceph_user_key: ""
# ─── Jenkins ───────────────────────────────────────────────────────────────────
# Пароль админа Jenkins (JCasC)
vault_jenkins_admin_password: "changeme-jenkins"