Doku: Deployment-Workflow in .cursorrules + MASTER_INDEX.md
This commit is contained in:
parent
84cdf4491e
commit
48e02b1244
2 changed files with 91 additions and 26 deletions
94
.cursorrules
94
.cursorrules
|
|
@ -2,39 +2,83 @@
|
|||
# REGEL: Nur diese Datei beim Start lesen. Dann NUR den einen relevanten Doc laden.
|
||||
# Nie mehr als 1 STATE.md gleichzeitig in den Kontext laden.
|
||||
|
||||
## Quelle der Wahrheit
|
||||
|
||||
**`homelab-brain/homelab.conf`** = EINZIGE Datei mit IPs, URLs, Containern, Passwörtern, Tokens.
|
||||
Vor JEDER Aktion mit variablen Daten: `cat homelab-brain/homelab.conf` lesen.
|
||||
Daten ändern = NUR `homelab.conf` editieren + auf pve-hetzner deployen.
|
||||
|
||||
## Routing-Tabelle
|
||||
| Aufgabe betrifft... | Lade diese Datei |
|
||||
| Aufgabe betrifft... | Lade diese Datei |
|
||||
|-----------------------------------|------------------------------|
|
||||
| WordPress / RSS / Arakava News | arakava-news/STATE.md |
|
||||
| Redakteur / WordPress KI-Autor | redax-wp/STATE.md |
|
||||
| Flugpreisscanner / Selenium | flugpreisscanner/STATE.md |
|
||||
| Gold / Silber / Edelmetall-Bot | edelmetall/STATE.md |
|
||||
| Smart Home / ioBroker / Grafana | smart-home/STATE.md |
|
||||
| ESP32 / Display / Heizung | esp32/PLAN.md |
|
||||
| FünfVorAcht / Telegram KI-Poster | fuenfvoracht/STATE.md |
|
||||
| Server / Container / Proxmox | infrastructure/STATE.md |
|
||||
| Telegram Bots allgemein | infrastructure/STATE.md |
|
||||
| TODOs / Aufgaben / Was steht an | Forgejo Issues (siehe unten) |
|
||||
| Alle Projekte / Übersicht | MASTER_INDEX.md |
|
||||
| IPs, URLs, Credentials, Container | homelab.conf |
|
||||
| WordPress / RSS / Arakava News | arakava-news/STATE.md |
|
||||
| Redakteur / WordPress KI-Autor | redax-wp/STATE.md |
|
||||
| Flugpreisscanner / Selenium | flugpreisscanner/STATE.md |
|
||||
| Gold / Silber / Edelmetall-Bot | edelmetall/STATE.md |
|
||||
| Smart Home / ioBroker / Grafana | smart-home/STATE.md |
|
||||
| ESP32 / Display / Heizung | esp32/PLAN.md |
|
||||
| FünfVorAcht / Telegram KI-Poster | fuenfvoracht/STATE.md |
|
||||
| Server / Container / Proxmox | infrastructure/STATE.md |
|
||||
| Telegram Bots allgemein | infrastructure/STATE.md |
|
||||
| TODOs / Aufgaben / Was steht an | Forgejo Issues (siehe unten) |
|
||||
| Alle Projekte / Übersicht | MASTER_INDEX.md |
|
||||
|
||||
## Server-Übersicht (Details in homelab.conf)
|
||||
|
||||
| Logischer Name | Hostname | Standort |
|
||||
|---|---|---|
|
||||
| pve-hetzner | pve-hetzner | Hetzner DC |
|
||||
| pve-ka-1 | pve1 | Kambodscha |
|
||||
| pve-ka-2 | pve-Shops | Kambodscha |
|
||||
| pve-ka-3 | pve3 | Kambodscha |
|
||||
| pve-mu-2 | pve2 | Muldenstein |
|
||||
| pve-mu-3 | pve3 | Muldenstein |
|
||||
| pve-he | helmut-pve | Ramsin (bei Helmut) |
|
||||
|
||||
**Achtung:** pve3 existiert zweimal (Kambodscha + Muldenstein). Immer den logischen Namen verwenden!
|
||||
|
||||
## TODO-Liste (Forgejo)
|
||||
- Lesen: `curl -s -H "Authorization: token b874766bdf357bd4c32fa4369d0c588fc6193336" http://100.89.246.60:3000/api/v1/repos/orbitalo/homelab-brain/issues?state=open`
|
||||
- Web: http://100.89.246.60:3000/orbitalo/homelab-brain/issues
|
||||
Forgejo-URL und Token stehen in `homelab.conf` (FORGEJO_TOKEN).
|
||||
- Lesen: `source homelab-brain/homelab.conf && curl -s -H "Authorization: token $FORGEJO_TOKEN" http://$(grep CT_111_HZ homelab-brain/homelab.conf | cut -d'|' -f2):3000/api/v1/repos/orbitalo/homelab-brain/issues?state=open`
|
||||
- Neues TODO: POST an `/api/v1/repos/orbitalo/homelab-brain/issues` mit `{"title":"...","body":"...","labels":[ID]}`
|
||||
- Erledigt: PATCH mit `{"state":"closed"}`
|
||||
|
||||
## Server-Zugang (immer verfügbar)
|
||||
- pve-hetzner: `ssh root@100.88.230.59` | PW: Astral-Proxmox!2026
|
||||
- pve1 Kambodscha: `ssh root@192.168.0.197` | PW: astral66
|
||||
- Cluster-Doku: `pct exec 999 -- cat /root/.cursorrules`
|
||||
## Server-Zugang
|
||||
Alle IPs und Passwörter stehen in `homelab.conf`. Keine Duplikate hier.
|
||||
Schnellzugriff: `source homelab-brain/homelab.conf && sshpass -p "$PW_HETZNER" ssh root@$SRV_HETZNER`
|
||||
|
||||
## Credentials (immer verfügbar)
|
||||
- GitHub PAT: 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
|
||||
- Forgejo Token: b874766bdf357bd4c32fa4369d0c588fc6193336
|
||||
- Weitere Credentials: `pct exec 999 -- cat /root/docs/credentials.md`
|
||||
## Deployment — PFLICHT-Workflow
|
||||
|
||||
Code-Änderungen IMMER über das Deploy-Skript ausrollen:
|
||||
```bash
|
||||
./homelab-brain/scripts/deploy.sh "Beschreibung"
|
||||
```
|
||||
|
||||
**Was es tut:** git commit → push Forgejo → ssh pve-hetzner git pull → Bot restart
|
||||
|
||||
**NIEMALS:**
|
||||
- `scp` oder `pct push` für Bot-Dateien verwenden
|
||||
- Dateien direkt auf pve-hetzner editieren
|
||||
- Änderungen ohne sofortigen Push machen (sync-state.sh überschreibt!)
|
||||
|
||||
**Warum:** CT 116 (Hausmeister-Bot) hat einen Bind-Mount auf `/opt/homelab-brain/homelab-ai-bot/`.
|
||||
Git-Pull auf pve-hetzner = Bot sieht Änderungen sofort. Kein manuelles Kopieren nötig.
|
||||
|
||||
**Architektur:**
|
||||
```
|
||||
Cursor (pve-ka-1) → Forgejo (CT 111) → pve-hetzner /opt/homelab-brain/
|
||||
edit+push git repo git pull
|
||||
↓ Bind-Mount
|
||||
CT 116 /opt/homelab-ai-bot/
|
||||
```
|
||||
|
||||
## Goldene Regeln
|
||||
1. Kontextfenster schonen — nie mehr laden als nötig
|
||||
2. STATE.md Dateien sind auto-generiert — immer aktuell
|
||||
3. Bei Unklarheit: MASTER_INDEX.md lesen, nicht raten
|
||||
4. Vor git push / Remote-Zugriff: Credentials oben prüfen, bei Bedarf credentials.md laden
|
||||
2. `homelab.conf` lesen vor jeder Infrastruktur-Aktion
|
||||
3. STATE.md Dateien sind auto-generiert — niemals manuell editieren
|
||||
4. Variable Daten ändern = `homelab.conf` editieren, sonst NICHTS
|
||||
5. Bei Unklarheit: MASTER_INDEX.md lesen, nicht raten
|
||||
6. MCP-Tools nutzen fuer Live-Daten: homelab_get_errors, homelab_all_containers, homelab_query_logs, etc.
|
||||
7. Server immer mit logischem Namen referenzieren (pve-ka-3, nicht "pve3")
|
||||
8. Code-Änderungen NUR über `scripts/deploy.sh` deployen — KEIN scp/pct push
|
||||
|
|
|
|||
|
|
@ -53,8 +53,29 @@
|
|||
- Web: http://100.89.246.60:3000/orbitalo/homelab-brain/issues
|
||||
- Details: siehe `homelab.conf` (FORGEJO_TOKEN)
|
||||
|
||||
## Deployment
|
||||
|
||||
**Code-Änderungen deployen — EIN Befehl:**
|
||||
```bash
|
||||
./scripts/deploy.sh "Beschreibung"
|
||||
```
|
||||
|
||||
Ablauf: `git commit → push Forgejo → pve-hetzner git pull → Bot restart`
|
||||
|
||||
**Architektur:**
|
||||
```
|
||||
Cursor (pve-ka-1) → Forgejo (CT 111) → pve-hetzner /opt/homelab-brain/
|
||||
↓ Bind-Mount (mp0 in CT 116 Config)
|
||||
CT 116 /opt/homelab-ai-bot/
|
||||
```
|
||||
|
||||
CT 116 liest direkt aus dem Git-Repo über einen LXC Bind-Mount.
|
||||
Kein `scp` oder `pct push` nötig — Git-Pull auf pve-hetzner reicht.
|
||||
|
||||
## Auto-Sync
|
||||
- `sync-state.sh` / `sync_state.py` — läuft alle 15 Min auf pve-hetzner
|
||||
- Generiert STATE.md Dateien automatisch
|
||||
- Watchdog mit Telegram-Alerts bei Ausfällen
|
||||
- Monitor-Cron prüft alle 15 Min proaktiv auf Fehler
|
||||
- Monitor-Cron (`*/5`) prüft proaktiv auf Fehler (panic/fatal/OOM)
|
||||
- **Achtung:** sync-state.sh macht `git reset --hard` — lokale Änderungen
|
||||
ohne Push werden überschrieben!
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue