44 lines
1.4 KiB
Bash
Executable file
44 lines
1.4 KiB
Bash
Executable file
#!/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 <username> <token>"
|
|
echo "2. Access the application at: https://aprs.me"
|
|
echo "3. DNS points to 204.110.191.2 (Traefik ingress)"
|