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:
Sergey Antropoff
2026-04-25 18:41:54 +03:00
parent 684fc25908
commit e57e676392
20 changed files with 1213 additions and 0 deletions

View File

@@ -255,3 +255,19 @@
when: addon_external_secrets | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/external-secrets/role"
- name: Install Jenkins
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_jenkins | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/jenkins/role"
- name: Install NetBird VPN
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_netbird | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/netbird/role"