# ============================================================================= # NGINX Ingress Controller - Configuração para Hetzner Cloud # ============================================================================= # # Este values configura o NGINX Ingress com: # - LoadBalancer da Hetzner (provisionado automaticamente pelo CCM) # - Suporte a TCP para SSH do GitLab (porta 22) # - Uso de rede privada para comunicação com os nodes # # Uso: # helm upgrade --install nginx-ingress ingress-nginx/ingress-nginx \ # -n ingress-nginx --create-namespace \ # -f nginx-ingress-values.yaml # # ============================================================================= controller: # Configuração do Service LoadBalancer service: type: LoadBalancer # Annotations específicas para Hetzner Cloud annotations: # Nome do LoadBalancer no painel Hetzner load-balancer.hetzner.cloud/name: "k8s-ingress" # Localização do LoadBalancer (mesmo datacenter do cluster) load-balancer.hetzner.cloud/location: "nbg1" # Usar rede privada para comunicação com nodes # Mais seguro e sem custo de tráfego load-balancer.hetzner.cloud/use-private-ip: "true" # Tipo do LoadBalancer (lb11 é o menor/mais barato) load-balancer.hetzner.cloud/type: "lb11" # Health check load-balancer.hetzner.cloud/health-check-interval: "5s" load-balancer.hetzner.cloud/health-check-timeout: "3s" load-balancer.hetzner.cloud/health-check-retries: "3" # ========================================================================== # TCP Services - Para SSH do GitLab # ========================================================================== # Mapeia porta externa -> namespace/service:porta # O GitLab Shell roda no namespace gitlab, service gitlab-gitlab-shell tcp: 22: "gitlab/gitlab-gitlab-shell:22" # Configuração do controller config: # Habilitar proxy protocol se necessário # use-proxy-protocol: "true" # Timeouts proxy-connect-timeout: "10" proxy-read-timeout: "120" proxy-send-timeout: "120" # Body size para uploads grandes (GitLab, n8n) proxy-body-size: "0" # Keepalive keep-alive: "75" keep-alive-requests: "1000" # Recursos do controller resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 256Mi # Métricas para monitoramento metrics: enabled: true serviceMonitor: enabled: false # Habilitar se usar Prometheus Operator # Admission webhook admissionWebhooks: enabled: true # Default backend (opcional) defaultBackend: enabled: false