Files
inception-of-things/p3/scripts/argo-install.sh
dyn 52c6eeb443 🔨 chore: fixup whatever i did
Signed-off-by: dyn <oss+dyn@xtrm.me>
2025-12-17 11:11:20 +01:00

46 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env sh
k3d cluster create inception-of-things
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
echo ArgoCD is starting...
kubectl wait --namespace argocd \
--for=condition=ready pod \
--selector=app.kubernetes.io/name=argocd-server \
--timeout=300s \
1>/dev/null 2>/dev/null
kubectl port-forward svc/argocd-server -n argocd 8080:443 1>/dev/null 2>/dev/null &
echo 'ArgoCD is running'
SCRIPT_PATH="$(realpath "${BASH_SOURCE[0]}")"
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"
kubectl create namespace dev
kubectl apply -n argocd -f "$SCRIPT_DIR/../confs/argocd-app.yml"
echo 'App is starting...'
kubectl wait --namespace dev \
--for=condition=ready pod \
--selector=app.kubernetes.io/name=app-deployment \
--timeout=300s
echo 'App imported in ArgoCD'
TRAEFIK_IP=$(kubectl get service -n kube-system traefik -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo Traefik ip is : $TRAEFIK_IP
if grep -q argo-app.com /etc/hosts; then
sudo sed -i "/argo-app.com/d" /etc/hosts
fi
echo "$TRAEFIK_IP argo-app.com" | sudo tee -a "/etc/hosts"
echo App is now reachable at argo-app.com
echo
echo "=== Login into ArgoCD with: ==="
echo Username: admin
ADMIN_PASS=$(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d)
echo Password: \'$ADMIN_PASS\'
echo "==============================="