Files
infrastructure/servers/legion/apps/fornax.yaml
T
Will Anderson bdba692db2 Fornax: COORDINATOR_URL env, port-lease webhook, Grafana dashboard
- Worker deployment: add COORDINATOR_URL and WORKER_ID env vars to
  portforward-helper; webhook calls coordinator /api/v2/workers/:id/port-lease
  after each NAT-PMP renewal so coordinator tracks current forwarded port
- Worker overlays: patch WORKER_ID env var to actual worker ID (tx253/tx34)
- Grafana: fornax-grafana Argo CD app pointing to k8s/fornax/grafana/
  ConfigMap with grafana_dashboard=1 label for auto-discovery by sidecar;
  7 panels covering bandwidth, active torrents, worker health, request rate,
  and error rate
2026-04-14 05:30:01 +00:00

88 lines
2.2 KiB
YAML

# Fornax coordinator — qBittorrent-compatible torrent distribution coordinator
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fornax-coordinator
namespace: argocd
spec:
project: default
source:
repoURL: http://10.43.1.53:3000/will/infrastructure.git
targetRevision: main
path: servers/legion/k8s/fornax/coordinator
destination:
server: https://kubernetes.default.svc
namespace: media
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
---
# Fornax worker tx253 — gluetun (ProtonVPN) + qBittorrent worker
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fornax-worker-tx253
namespace: argocd
spec:
project: default
source:
repoURL: http://10.43.1.53:3000/will/infrastructure.git
targetRevision: main
path: servers/legion/k8s/fornax/worker/overlays/worker-tx253
destination:
server: https://kubernetes.default.svc
namespace: media
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
---
# Fornax worker tx34 — gluetun (ProtonVPN) + qBittorrent worker
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fornax-worker-tx34
namespace: argocd
spec:
project: default
source:
repoURL: http://10.43.1.53:3000/will/infrastructure.git
targetRevision: main
path: servers/legion/k8s/fornax/worker/overlays/worker-tx34
destination:
server: https://kubernetes.default.svc
namespace: media
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
---
# Fornax Grafana dashboard — auto-discovered by Grafana sidecar (grafana_dashboard=1)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fornax-grafana
namespace: argocd
spec:
project: default
source:
repoURL: http://10.43.1.53:3000/will/infrastructure.git
targetRevision: main
path: servers/legion/k8s/fornax/grafana
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true