Kubernetes¶
Two separate k8s environments managed by GitOps.
GCP k3s Cluster (Dashecorp)¶
Host: GCP Compute Engine, europe-north1-b (Finland)
Nodes: 1 e2-medium (on-demand) + 2 e2-medium (spot)
GitOps repo: Stig-Johnny/cluster-gitops
Orchestrator: FluxCD
Secrets: SOPS + GCP KMS
IaC: Terraform (terraform/gcp/dashecorp/)
Storage: local-path (aliased as nfs-csi)
Cost: ~$44/month (GCP startup credits, expires Nov 2027)
Migrated 2026-03-27: Dell k3s (Oslo) → GKE Autopilot → GCP spot VMs + FluxCD
What Runs on It¶
| Service | Namespace | Endpoint |
|---|---|---|
| ARC Controller | arc-systems | — |
| ARC Runners (25 scale sets) | arc-runners | Scale 0-3 per repo |
| ATL-E | atl-e | atl-e.dashecorp.com, kanban.dashecorp.com |
| Book-E / Rig Agent Runtime | rig-agent-runtime | book-e.dashecorp.com |
| Metabase | metabase | — |
| ATL-E Postgres | atl-e | — |
ARC Runner Scale Sets¶
22 Stig-Johnny repos (arc-linux-{repo}, 50m listener, scale 0-3):
- MCP repos: totp-mcp, pushbullet-sms-mcp, telegram-notifications-mcp, slack-notifications-mcp, claude-memory-mcp, appstoreconnect-mcp, context-layer-mcp, cutie-mcp, deadline-tracker-mcp, infra-health-mcp, submission-checklist-mcp
- App repos: heart-e, drink-e, count-e, fast-e, star-rewards, nutri-e, cutie
- Other: dashecorp, claude-3, atl-agent, ai-accountant
2 cuti-e repos (arc-linux-ios-sdk, arc-linux-ios-link-sdk)
1 Docker-in-Docker (arc-linux-docker for nutri-e)
Auth: SOPS-encrypted GitHub PAT in dashecorp/secrets/github-pat.yaml
Access¶
# kubectl via kubeconfig
export KUBECONFIG=~/.kube/k3s-gcp-config
kubectl get pods -A
# SSH
gcloud compute ssh invotek-k3s --zone=europe-north1-b --project=invotek-github-infra
# FluxCD status
flux get kustomizations
flux get helmreleases -A
Dell k3s (Decommissioned)¶
The Dell cluster (100.95.212.93) previously ran all Dashecorp workloads. ARC runners and ArgoCD auto-sync have been disabled. The Dell still hosts:
- vCluster Platform (vcluster.invotek.no)
- Legacy starc project