add metallb
This commit is contained in:
55
apps/applicationset-metallb.yaml
Normal file
55
apps/applicationset-metallb.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: ApplicationSet
|
||||
metadata:
|
||||
name: metallb-apps
|
||||
namespace: argocd-ops
|
||||
spec:
|
||||
generators:
|
||||
# Utilise un générateur merge pour combiner :
|
||||
# 1. Les répertoires Helm existants (détermine quels environnements sont disponibles pour metallb)
|
||||
# 2. Les fichiers de config partagés (pour obtenir name et server)
|
||||
- merge:
|
||||
generators:
|
||||
# Premier générateur : scanne uniquement les répertoires Helm qui existent pour metallb
|
||||
- git:
|
||||
repoURL: https://git.gkdomaine.fr/kubernetes/argocd.git
|
||||
revision: main
|
||||
directories:
|
||||
- path: "helm/metallb/*"
|
||||
# Deuxième générateur : lit les fichiers de config partagés
|
||||
# ApplicationSet utilisera seulement les fichiers config.json dont le basename
|
||||
# correspond à un répertoire Helm trouvé
|
||||
- git:
|
||||
repoURL: https://git.gkdomaine.fr/kubernetes/argocd.git
|
||||
revision: main
|
||||
files:
|
||||
- path: "configs/*/config.json"
|
||||
mergeKeys:
|
||||
- path.basename
|
||||
template:
|
||||
metadata:
|
||||
# Utilise path.basename qui vient du générateur git (plus fiable que environment du JSON)
|
||||
name: 'metallb-{{path.basename}}'
|
||||
spec:
|
||||
# Utilise path.basename pour le projet (ou {{environment}} si disponible dans le JSON)
|
||||
project: '{{path.basename}}'
|
||||
source:
|
||||
repoURL: '{{repository}}'
|
||||
targetRevision: '{{targetRevision}}'
|
||||
# Construit explicitement le chemin Helm à partir du basename
|
||||
path: '{{helmPath}}/metallb/{{path.basename}}'
|
||||
helm:
|
||||
valueFiles:
|
||||
- values.yaml
|
||||
destination:
|
||||
# Les variables {{name}} et {{server}} viennent du fichier config.json
|
||||
# (deuxième générateur du merge)
|
||||
name: '{{name}}'
|
||||
# server: '{{server}}'
|
||||
namespace: 'metallb-{{path.basename}}'
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
Reference in New Issue
Block a user