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