From e0310339ee2575274899caf9758888e9fbbc9286 Mon Sep 17 00:00:00 2001 From: Username Date: Sun, 18 Jan 2026 17:07:49 +0100 Subject: [PATCH] docs: update for k3s deployment and harbor.mymx.me --- PROJECT.md | 4 ++-- TODO.md | 2 +- documentation/harbor-registry.md | 2 +- documentation/kubernetes-deployment.md | 22 +++++++++++----------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/PROJECT.md b/PROJECT.md index fa13d1b..0ed60fc 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -152,7 +152,7 @@ A self-hosted pastebin API that: │ CLI register command │ Complete │ systemd deployment │ Complete (security-hardened) │ Test suite │ 301 tests passing -│ Kubernetes deployment │ Complete (NodePort :30500) -│ Harbor registry integration │ Complete (docs only, CI/CD pending) +│ Kubernetes deployment │ Complete (k3s, NodePort :30500) +│ Harbor registry integration │ Complete (CI/CD + Trivy scanning) └─────────────────────────────────┴────────────────────────────────────────────┘ ``` diff --git a/TODO.md b/TODO.md index cfd1b25..f75e475 100644 --- a/TODO.md +++ b/TODO.md @@ -49,7 +49,7 @@ Unstructured intake buffer for ideas, issues, and observations. Items here are r ## Debt -- Could add more deployment examples (Kubernetes, Ansible role) +- Create Ansible deployment role (Kubernetes manifests complete) ## External Dependencies diff --git a/documentation/harbor-registry.md b/documentation/harbor-registry.md index 6f28f18..22db695 100644 --- a/documentation/harbor-registry.md +++ b/documentation/harbor-registry.md @@ -203,7 +203,7 @@ spec: - name: harbor-creds containers: - name: flaskpaste - image: 192.168.122.154:30443/library/flaskpaste:latest + image: harbor.mymx.me/library/flaskpaste:latest ports: - containerPort: 5000 env: diff --git a/documentation/kubernetes-deployment.md b/documentation/kubernetes-deployment.md index fec4d62..2ea8595 100644 --- a/documentation/kubernetes-deployment.md +++ b/documentation/kubernetes-deployment.md @@ -14,11 +14,11 @@ Deploy FlaskPaste to a Kubernetes cluster using images from Harbor registry. │ Internet → odin (public IP) → WireGuard → mymx HAProxy │ │ │ │ │ ↓ │ -│ K8s NodePort :30500 │ +│ K3s NodePort :30500 │ │ │ │ │ ┌──────────┼──────────┐ │ │ ↓ ↓ ↓ │ -│ k8s-master k8s-worker-1 k8s-worker-2 │ +│ k3s-master k3s-worker-1 k3s-worker-2 │ │ │ │ │ │ │ └──────────┼──────────┘ │ │ ↓ │ @@ -152,7 +152,7 @@ spec: - name: harbor-creds containers: - name: flaskpaste - image: 192.168.122.154:30443/library/flaskpaste:latest + image: harbor.mymx.me/library/flaskpaste:latest ports: - containerPort: 5000 envFrom: @@ -170,13 +170,13 @@ spec: cpu: "250m" livenessProbe: httpGet: - path: / + path: /health port: 5000 initialDelaySeconds: 10 periodSeconds: 30 readinessProbe: httpGet: - path: / + path: /health port: 5000 initialDelaySeconds: 5 periodSeconds: 10 @@ -235,10 +235,10 @@ backend backend-flaskpaste # Proxy trust secret http-request set-header X-Proxy-Secret - # K8s NodePort backends with failover - server k8s-master 192.168.122.154:30500 check - server k8s-worker-1 192.168.122.80:30500 check backup - server k8s-worker-2 192.168.122.219:30500 check backup + # K3s NodePort backends with failover + server k3s-master 192.168.122.186:30500 check + server k3s-worker-1 192.168.122.97:30500 check backup + server k3s-worker-2 192.168.122.221:30500 check backup ``` ### Verify HAProxy Backend Status @@ -285,7 +285,7 @@ kubectl scale deployment flaskpaste -n flaskpaste --replicas=3 # Update image kubectl set image deployment/flaskpaste \ -n flaskpaste \ - flaskpaste=192.168.122.154:30443/library/flaskpaste:v2.0.0 + flaskpaste=harbor.mymx.me/library/flaskpaste:v2.0.0 # Watch rollout kubectl rollout status deployment/flaskpaste -n flaskpaste @@ -356,7 +356,7 @@ kubectl get deployment flaskpaste -n flaskpaste -o yaml | grep -A5 Probe ```bash # Test from HAProxy host to NodePort -curl -s http://192.168.122.154:30500/ +curl -s http://192.168.122.186:30500/health # Check HAProxy backend status echo "show stat" | nc -U /run/haproxy/admin.sock | grep -E "flaskpaste.*(UP|DOWN)"