#!/bin/bash set -e echo "Deploying APRS.me to cluster at 204.110.191.2" # Use homelab context kubectl config use-context admin@home # Create namespace echo "Creating namespace..." kubectl apply -f namespace.yaml --validate=false # Deploy PostgreSQL with PostGIS echo "Deploying PostgreSQL 17 with PostGIS..." kubectl apply -f postgres-secret-secure.yaml --validate=false kubectl apply -f postgres-deployment.yaml --validate=false # Wait for PostgreSQL to be ready echo "Waiting for PostgreSQL to be ready..." kubectl wait --for=condition=ready pod -l app=postgres-aprs -n aprs --timeout=300s # Deploy APRS.me echo "Deploying APRS.me application..." kubectl apply -f aprs-secret-secure.yaml --validate=false kubectl apply -f aprs-configmap.yaml --validate=false kubectl apply -f aprs-rbac.yaml --validate=false kubectl apply -f aprs-statefulset-with-pullsecret.yaml --validate=false # Deploy Traefik ingress echo "Deploying Traefik ingress..." kubectl apply -f aprs-ingressroute.yaml --validate=false echo "Deployment complete!" echo "" echo "To check status:" echo "kubectl get pods -n aprs" echo "" echo "To get the LoadBalancer IP:" echo "kubectl get svc aprs -n aprs" echo "" echo "Remember to:" echo "1. Create GitHub image pull secret: ./create-image-pull-secret.sh " echo "2. Access the application at: https://aprs.me" echo "3. DNS points to 204.110.191.2 (Traefik ingress)"