Commit Graph

70 Commits

Author SHA1 Message Date
Will Anderson 4f406e13c9 add fornax-ui Argo CD application
Deploys fornax/ui:latest (nginx serving React SPA) to the media
namespace. Image is now pushed by the fornax CI pipeline.
2026-04-14 12:48:42 -05:00
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
Will Anderson 180fb91c95 add fornax coordinator and worker k8s manifests 2026-04-13 23:57:22 +00:00
Gitea CI 0aa1f4333c chore(neuron): deploy e102af6f86599361b911a2e7e5aa0ec737b54527 2026-04-12 19:58:46 +00:00
Gitea CI e1c15205e3 chore(neuron): deploy 61e9d262595be44c6d7956e41f8a9f275c482678 2026-04-12 16:27:34 +00:00
Gitea CI f91a25fd83 chore(neuron): deploy 0091ebfaa13ef4c58d3a88b3bb3be144ea0a2d9c 2026-04-12 16:18:28 +00:00
Will Anderson 6a9da6d900 Fix media app: use internal Gitea URL for Argo CD 2026-04-10 22:50:51 -05:00
Will Anderson ba99111753 Add media stack: Plex, Radarr, Sonarr, Prowlarr, qBittorrent, Bazarr, Overseerr
- Namespace: media (created via Terraform)
- Storage: hostPath PV at /media on Legion (movies, tv/shows, tv/anime, downloads)
- VPN: gluetun sidecar with ProtonVPN WireGuard (US-TX#253), all torrent traffic tunneled
- Radarr: movie automation with /media/movies root
- Sonarr: TV/anime automation with /media/tv/{shows,anime} roots
- Prowlarr: indexer aggregator (YTS, 1337x, Nyaa for anime)
- qBittorrent: torrent client, network namespaced behind gluetun VPN
- Bazarr: automatic subtitle downloads (connects to Radarr + Sonarr)
- Overseerr: family request portal at watch.nook.family
- Plex: media server at plex.nook.family
2026-04-10 22:50:13 -05:00
Will Anderson 78c1c9750f Add Memos journaling app at journal.neuralplatform.ai 2026-04-08 15:46:10 -05:00
Gitea CI 54b2abf767 chore(neuron): deploy d97b23808e953dccf35d784c47ca003d74bcda61 2026-04-06 14:01:48 +00:00
Gitea CI 937e138f7d chore(neuron): deploy d3d72a5adbdddfd6c18ae674c921469d410dc7da 2026-04-06 13:44:50 +00:00
Gitea CI 55f4eab6ae chore(neuron): deploy bf185a6b19bfce25a3c67d4d13fa4e39b6fc6685 2026-04-06 13:38:05 +00:00
Will Anderson 3ba1bf5c08 fix: neuron probes — use tcpSocket, /mcp returns 406 on plain GET 2026-04-06 04:17:11 -05:00
Will Anderson c138982fcf fix: neuron health probes — /health 404, use /mcp endpoint 2026-04-06 04:14:51 -05:00
Gitea CI 49b5604860 chore(neuron): deploy 2476e1167826cf320375143c09e94852b4330114 2026-04-06 07:54:36 +00:00
Will Anderson bf40bd7f15 feat: add Listmonk newsletter platform on Legion k3s
- Namespace, ExternalSecrets (Vault), DB init job, deployment, service, PVC, ingress
- Routes newsletter.harmonic-framework.com via existing Cloudflare tunnel
- Uses shared platform postgres with dedicated listmonk DB/user
- Credentials stored at secret/data/listmonk in Vault
2026-04-04 18:43:44 -05:00
Will Anderson 6b546b6168 ci: bump runner pod to pick up valid_volumes config change 2026-04-04 10:27:06 -05:00
Will Anderson f3898d4c8e ci: allow /var/run/docker.sock as valid volume for Docker builds 2026-04-04 10:24:37 -05:00
Will Anderson 82ed0eb10b feat: add Redpanda and wp-deploy-coordinator to Legion
- Redpanda single-node StatefulSet in platform namespace
- wp-coordinator deployment consuming wp.deploy topic
- RBAC for coordinator to exec into harmonic-wordpress pods
- R2 credentials via ExternalSecret (no SSH key needed on coordinator)
- Sites config as ConfigMap — add new WP sites without code changes
2026-04-04 10:18:09 -05:00
Will Anderson 6a9db2094e feat: add harmonic-wordpress dev environment on Legion
- Add harmonic-wordpress namespace
- WordPress + MySQL deployment with PVCs and ExternalSecrets
- Ingress for dev.harmonic-framework.com via Traefik + cert-manager
- Argo CD Application watching k8s/harmonic-wordpress/
- Add public Gitea repo credential for git.neuralplatform.ai
2026-04-04 09:47:41 -05:00
Gitea CI b23dc7a5c5 chore(neuron): deploy 3527a5c04037f8f2d24b67c9eab2c507e97b873c 2026-03-30 01:11:02 +00:00
Gitea CI e4d209ac03 chore(neuron): deploy 56718f795b875bfecf263d5f3a6c36beee665b6b 2026-03-30 00:58:15 +00:00
Gitea CI 4515fd7fba chore(neuron): deploy 9c86e158a5c45c5006da23a7bb7d826d0bbca8b3 2026-03-30 00:19:18 +00:00
Will Anderson 1cf47477d3 Add MUDCraft Minecraft server infrastructure
- Purpur 1.21.4 server via itzg/docker-minecraft-server (java21)
- StatefulSet with 3 PVCs: worlds (20Gi), plugins (5Gi), logs (5Gi)
- Aikar G1GC JVM flags, 6GB heap (sized for Legion's 15GB RAM)
- Postgres: mudcraft database + user in existing platform/postgres
- RCON secret + DB password via ExternalSecret → Vault
- Traefik TCP entrypoint on port 25565 for mudcraft.nook.family
- mudcraft namespace via Terraform
- Argo CD app watching k8s/mudcraft/
2026-03-29 18:17:48 -05:00
Gitea CI 9161ab0104 chore(neuron): deploy bc7035d932d72112ebd5bb7c0c20f7ff8b7c9a04 2026-03-27 16:31:42 +00:00
Gitea CI fda9a9d9fb chore(neuron): deploy 2e06323389bd37eaabb5c0fa3bae72fa6a3459d0 2026-03-27 16:15:57 +00:00
Gitea CI e510207857 chore(neuron): deploy 56e092b61e9eb1b92ba753c0ba17914212ad58af 2026-03-27 16:05:11 +00:00
Gitea CI 58448a445f chore(neuron): deploy 87b0bad5c66abf7218dd51319d23eea3d1bfbd29 2026-03-27 16:00:05 +00:00
Gitea CI ff2b9238fd chore(neuron): deploy 8e87d7057235151e430bbc78015732f463d6d323 2026-03-27 15:51:49 +00:00
Gitea CI f78b9b0d75 chore(neuron): deploy c8eeba5783de3f388ed0266d850fc0b26db219fd 2026-03-27 15:39:40 +00:00
Will Anderson 485e09532e scale down github-runner — no longer needed 2026-03-27 10:38:33 -05:00
Gitea CI 7a53d14cf0 chore(neuron): deploy d69b7bf14a8b641c5685adc3171e7acf9b3b7112 2026-03-27 14:36:29 +00:00
Will Anderson 076b3562f0 ci: map runner labels to ci-base image via docker:// scheme 2026-03-26 13:39:25 -05:00
Will Anderson aff34f061f ci: set default_image to ci-base so all jobs get full tooling 2026-03-26 13:17:19 -05:00
Will Anderson a40897fd5d ci: add ubuntu-latest, ubuntu-24.04 labels to runner 2026-03-26 12:48:38 -05:00
Will Anderson db08c5a208 ci: set runner default_image to ubuntu:24.04
Replace pantheon-ci:latest (custom, potentially stale) with ubuntu:24.04
as the fallback container for jobs that don't specify container:.
2026-03-26 11:41:55 -05:00
Will Anderson 9595a18f3a refactor: rebase CI runner on Ubuntu 24.04, rename to ci-base
Replace Alpine-based legion-runner with a minimal Ubuntu 24.04 image.
The act_runner binary is copied from the official image via multi-stage
build. Job-specific tooling (Ruby, Node, Python, etc.) belongs in
per-job container images specified via container: in workflows, not
in the base runner image.

Rename: legion-runner → ci-base
2026-03-26 11:32:52 -05:00
Will Anderson 206873e83b fix: set DEFAULT_ACTIONS_URL to Forgejo action mirrors
code.forgejo.org maintains up-to-date mirrors of common GitHub Actions
(checkout, upload-artifact, etc.) and is the recommended source for
Gitea Actions runners.
2026-03-26 11:06:43 -05:00
Will Anderson 8425f0988c fix: set Gitea DEFAULT_ACTIONS_URL to self
https://gitea.com is no longer a valid value in Gitea 1.25 — causes
startup crash. Use 'self' to point action references at this instance.
2026-03-26 10:41:54 -05:00
Will Anderson d8f2c822f8 fix: DEFAULT_ACTIONS_URL must be a full URL, not 'gitea' 2026-03-26 10:36:31 -05:00
Will Anderson f3477ac102 ci: fix gitea runner URL and set DEFAULT_ACTIONS_URL
- external-secrets.yaml: GITEA_INSTANCE_URL changed from cluster-internal
  URL to https://git.neuralplatform.ai so runner can register externally
- gitea.yaml: add GITEA__actions__DEFAULT_ACTIONS_URL=gitea so all
  actions/* references resolve from gitea.com, not github.com
- Dockerfile: track runner image (Python 3.12 + build deps) in repo
2026-03-26 10:35:13 -05:00
Will Anderson 737fb27a5c gitea-runner: use lean legion-runner base image 2026-03-26 08:01:41 -05:00
Will Anderson 5f984e1fc2 gitea-runner: revert to pantheon-runner (container: directive unsupported in host mode) 2026-03-26 07:53:48 -05:00
Will Anderson 4e9d3287d4 gitea-runner: use lean legion-runner base image 2026-03-26 07:51:21 -05:00
Will Anderson f409c06e65 gitea-runner: use pantheon-runner image (act_runner + all CI tools) 2026-03-25 20:39:32 -05:00
Will Anderson 08d4ab1d72 gitea-runner: set default_image in container config to use pantheon-ci for all jobs 2026-03-25 20:37:17 -05:00
Will Anderson d5c5d753c7 ci: use custom pantheon-ci image; fix registry 413 with Traefik buffering middleware 2026-03-25 20:36:20 -05:00
Will Anderson ebb42a6dd2 gitea-runner: switch to native host execution with Legion tool mounts 2026-03-25 20:27:58 -05:00
Will Anderson 672a890659 upgrade gitea 1.23 → 1.25.5 2026-03-25 20:22:54 -05:00
Will Anderson 35055ec783 upgrade gitea to 1.23 2026-03-25 20:04:05 -05:00