Files
GitOps/scripts/deploy-to-cluster.sh

71 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/bash
set -euo pipefail
# ----
install_cert_manager() {
clear
echo "----------------------------------------"
echo " ⌛ Install Cert-Manager"
echo " ⌛ Install ArgoCD"
echo " ⌛ Setup Sealed Secrets"
echo " ⌛ Finish Setup"
echo "----------------------------------------"
echo "🚀 Installing Cert-Manager..."
kustomize build --enable-helm ../cert-manager/eu-central-1 | kubectl apply -f -
echo "✅ Cert-Manager installed successfully!"
}
# ----
install_argocd() {
clear
echo "----------------------------------------"
echo " ✅ Install Cert-Manager"
echo " ⌛ Install ArgoCD"
echo " ⌛ Setup Sealed Secrets"
echo " ⌛ Finish Setup"
echo "----------------------------------------"
echo "🚀 Installing ArgoCD..."
kustomize build --enable-helm ../argocd/eu-central-1 | kubectl apply --server-side=true -f -
echo "✅ ArgoCD installed successfully!"
}
# ----
install_cert_manager
install_argocd
# Restore sealed-secrets key before ArgoCD syncs so existing SealedSecrets decrypt correctly.
# Export from old cluster first: ./sealed-secrets-key.sh export sealed-secrets-key-backup.yaml
echo "🔑 Restoring sealed-secrets key..."
read -rp "Path to sealed-secrets key backup (leave blank to skip): " KEY_FILE
if [[ -n "$KEY_FILE" ]]; then
./sealed-secrets-key.sh import "$KEY_FILE"
else
echo "⚠️ Skipped. SealedSecrets will fail to decrypt until key is imported."
fi
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
sleep 5s
kubectl apply -f ../eu-central-1/root-apps-app.yaml
echo "📊 Installing Grafana monitoring..."
./metrics-deployment-values.sh
echo "✅ Grafana monitoring installed!"
clear
ARGO_PW=$(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 --decode)
echo "----------------------------------------"
echo " 🎉 Kubernetes local cluster setup complete!"
echo " 🎉 Access ArgoCD at: https://localhost:31443"
echo " 🎉 Default login: admin / $ARGO_PW"
echo "----------------------------------------"