57 lines
No EOL
1.9 KiB
Markdown
57 lines
No EOL
1.9 KiB
Markdown
# APRS.me Deployment
|
|
|
|
APRS.me amateur radio tracking application deployed on k3s cluster at 204.110.191.2.
|
|
|
|
## Architecture
|
|
|
|
- **Application**: 2-replica StatefulSet with Erlang clustering
|
|
- **Database**: PostgreSQL 17 with PostGIS extension (100GB Longhorn storage)
|
|
- **Cache**: Redis for job queuing and caching
|
|
- **Ingress**: Traefik with cert-manager for SSL (Let's Encrypt)
|
|
- **Access**: https://aprs.me (DNS points to 204.110.191.3)
|
|
|
|
## Prerequisites
|
|
|
|
1. GitHub container registry access for `ghcr.io/aprsme/aprs.me:latest`
|
|
- Create a GitHub personal access token with `read:packages` scope
|
|
- Run: `./create-image-pull-secret.sh <username> <token>`
|
|
|
|
## Deployment
|
|
|
|
```bash
|
|
# Deploy everything
|
|
./deploy.sh
|
|
|
|
# Check status
|
|
kubectl get pods -n aprs
|
|
kubectl get certificate -n aprs
|
|
kubectl get ingressroute -n aprs
|
|
```
|
|
|
|
## Files
|
|
|
|
- `namespace.yaml` - APRS namespace
|
|
- `postgres-secret-secure.yaml` - PostgreSQL credentials (secured)
|
|
- `postgres-deployment.yaml` - PostgreSQL 17 with PostGIS StatefulSet
|
|
- `redis.yaml` - Redis cache deployment
|
|
- `aprs-secret-secure.yaml` - Application secrets (secured)
|
|
- `aprs-configmap.yaml` - APRS configuration (callsign, server, etc.)
|
|
- `aprs-rbac.yaml` - Service account and permissions for clustering
|
|
- `aprs-statefulset-with-pullsecret.yaml` - APRS application StatefulSet
|
|
- `aprs-ingressroute.yaml` - Traefik ingress with SSL certificate
|
|
- `create-image-pull-secret.sh` - Helper to create GitHub image pull secret
|
|
- `deploy.sh` - Deployment script
|
|
|
|
## Configuration
|
|
|
|
- **APRS Callsign**: W5ISP-2
|
|
- **APRS Server**: dallas.aprs2.net:10152
|
|
- **Filter**: r/33/-96/1000000000000
|
|
- **Passcode**: 15748
|
|
- **LoadBalancer IP**: 10.0.101.32 (internal)
|
|
- **Public Access**: https://aprs.me via Traefik at 204.110.191.3
|
|
|
|
## Secrets
|
|
|
|
All passwords have been generated securely and stored in `*-secure.yaml` files.
|
|
Do not commit these files to version control. |