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 |
---