opencode: Permission + Quick-Index + TP-Management-Regel
- opencode.jsonc: permission=allow + mikromcp/pve-mcp/home-assistant/cloudflare MCPs - docs/teilprojekte.md: Quick-Index-Tabelle (22 Zeilen) für 1-Read-Statusbaum - CLAUDE.md: TP-Management-Regel (vorschlagen -> abstimmen -> anlegen)
This commit is contained in:
@@ -12,6 +12,14 @@ für den Einstieg **nicht** nötig. Regel für beide Dateien: **ein TP wandert e
|
||||
mehr daran zu tun ist** — und der **Ist-Stand-Block wird bei jeder Änderung mitgezogen**, nicht nur der
|
||||
betroffene TP-Abschnitt.
|
||||
|
||||
🛠️ **TP-Management (2026-08-26):** Wenn während einer Session ein neues Teilprojekt, eine Abhängigkeit
|
||||
oder ein Querschnittsthema sichtbar wird, das bisher in keinem TP abgebildet ist:
|
||||
- Vorschlagen und mit dir abstimmen (nicht eigenmächtig anlegen).
|
||||
- Auf dein Okay hin anlegen: Quick-Index-Zeile + `### TP<n>`-Abschnitt mit Status `🔜`, Scope,
|
||||
Abhängigkeiten, Abgrenzung. Nächste freie Nummer vergeben (höchste vergebene + 1; Lücken aus
|
||||
verworfenen TPs bleiben frei).
|
||||
- Ist-Stand-Block mitziehen (Datum, betroffene Zeilen).
|
||||
|
||||
---
|
||||
|
||||
## VLAN-Modell (kanonisch)
|
||||
|
||||
@@ -27,11 +27,10 @@ Mgmt (VLAN99, Ist 2026-08-16): core `.99.1` · branch `.99.2` · ap1 `.99.11` ·
|
||||
|
||||
## Ist-Stand (Kurz)
|
||||
|
||||
**Stand 2026-08-18 — live gegen die Geräte geprüft (MikroMCP/REST), nicht aus der Doku abgeschrieben.**
|
||||
**Stand 2026-08-26 — live gegen die Geräte geprüft (MikroMCP/REST), nicht aus der Doku abgeschrieben.**
|
||||
**Die Compliance-Zeile unten ist am 2026-08-23 gegen die Nautobot-API nachgezogen.**
|
||||
*(Die Fassung vom 2026-08-16 stand bis zum 18. hier und war an vier Stellen überholt — Standalone-APs,
|
||||
RouterOS-Versionen, „plain 1.1.1.1", 68/68. Wer diesen Block liest, liest ihn als Erstes: er wird
|
||||
ab jetzt bei jeder Änderung mitgezogen, nicht nur die TP-Abschnitte.)*
|
||||
*(Die Fassung vom 2026-08-16 stand bis zum 18. hier und war an vier Stellen überholt. Wer diesen Block
|
||||
liest, liest ihn als Erstes: er wird bei jeder Änderung mitgezogen, nicht nur die TP-Abschnitte.)*
|
||||
|
||||
- **Alle vier MikroTik laufen auf RouterOS 7.24** (stable, 2026-08-17 von Christoph selbst gehoben, TP27),
|
||||
**RouterBOOT ebenfalls 7.24** auf allen vieren (`current-firmware` = `upgrade-firmware`, geprüft 08-18).
|
||||
@@ -61,10 +60,10 @@ ab jetzt bei jeder Änderung mitgezogen, nicht nur die TP-Abschnitte.)*
|
||||
Relay-Reparatur suchte die **App** immer noch nicht (macOS-Local-Network-Gate stand auf „an" und
|
||||
griff nicht; Fix war Schalter aus/ein + Neustart, User-bestätigt 08-25). **Beide sind erledigt.**
|
||||
- **Reverse Proxy = `caddy-bf1`** (LXC 130 auf pve, **`10.40.20.40`**, TP31 ✅ Schritt 1–3 seit
|
||||
2026-08-25): Caddy 2.11.4, **16 Sites**, Zertifikate ausschliesslich per **DNS-01** mit einem eng
|
||||
geschnittenen `Zone:DNS:Edit`-Token (`CF_DNS_API_TOKEN`, **nicht** das account-weite). Abnahme über
|
||||
den Host-Header von einem zweiten Host: 11× 200, `nautobot` 302. **Offen: `hass` 400** (HA
|
||||
`trusted_proxies` greift noch nicht) sowie Schritt 4–6 (Split-Horizon, Tunnel `bf-public`, Abbau).
|
||||
2026-08-25, **`hass` 400 behoben 2026-08-26**): Caddy 2.11.4, **16 Sites**, Zertifikate ausschliesslich
|
||||
per **DNS-01** mit einem eng geschnittenen `Zone:DNS:Edit`-Token (`CF_DNS_API_TOKEN`, **nicht** das
|
||||
account-weite). Abnahme über den Host-Header von einem zweiten Host: 11× 200, `nautobot` 302.
|
||||
Offen: Schritt 4–6 (Split-Horizon, Tunnel `bf-public`, Abbau).
|
||||
- **Ausgebaut / gelöscht:** ALLNET-`sw1` und Omada-`sw2` sind **physisch weg** (2026-08-08 bzw. 2026-07-23,
|
||||
in Nautobot *Decommissioned*); Omada-Controller + `omada-mcp` gelöscht (2026-07-16); FritzBox 6660 raus
|
||||
seit 2026-07-01 (Liwest-Tausch auf Arris). **VLAN1 ist leer** (`/ip arp` auf `bridge` = 0 Einträge,
|
||||
@@ -171,6 +170,34 @@ nachmessen und dann entscheiden**. Blocker gibt es keine mehr. TP5 ist in der Na
|
||||
> Sub-TP offen war, steht dieses hier und das erledigte Eltern-TP im Archiv (so bei
|
||||
> ~~**TP17.2** ↔ TP17~~ *(TP17.2 ist am 2026-08-24 in **TP30** aufgegangen und kein eigenes TP mehr)*
|
||||
> und **TP20.1** ↔ TP20).
|
||||
>
|
||||
> ### 📊 Quick-Index (nur dieser Block ist für den Statusbaum nˆtig — 1 Read)
|
||||
>
|
||||
> | # | Status | Kurztitel | Abschluss |
|
||||
> |---|---|---|---|
|
||||
> | TP5.1 | ⏸️ | DNS-Visibility Airfryer | — |
|
||||
> | TP8 | ⏸️ | Identity / 802.1X | — |
|
||||
> | TP11 | ⏸️ | Monitoring | — |
|
||||
> | TP12 | ⏸️ | IPv6 (3 Standorte) | — |
|
||||
> | TP12.1 | 🔜 | IPv6 ULA + v6-Firewall | — |
|
||||
> | TP13 | 🔜 | Botschafts-WLANs | — |
|
||||
> | TP14.4 | 🔜 | CF-Access-Token | — |
|
||||
> | TP16 | ✅ | CF-Tunnel HA wieder voll | 2026-08-24 |
|
||||
> | TP16.2 | 🔜 | Härtung bypass-Dienste | — |
|
||||
> | TP16.3 | ⏳ | cloudflared-Reduktion (Probe läuft) | — |
|
||||
> | TP17.1 | ❌ | Shelly Gen4 → Zigbee | 2026-08-23 |
|
||||
> | TP17.3 | ✅ | Shelly-Regression behoben | 2026-08-23 |
|
||||
> | TP18 | 🔜 | Garage-Objektspeicher | — |
|
||||
> | TP20.1 | 🔜 | Vaultwarden → Platform-PG | — |
|
||||
> | TP23 | ⏳ | DNS-Policy (Stufe 1 ✅, Stufe 2 vorbereitet) | — |
|
||||
> | TP24 | 🔜 | DC-USV | — |
|
||||
> | TP25 | ✅ | WLAN-Stabilisierung (Kern erledigt) | 2026-08-24 |
|
||||
> | TP29 | 💡 | Anwesenheitserkennung (Idee) | — |
|
||||
> | TP30 | 🔜 | Credentials (Etappe 1 ✅, Rest gebündelt) | — |
|
||||
> | TP31 | ⏳ | Reverse Proxy Caddy (Schritt 1–3 ✅) | — |
|
||||
> | TP32 | 🟢 | Nummern-Systematik (Konzept) | — |
|
||||
> | TP33 | 💡 | Sonos fern (Idee, zurückgestellt) | — |
|
||||
> | — | — | **34 archivierte TPs** in `teilprojekte-archiv.md` | — |
|
||||
|
||||
### TP5.1 — DNS-Visibility & Flow-Observability für Low-Trust-Geräte (Airfryer-Fall) ▸ vorgemerkt
|
||||
- **Kontext (2026-07-08/09):** Airfryer „airschreier" (Philips/Versuni, ESP, `10.40.30.180`) bekam per DHCP-Option 6 `dns 1.1.1.1` als Override, weil das OTA-Update über den ap1-DoH-Gateway-Pfad nicht durchging (DoH-Latenz beim primitiven ESP-Stack — **kein** Content-Block, via Gateway-Logs bewiesen, s. `memory/ref_esp_ota_doh_not_block`). Nebenwirkung: public **1.1.1.1 = anonymer Consumer-Resolver ≠ accountgebundener Gateway-DoH** (`px35ynlol3.cloudflare-gateway.com`) → **DNS-Sicht auf das Gerät weg**, Gerät umgeht zudem die Filterung.
|
||||
|
||||
41
opencode.jsonc
Normal file
41
opencode.jsonc
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["CLAUDE.md"],
|
||||
"permission": "allow",
|
||||
"mcp": {
|
||||
"gitea-mcp": {
|
||||
"type": "remote",
|
||||
"url": "https://gitea-mcp.emsenhuber.net/mcp",
|
||||
"enabled": true
|
||||
},
|
||||
"mikromcp": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "mikromcp", "serve"],
|
||||
"environment": {
|
||||
"MIKROMCP_CONFIG_PATH": "/Users/christophemsenhuber/dev/bf-infra/mcp/mikromcp/config/routers.yaml",
|
||||
"MIKROMCP_DEFAULT_ROUTER": "ap1"
|
||||
},
|
||||
"enabled": true,
|
||||
"timeout": 30000
|
||||
},
|
||||
"pve-mcp": {
|
||||
"type": "remote",
|
||||
"url": "http://10.40.20.173:3000/",
|
||||
"enabled": true,
|
||||
"timeout": 15000
|
||||
},
|
||||
"home-assistant": {
|
||||
"type": "remote",
|
||||
"url": "http://10.40.20.105:9583/private_29X8x73taoNEq6gzmbVdyg",
|
||||
"enabled": true,
|
||||
"timeout": 15000
|
||||
},
|
||||
"cloudflare": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.cloudflare.com/mcp",
|
||||
"enabled": true,
|
||||
"timeout": 15000,
|
||||
"oauth": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user