1+ # 1. High Availability (Redis & Components)
2+ # -----------------------------------------
3+ redis-ha :
4+ enabled : true
5+ exporter :
6+ enabled : true
7+
8+ controller :
9+ replicas : 1
10+ resources :
11+ limits :
12+ memory : " 2Gi"
13+ cpu : " 1"
14+ requests :
15+ memory : " 512Mi"
16+ cpu : " 250m"
17+
18+ repoServer :
19+ replicas : 2
20+ autoscaling :
21+ enabled : true
22+ minReplicas : 2
23+ maxReplicas : 5
24+ resources :
25+ limits :
26+ memory : " 1Gi"
27+ cpu : " 500m"
28+
29+ server :
30+ replicas : 2
31+ autoscaling :
32+ enabled : true
33+ minReplicas : 2
34+ maxReplicas : 5
35+
36+ # 2. Ingress & Cert-Manager Integration
37+ # -------------------------------------
38+ ingress :
39+ enabled : true
40+ ingressClassName : argocd-nginx # Points to the controller we created in Phase 1
41+ hostname : " argocd.observe.camer.digital" # CHANGE THIS
42+ annotations :
43+ # Standard Nginx tuning
44+ nginx.ingress.kubernetes.io/force-ssl-redirect : " true"
45+ nginx.ingress.kubernetes.io/backend-protocol : " HTTP"
46+
47+ # Cert-Manager Configuration
48+ cert-manager.io/cluster-issuer : " letsencrypt-prod" # CHANGE THIS to your Issuer name
49+ # If you were using a ClusterIssuer, you would use:
50+ # cert-manager.io/cluster-issuer: "letsencrypt-prod"
51+
52+ tls :
53+ - secretName : argocd-tls-cert
54+ hosts :
55+ - " argocd.observe.camer.digital" # CHANGE THIS
56+
57+ # 3. Multi-Tenancy & RBAC
58+ # -----------------------
59+ # This section sets up the foundation for multi-tenancy.
60+ # We disable the admin user eventually and rely on SSO,
61+ # but for now, we define policies.
62+ configs :
63+ params :
64+ server.insecure : true # We terminate TLS at NGINX, so Argo itself runs insecurely internally
65+
66+ # Define RBAC roles for your tenants here or in a separate ConfigMap
67+ rbac :
68+ policy.csv : |
69+ # Example: Grant 'dev-team' access only to 'dev-project'
70+ # p, role:dev-team, applications, *, dev-project/*, allow
71+ # g, dev-user@yourcompany.com, role:dev-team
72+
73+ # Default policy
74+ g, admin, role:admin
75+ g, ArgoCDAdmins, role:admin
76+
77+ cm :
78+ url : https://argocd.observe.camer.digital
79+ oidc.config : |
80+ name: Keycloak
81+ issuer: https://keycloak.18.198.59.109.sslip.io/realms/argocd
82+ clientID: argocd
83+ clientSecret: lGH4qCY4mtEVaweAAHzktyrXTwRLHdWC # Used by the Server for Web Login
84+ requestedScopes: ["openid", "profile", "email", "groups"]
85+ enablePKCEAuthentication: true
86+ # PKCE is handled automatically by the ArgoCD CLI
87+ # when it talks to this OIDC provider.
88+
89+ # 4. GitOps Engine Tuning
90+ # -----------------------
91+ # Important for production to handle many applications
92+ applicationSet :
93+ replicas : 2
0 commit comments