Add Kubernetes/K3s deployment manifests and documentation
- Complete k8s manifests with Kustomize support - Production and staging overlays - ConfigMap/Secret management - Ingress with TLS (Traefik/NGINX) - Persistent storage for SQLite - Comprehensive k8s README with operations guide - Updated main README with k8s deployment instructions - Gitignore for k8s secrets Usage: kubectl apply -k k8s/overlays/production
This commit is contained in:
42
README.md
42
README.md
@@ -77,9 +77,11 @@ TRUSTED_PROXIES=10.0.0.0/8,172.16.0.0/12
|
||||
|
||||
### Deployment
|
||||
|
||||
#### Docker Compose (Recommended for single node)
|
||||
|
||||
```bash
|
||||
# Clone and start
|
||||
git clone <repo>
|
||||
git clone https://git.dws.rip/DWS/dyn.git
|
||||
cd dyn
|
||||
docker-compose up -d
|
||||
|
||||
@@ -90,6 +92,44 @@ docker-compose logs -f
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
#### Kubernetes / K3s
|
||||
|
||||
For production deployments on Kubernetes or K3s clusters:
|
||||
|
||||
```bash
|
||||
# Clone repository
|
||||
git clone https://git.dws.rip/DWS/dyn.git
|
||||
cd dyn
|
||||
|
||||
# Create your secrets file
|
||||
cp k8s/overlays/production/secrets.example.yaml k8s/overlays/production/secrets.yaml
|
||||
# Edit secrets.yaml with your actual Technitium credentials
|
||||
|
||||
# Deploy with kustomize
|
||||
kubectl apply -k k8s/overlays/production
|
||||
|
||||
# Or with kubectl 1.14+ (built-in kustomize)
|
||||
kubectl apply -k k8s/overlays/production
|
||||
|
||||
# Check deployment status
|
||||
kubectl get pods -n dyn-ddns
|
||||
kubectl logs -n dyn-ddns -l app=dyn-ddns
|
||||
|
||||
# Delete deployment
|
||||
kubectl delete -k k8s/overlays/production
|
||||
```
|
||||
|
||||
**Kustomize Overlays:**
|
||||
- `k8s/overlays/production` - Production setup (2 replicas, higher resource limits)
|
||||
- `k8s/overlays/staging` - Staging environment (1 replica, relaxed rate limits)
|
||||
|
||||
**Requirements:**
|
||||
- Cert-manager (for TLS certificates via Let's Encrypt)
|
||||
- Traefik or NGINX ingress controller
|
||||
- Persistent storage class (for SQLite database)
|
||||
|
||||
See [k8s/README.md](k8s/README.md) for detailed Kubernetes deployment documentation.
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### Web UI
|
||||
|
||||
Reference in New Issue
Block a user