Files
2026-04-27 19:36:39 -05:00

50 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
echo "=== 1. Verifying rootless podman ==="
PODMAN_USER=$(whoami)
if ! loginctl show-user ${PODMAN_USER} | grep -q "Linger=yes"; then
echo "Error: Linger is not enabled for user ${PODMAN_USER}"
exit 1
fi
echo "=== 2. Ansible: WireGuard ==="
ansible-playbook -i ansible/inventory.yml ansible/wireguard.yml
echo "Client configs generated at: $(realpath ./ansible/../generated/clients)"
echo "Please securely copy these to your client devices."
echo "=== 3. Verify wg0 ==="
if ! wg show wg0 >/dev/null 2>&1; then
echo "Error: wg0 interface is not up"
exit 1
fi
echo "=== 4. Ansible: Networks ==="
ansible-playbook -i ansible/inventory.yml ansible/networks.yml
echo "=== 5. Materialize .env ==="
gcloud secrets versions access latest --secret=admin-env > .env
chmod 600 .env
echo "=== 6. Materialize Caddy SA Key ==="
mkdir -p ./secrets
gcloud secrets versions access latest --secret=admin-caddy-dns-sa-key > ./secrets/caddy-dns-sa.json
chmod 600 ./secrets/caddy-dns-sa.json
echo "=== 7. Podman Compose Build ==="
podman compose build
echo "=== 8. Podman Compose Pull ==="
podman compose pull
echo "=== 9. Podman Compose Up ==="
podman compose up -d
echo "=== 10. Wait for services ==="
echo "Waiting up to 120s for services to become healthy..."
sleep 10 # Let them start
echo "=== 11. Verify ==="
./scripts/verify.sh