Gitea CI
3d739b6c5b
chore(neuron): deploy 539fc9e7f333dfa0cd31772fc09a976b3079090c to alpha
2026-04-23 19:30:27 +00:00
Will Anderson
a8ef7e1782
feat(neuron): set NEURON_SERVER_NAME per slot so each advertises a unique MCP identity
2026-04-23 14:27:03 -05:00
Will Anderson
cc4db4dc11
feat(neuron): gamma zone, all-slot ingress, snapshot job, self-improvement loop script
2026-04-23 13:57:13 -05:00
Gitea CI
a9758b6eda
chore(neuron): deploy 7d29e699c061c3cdb907fc2326b67ad6601298a9 to alpha
2026-04-23 18:51:52 +00:00
Will Anderson
27b4b1e066
feat(neuron): add alpha slot + lb Service; standardize all slots to port 8001
2026-04-23 13:47:21 -05:00
Gitea CI
6dd67730b7
chore(neuron): deploy bddce6b2bd11428efe3eac0dcb269da5490014c4
2026-04-23 18:36:29 +00:00
Will Anderson
882c4a79d4
feat(neuron): add neuron-beta deployment on port 8002 with separate PVC
2026-04-23 13:34:55 -05:00
Will Anderson
60d0d81144
chore(ci-runner): roll pod to pick up NodePort URL from updated secret
2026-04-23 13:16:18 -05:00
Will Anderson
39808ab964
fix(ci-runner): add extra_hosts for cluster DNS in CI Docker containers
2026-04-23 12:50:53 -05:00
Will Anderson
5a62077b99
fix(gitea): allow unauthenticated API ping for runner registration
2026-04-23 12:43:47 -05:00
Will Anderson
095d874552
Remove docuseal-old temp instance
2026-04-21 18:15:49 -05:00
Will Anderson
0cbb06660a
Add temporary docuseal-old at sign.neuralplatform.ai for license transfer
2026-04-21 17:33:40 -05:00
Will Anderson
d40fb8c3f1
Add Docuseal e-signature service at sign.neuralplatform.ai
...
- k8s manifests: Deployment, Service, PVC, Ingress, ExternalSecret
- Argo CD app watching servers/legion/k8s/docuseal
- CF tunnel ingress rule for sign.neuralplatform.ai
- Vault secret at secret/docuseal (secret_key_base seeded)
2026-04-21 14:26:01 -05:00
Will Anderson
3b3811942c
Update Legion LAN IP from 192.168.68.77 to 192.168.8.148
...
Static IP assigned on new network segment. Updates:
- variables.tf default legion_ip
- headscale nameserver config
- bootstrap.sh default target
- README/RUNBOOK documentation
- media ingress comment
2026-04-21 10:32:39 -05:00
Gitea CI
26c7d2259e
chore(neuron): deploy efc982c605cacc6929f29382f293e2a2d4a4cf95
2026-04-18 20:28:36 +00:00
Will Anderson
193bea7f3f
fix(neuron): add ephemeral-storage limits to prevent eviction cascade
2026-04-17 09:59:21 -05:00
Will Anderson
1b8ea63541
feat(neuron): add stage and prod k8s manifests + Argo CD apps
...
Completes the three-env setup (dev was added previously). Each env has
deployments, services, ingress, PVC, ConfigMap, and ExternalSecret pulling
from Vault. Prod has larger resource limits and 10Gi PVC. Vault secret at
secret/neuron-technologies/prod seeded separately.
2026-04-17 09:43:23 -05:00
Will Anderson
912e129e0d
feat(neuron-dev): add k8s manifests and Argo CD app for neuron-technologies dev environment
2026-04-17 08:46:47 -05:00
Will Anderson
ad2a1db3e2
Remove conflicting fornax-worker Argo CD apps — media app is sole owner
...
The fornax-worker-tx253 and fornax-worker-tx34 Argo CD apps were fighting
the media app (which also manages the same Deployments, Services, PVCs,
and ExternalSecrets via fornax-workers.yaml). This caused 73+ rolling
restarts per 2 hours. Since neither app had a cascade-delete finalizer,
removing these Application CRDs leaves existing resources intact and
transfers ownership to the media app.
2026-04-14 22:25:25 -05:00
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