feat: добавить аддон ext-proxy — проксировать внешние сервисы через ingress-nginx
Helm chart (один чарт создаёт Service + Endpoints + Ingress на каждый прокси):
- _helpers.tpl: хелперы ext-proxy.resourceName, ext-proxy.labels
- service.yaml: ClusterIP без selector — имя совпадает с Endpoints
- endpoints.yaml: внешние IP(s) + порт; несколько IP → round-robin через kube-proxy
- ingress.yaml: слияние аннотаций (defaults → сгенерированные → уровень прокси);
поддержка TLS, basic auth, WebSocket, несколько хостов, маршрутизация по пути
- secret-auth.yaml: htpasswd Secret создаётся только при auth.enabled=true + credentials
- NOTES.txt: список прокси + команды проверки после установки
Ansible роль:
- defaults/main.yml: ext_proxy_namespace, ext_proxy_defaults, ext_proxy_proxies
- tasks/main.yml: валидация → namespace → копировать chart → lint → helm upgrade --install --atomic
- templates/values.yaml.j2: преобразование Ansible-переменных в Helm values через to_yaml
Интеграция: Makefile addon-ext-proxy, флаг addons.yml, playbooks/addons.yml,
docs/addons.md, README.md (счётчик 37 аддонов)
README.md на русском языке с полной документацией:
архитектура, настройка, функции, DNS, проверка, примеры манифестов, устранение неисправностей
Дополнительно: splitgw_deploy_mode изменён на k8s
This commit is contained in:
@@ -38,7 +38,7 @@ HA-режим (embedded etcd): при отказе **любой одной** н
|
||||
|
||||
**CNI:** `flannel` (встроен) | `calico` (Network Policy, BGP) | `cilium` (eBPF, Hubble)
|
||||
|
||||
## Аддоны (36)
|
||||
## Аддоны (37)
|
||||
|
||||
| Категория | Аддоны |
|
||||
|---|---|
|
||||
@@ -52,6 +52,7 @@ HA-режим (embedded etcd): при отказе **любой одной** н
|
||||
| **Файловые хранилища** | nextcloud, owncloud |
|
||||
| **Медиасервер** | mediaserver — Plex, Sonarr, Radarr, Lidarr, Bazarr, Prowlarr + Hysteria2, Overseerr, Transmission, Samba |
|
||||
| **VPN / Прокси** | splitgw — прозрачный split-tunnel gateway (sing-box + Hysteria2 TPROXY, YouTube → прокси) |
|
||||
| **Ingress Proxy** | ext-proxy — проксировать внешние сервисы (IP:PORT) через ingress-nginx по домену |
|
||||
|
||||
Все аддоны включаются флагами в `group_vars/all/addons.yml`. Установка: `make addon-<name>`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user