apiVersion: batch/v1 kind: Job metadata: name: sync-tls-secret-homarr-dev namespace: certificates-ops annotations: argocd.argoproj.io/hook: Sync argocd.argoproj.io/hook-delete-policy: BeforeHookCreation spec: template: spec: serviceAccountName: secret-sync-sa containers: - name: kubectl image: bitnami/kubectl:latest command: - /bin/sh - -c - | set -e echo "=== Synchronisation du secret TLS homarr-dev-tls ===" echo "Source: cluster-ops, namespace: certificates-ops" echo "Destination: cluster-dev, namespace: homarr-dev" # Récupérer le secret depuis OPS (cluster actuel) echo "1. Récupération du secret depuis OPS..." kubectl get secret homarr-dev-tls -n certificates-ops -o yaml > /tmp/secret-source.yaml if [ ! -s /tmp/secret-source.yaml ]; then echo "❌ Erreur: Le secret homarr-dev-tls n'existe pas dans certificates-ops sur OPS" exit 1 fi # Modifier les métadonnées pour la destination echo "2. Préparation du secret pour DEV..." cat /tmp/secret-source.yaml | \ sed '/^ uid:/d' | \ sed '/^ resourceVersion:/d' | \ sed '/^ selfLink:/d' | \ sed '/^ creationTimestamp:/d' | \ sed 's/namespace: certificates-ops/namespace: homarr-dev/' > /tmp/secret-dest.yaml # Appliquer le secret sur DEV # Note: Cela nécessite que kubectl soit configuré avec les contextes des clusters echo "3. Application du secret sur DEV..." # Vérifier si le contexte cluster-dev existe if kubectl config get-contexts cluster-dev &>/dev/null; then # Créer le namespace s'il n'existe pas kubectl create namespace homarr-dev --context=cluster-dev --dry-run=client -o yaml | kubectl apply --context=cluster-dev -f - || true # Appliquer le secret kubectl apply -f /tmp/secret-dest.yaml --context=cluster-dev echo "✅ Secret synchronisé vers cluster-dev" else echo "⚠️ Le contexte cluster-dev n'est pas configuré dans kubectl" echo " Pour synchroniser manuellement, exécutez :" echo " kubectl apply -f /tmp/secret-dest.yaml --context=cluster-dev" echo "" echo " Ou utilisez le script :" echo " ./scripts/sync-tls-secret.sh homarr-dev-tls cluster-ops certificates-ops cluster-dev homarr-dev" fi restartPolicy: Never backoffLimit: 3