-
|
I am currently managing several Kubernetes clusters with ArgoCD. Each cluster (e.g., develop-01, production-01, production-02) has its own ArgoCD instance. We maintain a GitOps repository that is structured like this: I want to achieve the following:
Current ChallengeCurrently, I’m facing issues with duplicate configuration and manual effort when managing applications across multiple clusters. Here’s an example ApplicationSet YAML for a Grafana Helm chart: apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: grafana-appset
namespace: argocd
spec:
generators:
- git:
repoURL: [email protected]:repo-level/some-gitops-repo.git
revision: HEAD
files:
- path: '*/grafana/overrides.yaml' # Here * relays on specific cluster
# I want to use something like this
# - path: '${environment}/grafana/overrides.yaml'
# where environment is name of cluster where argo is located
template:
metadata:
name: grafana
spec:
project: default
source:
repoURL: https://grafana.github.io/helm-charts
chart: grafana
targetRevision: "8.6.4"
helm:
values: |
ingress:
enabled: true
hosts:
- {{host}}
destination:
server: https://kubernetes.default.svc
namespace: grafana
syncPolicy:
automated:
prune: true
selfHeal: trueReferences: Also, will I be able to provide a custom OS environment with CMP? So, the main question is how to restrict argocd to use only overrides from specific folder correlated to it's cluster? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
|
Solved with https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/ and https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/ |
Beta Was this translation helpful? Give feedback.
Solved with https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/ and https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/