feat: добавить аддон ingress-add-domains — добавить домены к сервисам кластера

Helm chart + Ansible роль, создающие Ingress-only правила для уже существующих
K8s сервисов. Каждый Ingress создаётся в namespace целевого сервиса.

Поддерживает: TLS (cert-manager или готовый Secret), basic auth (автохэш пароля
через openssl passwd -apr1), WebSocket, несколько хостов, per-entry аннотации.
This commit is contained in:
Sergey Antropoff
2026-04-26 12:02:41 +03:00
parent fafcc34f03
commit 5079975d5e
18 changed files with 823 additions and 1 deletions

View File

@@ -127,6 +127,52 @@ netbird up --management-url grpc://netbird.example.com:80
---
## ingress-add-domains — добавить домены к сервисам кластера
Позволяет быстро открыть дополнительные домены для уже существующих K8s сервисов без изменения их шаблонов. Создаёт **только Ingress** в namespace целевого сервиса. Подробнее: [addons/ingress-add-domains/README.md](../addons/ingress-add-domains/README.md).
```yaml
# group_vars/all/addons.yml
addon_ingress_add_domains: true
ingress_add_domains_entries:
# Внутренний домен без TLS
- name: gitea-local
hosts: [gitea.local]
service:
name: gitea-http
namespace: gitea
port: 3000
# Внешний домен с TLS + basic auth
- name: grafana-home
hosts: [grafana.home.ru]
service:
name: prometheus-stack-grafana
namespace: monitoring
port: 80
tls:
enabled: true
certManager:
enabled: true
issuer: letsencrypt-prod
auth:
enabled: true
username: admin
password: "{{ vault_grafana_proxy_password }}"
```
```bash
make addon-ingress-add-domains
```
| Сценарий | Инструмент |
|---|---|
| Открыть K8s-сервис по новому домену | **ingress-add-domains** |
| Проксировать сервис вне кластера (по IP) | ingress-proxypass |
---
## ingress-proxypass — проксировать внешние сервисы
Позволяет открыть по домену любой сервис, работающий **вне кластера** (роутер, NAS, Plex на отдельной машине и т.д.), через тот же ingress-nginx VIP. Для каждой записи создаётся: `Service (ClusterIP, без selector)` + `Endpoints` + `Ingress`. Подробнее: [addons/ingress-proxypass/README.md](../addons/ingress-proxypass/README.md).