- ArgoCD via Helm com recursos mínimos (~1Gi) - GitLab Runner com executor Kubernetes - Exemplo node-bugado com Dockerfile e .gitlab-ci.yml - Manifests K8s para repositório GitOps - README.md da aula-03 (liveness + readiness probes)
120 lines
3.3 KiB
YAML
120 lines
3.3 KiB
YAML
# =============================================================================
|
|
# ArgoCD Helm Chart - Configuração para Hetzner CAX11
|
|
# =============================================================================
|
|
#
|
|
# Recursos mínimos otimizados para cluster pequeno (~1Gi total).
|
|
# Desabilita HA e componentes não essenciais.
|
|
#
|
|
# Valores dinâmicos (configurados via --set no setup.sh):
|
|
# - server.ingress.hosts[0]
|
|
# - server.ingress.tls[0].hosts[0]
|
|
# - server.ingress.annotations.cert-manager.io/cluster-issuer (se Let's Encrypt)
|
|
#
|
|
# =============================================================================
|
|
|
|
global:
|
|
# Domínio base (será sobrescrito via --set)
|
|
domain: argocd.kube.quest
|
|
|
|
# =============================================================================
|
|
# ARGOCD SERVER (UI + API)
|
|
# =============================================================================
|
|
server:
|
|
replicas: 1
|
|
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 100m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
|
|
ingress:
|
|
enabled: true
|
|
ingressClassName: nginx
|
|
# Não usar ssl-passthrough nem backend-protocol HTTPS
|
|
# O ArgoCD roda em modo insecure (HTTP na porta 80)
|
|
# TLS é terminado no NGINX Ingress (ou CloudFlare)
|
|
# hosts e tls configurados via --set
|
|
|
|
# Modo insecure - TLS termina no ingress/proxy, não no server
|
|
extraArgs:
|
|
- --insecure
|
|
|
|
# =============================================================================
|
|
# ARGOCD REPO SERVER (Git operations)
|
|
# =============================================================================
|
|
repoServer:
|
|
replicas: 1
|
|
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 100m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
|
|
# =============================================================================
|
|
# ARGOCD APPLICATION CONTROLLER (Reconciliation)
|
|
# =============================================================================
|
|
controller:
|
|
replicas: 1
|
|
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 100m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
|
|
# =============================================================================
|
|
# REDIS (Cache)
|
|
# =============================================================================
|
|
redis:
|
|
resources:
|
|
requests:
|
|
memory: 64Mi
|
|
cpu: 50m
|
|
limits:
|
|
memory: 128Mi
|
|
cpu: 100m
|
|
|
|
# =============================================================================
|
|
# COMPONENTES DESABILITADOS
|
|
# =============================================================================
|
|
|
|
# Redis HA - não necessário para cluster pequeno
|
|
redis-ha:
|
|
enabled: false
|
|
|
|
# Dex (SSO) - usar autenticação local
|
|
dex:
|
|
enabled: false
|
|
|
|
# ApplicationSet Controller - pode habilitar depois se necessário
|
|
applicationSet:
|
|
enabled: false
|
|
|
|
# Notifications Controller - não essencial
|
|
notifications:
|
|
enabled: false
|
|
|
|
# =============================================================================
|
|
# CONFIGURAÇÕES GLOBAIS
|
|
# =============================================================================
|
|
configs:
|
|
params:
|
|
# Timeout para operações Git
|
|
server.repo.server.timeout.seconds: "60"
|
|
# Intervalo de reconciliação (3 minutos)
|
|
timeout.reconciliation: "180s"
|
|
|
|
cm:
|
|
# Permitir acesso via HTTP (terminação TLS no ingress)
|
|
server.insecure: "true"
|
|
# Timeout de sessão admin
|
|
admin.enabled: "true"
|