46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Script pour patcher le projet ArgoCD 'dev' pour autoriser les Endpoints et le repository
|
|
|
|
set -e
|
|
|
|
NAMESPACE="${1:-argocd-ops}"
|
|
PROJECT="${2:-dev}"
|
|
|
|
echo "=== Patch du projet ArgoCD '$PROJECT' ==="
|
|
echo "Namespace: $NAMESPACE"
|
|
echo ""
|
|
|
|
# Vérifier que le projet existe
|
|
if ! kubectl get appproject "$PROJECT" -n "$NAMESPACE" &>/dev/null; then
|
|
echo "❌ Erreur: Le projet '$PROJECT' n'existe pas dans '$NAMESPACE'"
|
|
exit 1
|
|
fi
|
|
|
|
echo "📋 Configuration actuelle du projet:"
|
|
kubectl get appproject "$PROJECT" -n "$NAMESPACE" -o jsonpath='{.spec}' | jq . 2>/dev/null || kubectl get appproject "$PROJECT" -n "$NAMESPACE" -o yaml | grep -A 20 "^spec:"
|
|
echo ""
|
|
|
|
# Patcher le projet
|
|
echo "🔧 Application du patch..."
|
|
kubectl patch appproject "$PROJECT" -n "$NAMESPACE" --type merge -p '
|
|
{
|
|
"spec": {
|
|
"sourceRepos": ["https://git.gkdomaine.fr/kubernetes/argocd.git", "*"],
|
|
"namespaceResourceWhitelist": [
|
|
{
|
|
"group": "",
|
|
"kind": "Endpoints"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
'
|
|
|
|
echo ""
|
|
echo "✅ Patch appliqué avec succès !"
|
|
echo ""
|
|
echo "📋 Vérification:"
|
|
kubectl get appproject "$PROJECT" -n "$NAMESPACE" -o jsonpath='{.spec.sourceRepos}' && echo ""
|
|
kubectl get appproject "$PROJECT" -n "$NAMESPACE" -o jsonpath='{.spec.namespaceResourceWhitelist}' && echo ""
|
|
|