docs: sync infrastructure docs with actual running state

- Fix direnv path typo in AGENTS.md (servers/servers → servers)
- Correct Prometheus/Alertmanager as internal-only (no public ingresses)
- Add Alloy public URL (alloy.neuralplatform.ai)
- Add external-secrets namespace to namespaces table
- Add contexthub org to Gitea orgs list
- Document Gitea SSH config (Host gitea → 192.168.68.77:30022)
- Specify GPU model: GTX 1660 Ti 6GB
- Add devpi to Legion README services table
This commit is contained in:
Will Anderson
2026-03-25 15:59:12 -05:00
parent b7f8d70fd3
commit e19cadf971
2 changed files with 22 additions and 7 deletions
+20 -6
View File
@@ -26,7 +26,7 @@ Legion runs all production services: k3s, Postgres, Redis, Ollama (GPU), Docker
set -a; source ~/Secrets/credentials/infrastructure.env; set +a
# Or with direnv (auto-loads in legion/ directory):
cd ~/Development/infrastructure/servers/servers/legion/
cd ~/Development/infrastructure/servers/legion/
# direnv auto-sources infrastructure.env
# Friendly alias (after sourcing infrastructure.env):
@@ -156,9 +156,9 @@ Push to main → Argo CD syncs within ~30 seconds.
| Registry UI | https://docker.neuralplatform.ai | Docker registry browser |
| Headscale VPN | https://vpn.neuralplatform.ai | Tailscale control plane (direct TLS, not CF-proxied) |
| Grafana | https://grafana.neuralplatform.ai | Metrics + logs dashboards |
| Prometheus | https://prometheus.neuralplatform.ai | Metrics (kube-prometheus-stack) |
| Alertmanager | https://alertmanager.neuralplatform.ai | Alert routing → Slack |
| Alloy | | OTLP ingest for Loki/Tempo (internal only) |
| Prometheus | | Metrics (kube-prometheus-stack, internal only) |
| Alertmanager | | Alert routing → Slack (internal only) |
| Alloy | https://alloy.neuralplatform.ai | OTLP ingest for Loki/Tempo |
### VPN (Headscale / Tailscale)
@@ -168,9 +168,21 @@ Headscale runs at `vpn.neuralplatform.ai` (DNS-only, no CF proxy — required fo
| Service | Port | Notes |
|---------|------|-------|
| Gitea SSH | 30022 | `git@192.168.68.77:30022` |
| Gitea SSH | 30022 | `git@gitea:org/repo.git` (via `Host gitea` SSH config) |
| Ollama API | 31434 | `http://192.168.68.77:31434` |
### Gitea SSH config (Mac `~/.ssh/config`)
```
Host gitea
HostName 192.168.68.77
Port 30022
User git
IdentityFile ~/.ssh/id_ed25519
```
Use for git remotes: `git@gitea:will/infrastructure.git`. Works on LAN and over Headscale VPN.
---
## Access Patterns
@@ -234,10 +246,11 @@ ssh legion "curl -s -H 'Authorization: token $TOKEN' http://10.43.1.53:3000/api/
**GitHub** (`github.com/harmonic-framework`) — open-source, CI runners, public-facing
**Gitea** (`git.neuralplatform.ai`) — private/infra, three orgs:
**Gitea** (`git.neuralplatform.ai`) — private/infra, four orgs:
- `will` — personal infra (`will/infrastructure`)
- `neural-platform` — platform projects (`neural-platform/neuron`, `neural-platform/prism`)
- `harmonic-framework` — org site/assets (`harmonic-framework/harmonic-framework.com`)
- `contexthub` — archived reference repos (ContextHub, shut down 2021)
Runner labels: `self-hosted,linux,x64,legion`
@@ -260,6 +273,7 @@ Runner labels: `self-hosted,linux,x64,legion`
| `vault` | HashiCorp Vault |
| `argocd` | Argo CD |
| `cert-manager` | cert-manager (Let's Encrypt via HTTP-01) |
| `external-secrets` | External Secrets Operator — syncs Vault secrets → k8s Secrets |
---
+2 -1
View File
@@ -16,6 +16,7 @@ Ubuntu 24.04 home server running k3s. Hosts all personal and platform infrastruc
| Gitea | https://git.neuralplatform.ai | Self-hosted Git — all repos live here |
| GitHub Actions Runner | — | Runs CI jobs from harmonic-framework org |
| Verdaccio | https://npm.neuralplatform.ai | Private npm registry |
| devpi | https://pypi.neuralplatform.ai | Private PyPI registry |
### Platform
| Service | URL | What it does |
@@ -90,7 +91,7 @@ ddclient keeps the `dot.nook.family` A record updated if the home IP changes.
## GPU
Legion has an NVIDIA GPU. k3s is configured to use it as the default container runtime. Ollama uses it for local inference.
Legion has an NVIDIA GeForce GTX 1660 Ti (6GB VRAM). k3s is configured to use it as the default container runtime. Ollama uses it for local inference.
```bash
kubectl describe node legion | grep nvidia.com/gpu