Files
argocd/helm/.tls-secrets-sync/ops/templates/sync-job-homarr-dev.yaml

67 lines
2.6 KiB
YAML

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