43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
# Network map
|
|||
|
|
|
||
|
|
Every real IP address this cluster hands out, and exactly what's reachable
|
||
|
|
there. This file isn't a template with the rest of the repo — it's a log
|
||
|
|
of *your* actual setup, meant to be updated every time an address is
|
||
|
|
assigned or changed, so you (or Claude) never have to reverse-engineer
|
||
|
|
"wait, what's running on .241 again?" from `kubectl` output.
|
||
|
|
|
||
|
|
> **Keep this current.** If you're working with Claude and an IP changes —
|
||
|
|
> a new app gets a `LoadBalancer` address, the MetalLB pool is resized,
|
||
|
|
> Argo CD's address changes — ask it to update this file, or just point it
|
||
|
|
> here after any networking change. See `CLAUDE.md` for the standing
|
||
|
|
> instruction that tells Claude to do this on its own when it makes such a
|
||
|
|
> change itself.
|
||
|
|
|
||
|
|
## MetalLB pool
|
||
|
|
|
||
|
|
| | |
|
||
|
|
|---|---|
|
||
|
|
| Range | `EDIT ME — e.g. 192.168.1.240-192.168.1.250` |
|
||
|
|
| Configured in | [`apps/metallb/templates/ipaddresspool.yaml`](../apps/metallb/templates/ipaddresspool.yaml) |
|
||
|
|
|
||
|
|
## Allocated addresses
|
||
|
|
|
||
|
|
| Address | What | Namespace | Port(s) | URL | Source |
|
||
|
|
|---|---|---|---|---|---|
|
||
|
|
| `<NODE_IP>` | Talos node — Kubernetes API server | — | 6443 | `https://<NODE_IP>:6443` | Not from the MetalLB pool — the node's own address, set in [`talos/README.md`](../talos/README.md) |
|
||
|
|
| `EDIT ME` | Argo CD UI/API (`argocd-server`) | `argocd` | 443 | `https://EDIT ME` | Patched to `LoadBalancer` by hand — see [`docs/05-metallb.md`](05-metallb.md) |
|
||
|
|
| `EDIT ME` | Demo app | `demo` | 80 | `http://EDIT ME` | [`apps/demo/service.yaml`](../apps/demo/service.yaml) |
|
||
|
|
|
||
|
|
Add a row here every time you add a new app with a `LoadBalancer` Service
|
||
|
|
(see [`docs/07-adding-new-apps.md`](07-adding-new-apps.md)). Leave the URL
|
||
|
|
column's port number off only when it's the protocol default (80 for
|
||
|
|
`http://`, 443 for `https://`) — include it otherwise.
|
||
|
|
|
||
|
|
## Free in the pool
|
||
|
|
|
||
|
|
Addresses from the range above that aren't spoken for yet. Update this
|
||
|
|
alongside the table above so it's obvious at a glance what's safe to hand
|
||
|
|
to the next app.
|
||
|
|
|
||
|
|
- `EDIT ME`
|