feat: добавлены аддоны Jenkins, Gitea Actions, NetBird VPN
Jenkins: - Helm chart jenkins/jenkins, dynamic k8s Pod agents, JCasC конфигурация - 14 предустановленных плагинов (k8s, pipeline, git, blueocean, github/gitlab/gitea) - Prometheus ServiceMonitor, Ingress с TLS Gitea Actions: - Флаг gitea_actions_enabled (default: false) в gitea Helm values - act_runner Deployment с Docker-in-Docker sidecar (gitea_actions_runner_enabled) - Job автоматически по��учает registration token через Gitea API и сохраняет в Secret - Настраиваемые labels, replicas, DinD on/off NetBird VPN (self-hosted WireGuard mesh): - Management server (Helm netbirdio/management) — gRPC API + peer management - Signal server (Helm netbirdio/signal) — WebRTC peer discovery - Coturn — STUN/TURN с hostNetwork (корректный внешний IP) - Все компоненты через kube-vip LoadBalancer (авто-назначение IP из pool) - Subnet Router Deployment (hostNetwork + NET_ADMIN + ip_forward) — VPN-клиенты получают ��оступ к подсетям кластера - Exit Node Deployment (hostNetwork + MASQUERADE iptables) — весь интернет-трафик VPN-клиентов через ноду кластера - Static LB IPs через kube-vip annotation (опционально)
This commit is contained in:
@@ -36,6 +36,8 @@ addon_vaultwarden: false # Vaultwarden (self-hosted Bitwarden-совм
|
||||
addon_smtp_relay: false # SMTP Relay (Postfix → Yandex/другой SMTP) — для уведомлений из подов
|
||||
addon_vault: false # HashiCorp Vault (секреты, PKI, динамические credentials)
|
||||
addon_external_secrets: false # External Secrets Operator → Vault/AWS/GCP (k8s Secret sync)
|
||||
addon_jenkins: false # Jenkins CI/CD (Helm, dynamic k8s agents, JCasC)
|
||||
addon_netbird: false # NetBird VPN (управляющий сервер + subnet router + exit node)
|
||||
|
||||
# ─── NFS Server ───────────────────────────────────────────────────────────────
|
||||
nfs_exports:
|
||||
@@ -321,6 +323,35 @@ minio_api_ingress_host: "s3.example.com"
|
||||
# external_secrets_vault_store_name: "vault-backend"
|
||||
# Пароль задаётся в vault.yml: vault_eso_approle_secret_id
|
||||
|
||||
# ─── Jenkins ──────────────────────────────────────────────────────────────────
|
||||
# CI/CD сервер с dynamic k8s pod agents.
|
||||
# Пароль задаётся в vault.yml: vault_jenkins_admin_password
|
||||
# jenkins_ingress_host: "jenkins.example.com"
|
||||
# jenkins_storage_size: "20Gi"
|
||||
# jenkins_plugins: [...] # переопределить список плагинов
|
||||
# jenkins_agent_enabled: true
|
||||
|
||||
# ─── Gitea Actions ───────────────────────────────────────────────────────────<E29480><E29480><EFBFBD>
|
||||
# GitHub Actions-совместимая CI/CD встроенная в Gitea.
|
||||
# gitea_actions_enabled: false # включить Actions в Gitea (добавить в addon-gitea)
|
||||
# gitea_actions_runner_enabled: false # установить act_runner Deployment (DinD)
|
||||
# gitea_actions_runner_replicas: 2 # параллельных runner
|
||||
# gitea_actions_runner_dind_enabled: true # Docker-in-Docker для docker build/run в jobs
|
||||
|
||||
# ─── NetBird VPN ──────────────────────────────────────────────────────────────
|
||||
# Self-hosted WireGuard-based VPN. Management + Signal + Coturn (STUN/TURN) + kube-vip LB.
|
||||
# Пароли задаются в vault.yml: vault_netbird_coturn_password, vault_netbird_router_setup_key
|
||||
# netbird_domain: "netbird.example.com"
|
||||
# netbird_management_lb_ip: "" # пусто = kube-vip назначит автоматически
|
||||
# netbird_signal_lb_ip: ""
|
||||
# netbird_coturn_lb_ip: ""
|
||||
# Subnet router (доступ к подсетям кластера из VPN):
|
||||
# netbird_subnet_router_enabled: false
|
||||
# netbird_subnet_routes: ["192.168.1.0/24", "10.42.0.0/16"]
|
||||
# Exit node (весь интернет-трафик VPN-клиентов через k3s ноду):
|
||||
# netbird_exit_node_enabled: false
|
||||
# После установки — настрой маршруты в Management UI
|
||||
|
||||
# ─── etcd backup ──────────────────────────────────────────────────────────────
|
||||
etcd_backup_dir: "{{ k3s_data_dir }}/server/db/snapshots"
|
||||
etcd_backup_retention: 5 # сколько снимков хранить
|
||||
|
||||
@@ -88,3 +88,11 @@ vault_azure_kv_client_secret: ""
|
||||
# Получить после шага 6 в addons/external-secrets/README.md:
|
||||
# vault write -f -field=secret_id auth/approle/role/eso-role/secret-id
|
||||
vault_eso_approle_secret_id: "" # AppRole Secret ID для ESO → Vault
|
||||
|
||||
# ─── Jenkins ───────────────────────────────────────────────────────────────────
|
||||
vault_jenkins_admin_password: "changeme-jenkins"
|
||||
|
||||
# ─── NetBird VPN ───────────────────────────────────────────────────────────────
|
||||
vault_netbird_coturn_password: "changeme-coturn" # пароль TURN credentials
|
||||
vault_netbird_router_setup_key: "" # Setup Key из NetBird Management UI → Setup Keys
|
||||
vault_netbird_exit_node_setup_key: "" # Setup Key для exit node (можно тот же что router)
|
||||
|
||||
Reference in New Issue
Block a user