chore: update docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md via opax-mcp
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
This commit is contained in:
parent
60a1206150
commit
3f4765e352
|
|
@ -1,196 +1,56 @@
|
|||
# HANDOFF-LOKAL-LLM-GITEA-MCP.md
|
||||
# EGEN HANDOFF – UFRAVIKELIG STYRINGSDOKUMENT
|
||||
# GJELDER FRA NÅ OG FREM TIL 100 % FERDIGSTILLELSE
|
||||
# HANDOFF — OPPDATERT 2026-07-25 09:30 CEST
|
||||
|
||||
## 0. STATUS OG KOMMANDO
|
||||
Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal LLM-fabrikk + OPAX-MCP + Gitea stabilisering + blueprinting til Gitea-VM".
|
||||
## KRITISK NESTE STEG — START HER
|
||||
|
||||
---
|
||||
### gitea-chat-bridge — BLOKKERT, krever Procfile
|
||||
|
||||
## FREMDRIFT – OPPDATERT 2026-07-25 09:08 CEST
|
||||
Rotårsak: Cloud Run leter etter `app`-objekt, vi eksporterer `handler`.
|
||||
|
||||
### ✅ FASE 0–5 — FERDIG
|
||||
### ✅ FASE 6 – CPU-optimalisering — FERDIG
|
||||
### ✅ FASE 6-TILLEGG – Boot-warming — FERDIG
|
||||
### ✅ DNS – NS-bytte utført — FERDIG 2026-07-21 23:44 CEST
|
||||
### ✅ OPAX-MCP – GITEA_URL permanent + deploy — FERDIG 2026-07-21 23:53 CEST
|
||||
### ✅ SMOKE-TEST – Alle 37 tools — FERDIG 2026-07-22 00:25 CEST
|
||||
### ✅ FASE 6.5 – VM-oppgradering + modellarkitektur — VERIFISERT 2026-07-22
|
||||
### ✅ DEV-SNAP UAVHENGIGHET – Verifisert 2026-07-22 19:30 CEST
|
||||
### ✅ OSVauco arbeidskopi klonet til Gitea-VM — FERDIG 2026-07-22 19:25 CEST
|
||||
### ✅ git.vauco.no HTTPS — FERDIG 2026-07-25
|
||||
### ✅ GITEA_TOKEN rotert — FERDIG 2026-07-25
|
||||
### ✅ Google OAuth2 innlogging Gitea — FERDIG 2026-07-25
|
||||
### ✅ SIKKERHETSHERDING – Uautoriserte brukere ryddet — FERDIG 2026-07-25
|
||||
### ✅ VM Access Scopes – cloud-platform satt — FERDIG 2026-07-25
|
||||
### ✅ GPG-SIGNERING – Commits verified — FERDIG 2026-07-25 08:42 CEST
|
||||
### ✅ gitea-admin-password – Lagret i Secret Manager — FERDIG 2026-07-25
|
||||
### ✅ automation@vauco.no alias opprettet — FERDIG 2026-07-25 08:45 CEST
|
||||
### ✅ GITEA → GOOGLE CHAT BRIDGE — FERDIG 2026-07-25 09:08 CEST
|
||||
### 🟡 FASE 7 – 14B-validering utført, arkitektur justeres — PÅGÅR
|
||||
### ⏳ automation-bruker i Gitea — NESTE
|
||||
### ⏳ FASE 8 – Backup / snapshot-strategi — PLANLAGT
|
||||
Filer klare i `~/OSVauco/gitea-chat-bridge/`:
|
||||
- `main.py` — Google Chat-format (uten Slack-syntax)
|
||||
- `requirements.txt` — functions-framework==3.*, requests==2.*
|
||||
- `Procfile` — MÅ OPPRETTES: `web: functions-framework --target=handler --port=8080`
|
||||
|
||||
---
|
||||
```bash
|
||||
# Fullfør deploy:
|
||||
cat > ~/OSVauco/gitea-chat-bridge/Procfile << 'EOF'
|
||||
web: functions-framework --target=handler --port=8080
|
||||
EOF
|
||||
|
||||
## SIKKERHETSHERDING (2026-07-25)
|
||||
- ✅ Offentlig brukerregistrering i Gitea deaktivert
|
||||
- ✅ To uautoriserte brukere (`dev433f2c`, `dev1ba0ac`) deaktivert og tokens slettet
|
||||
- ✅ Eksponert GITEA_TOKEN rotert — nytt token i Secret Manager, opax-mcp redeployet
|
||||
- ✅ VM Access Scopes oppdatert til `cloud-platform`
|
||||
- ✅ GPG-nøkkel (46209B07B3352AE9) lagt til i Gitea, git konfigurert for auto-signering
|
||||
- ✅ gitea-admin-password lagret i Secret Manager (secret: `gitea-admin-password`)
|
||||
- ✅ automation@vauco.no alias opprettet → videresender til chris.christiansen@vauco.no
|
||||
WEBHOOK=$(gcloud secrets versions access latest --secret=CHAT_WEBHOOK_URL --project=propane-will-491900-m5)
|
||||
cd ~/OSVauco/gitea-chat-bridge && \
|
||||
gcloud run deploy gitea-chat-bridge \
|
||||
--source . --region us-central1 \
|
||||
--project propane-will-491900-m5 \
|
||||
--platform managed --allow-unauthenticated \
|
||||
--set-env-vars "CHAT_WEBHOOK_URL=$WEBHOOK" --quiet
|
||||
|
||||
---
|
||||
# Test
|
||||
curl -s -X POST https://gitea-chat-bridge-357036551735.us-central1.run.app \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"repository":{"full_name":"chris/OSVauco"},"pusher":{"login":"chris"},"ref":"refs/heads/main","commits":[{"id":"abc1234","message":"test","url":"https://git.vauco.no"}]}'
|
||||
|
||||
## GITEA → GOOGLE CHAT BRIDGE (2026-07-25 09:08)
|
||||
|
||||
### Arkitektur
|
||||
```
|
||||
Gitea push/create/release
|
||||
→ Gitea webhook (hook ID: 9)
|
||||
→ Cloud Run: gitea-chat-bridge
|
||||
https://gitea-chat-bridge-357036551735.europe-west1.run.app
|
||||
→ Google Chat (CHAT_WEBHOOK_URL i Secret Manager)
|
||||
rm -rf ~/OSVauco/gitea-chat-bridge
|
||||
```
|
||||
|
||||
### Ressurser
|
||||
- **Cloud Run service:** `gitea-chat-bridge` (europe-west1)
|
||||
- **Gitea hook ID:** 9
|
||||
- **Secret:** `CHAT_WEBHOOK_URL` (versjon 2, korrekt URL)
|
||||
- **Events:** push, create, release
|
||||
|
||||
---
|
||||
|
||||
## DEV-SNAP UAVHENGIGHET – VERIFISERT 2026-07-22
|
||||
## STATUS 2026-07-25 09:30
|
||||
|
||||
Alle 6 tester grønne:
|
||||
✅ FASE 0-6.5, DNS, OPAX-MCP, smoke-test, VM, HTTPS, OAuth2, sikkerhet, GPG, secrets
|
||||
✅ automation@vauco.no alias → chris.christiansen@vauco.no
|
||||
🔴 gitea-chat-bridge — deployet men krasjer (mangler Procfile)
|
||||
⏳ automation-bruker i Gitea — NESTE etter bridge
|
||||
⏳ Fase 8 snapshot-backup
|
||||
|
||||
| Test | Status | Bevis |
|
||||
|------|--------|-------|
|
||||
| A — Gitea API | ✅ | list_commits svarer fra localhost:3000 |
|
||||
| B — Repo-innhold | ✅ | Klon hentet 3545 objekter direkte |
|
||||
| C — OPAX health | ✅ | opax_mcp_status: live |
|
||||
| D — MCP tools/list | ✅ | 37 verktøy live |
|
||||
| E — Git-sync | ✅ | nothing to commit, working tree clean |
|
||||
| F — Ollama | ✅ | 5 modeller bekreftet |
|
||||
|
||||
**Viktig:** Bruk alltid `localhost:3000` fra Gitea-VM, aldri ekstern IP mot seg selv.
|
||||
|
||||
---
|
||||
|
||||
## git.vauco.no – FULLFØRT 2026-07-25
|
||||
- ✅ DNS, nginx, certbot, HTTPS, Google OAuth2 — alt oppe
|
||||
|
||||
---
|
||||
|
||||
### Rollen "automation" og sikkerhets-sentinel for Gitea
|
||||
|
||||
Status per 2026-07-25:
|
||||
- Gitea kjører på https://git.vauco.no med HTTPS.
|
||||
- Offentlig registrering stengt.
|
||||
- Ingen av stegene under er gjennomført ennå – de beskriver målbildet.
|
||||
|
||||
#### 1. Teknisk Gitea-bruker: `automation`
|
||||
- Opprett Gitea-bruker `automation` (ikke admin)
|
||||
- Gi tilgang kun til OSVauco-repo
|
||||
- Generer token, lagre i Secret Manager som `gitea-automation-token`
|
||||
- Konfigurer Cloud Run / OPAX MCP til å bruke dette tokenet
|
||||
- Konfigurer git på Gitea-VM til å bruke `automation` for push/pull
|
||||
|
||||
#### 2. Sentinel-rolle
|
||||
- Lokal LLM periodisk sikkerhetssjekk av Gitea
|
||||
- Rapport i `protocols/security/SENTINEL-REPORT-YYYY-MM-DD.md`
|
||||
- Kun lesetilgang, ingen mutasjoner uten godkjenning
|
||||
|
||||
#### 3. Roller
|
||||
- `chris`: admin, godkjenner
|
||||
- `automation`: tekniske operasjoner via API
|
||||
- `sentinel`: leser og rapporterer
|
||||
|
||||
---
|
||||
|
||||
## FASE 6.5 — LOKAL LLM-STACK
|
||||
|
||||
### Modeller per 2026-07-25
|
||||
- `gemma3:4b` — frontmodell
|
||||
- `qwen2.5:3b` — tool calling
|
||||
- `qwen2.5:7b` — mellomlag
|
||||
- `qwen2.5-coder:7b` — kode
|
||||
- `qwen2.5-coder:14b` — batch/asynkron
|
||||
|
||||
---
|
||||
|
||||
## OPAX-MCP KONFIGURASJON – LÅST
|
||||
|
||||
| Variabel | Verdi |
|
||||
|---|---|
|
||||
| `GITEA_URL` | `http://34.67.252.59:3000` |
|
||||
| `OLLAMA_BASE_URL` | `http://34.67.252.59:11434` |
|
||||
| `EMMA_MODEL` | `gemma3:4b` |
|
||||
| `EMMA_FAST_MODEL` | `gemma3:4b` |
|
||||
| `EMMA_LIGHT_MODEL` | `qwen2.5:3b` |
|
||||
|
||||
---
|
||||
|
||||
## DNS – FULLFØRT
|
||||
|
||||
| Record | Type | Verdi |
|
||||
|---|---|---|
|
||||
| `vauco.no.` | A | `34.98.77.173` |
|
||||
| `git.vauco.no.` | A | `34.67.252.59` |
|
||||
| MX/SPF/DKIM/DMARC | TXT/MX | Google Workspace komplett |
|
||||
|
||||
---
|
||||
|
||||
## ÅPNE PUNKTER
|
||||
1. `automation`-bruker opprett i Gitea — **NESTE**
|
||||
2. Sentinel-implementering (lokal LLM periodisk sjekk)
|
||||
3. Test `qwen2.5-coder:7b` på konkret kode-oppgave
|
||||
4. Emma derivat-dokument (tilsvarende GEMINI.md)
|
||||
5. Fase 8: Snapshot-policy aktiveres
|
||||
6. `opax.vauco.no` domain mapping (Cloud Run → custom domain)
|
||||
## RESSURSER
|
||||
- Bridge URL: https://gitea-chat-bridge-357036551735.us-central1.run.app
|
||||
- Gitea hook ID: 9
|
||||
- Secret: CHAT_WEBHOOK_URL (v2), gitea-admin-password
|
||||
- VM: 34.67.252.59 (Gitea + Ollama, alltid på)
|
||||
- OPAX MCP: us-central1
|
||||
|
||||
## FASTE SANNHETER
|
||||
- Gitea er source of truth
|
||||
- Lokale modeller er hovedretning
|
||||
- Gitea-VM (`34.67.252.59`) er permanent målmaskin — alltid-på, STANDARD
|
||||
- Bruk `localhost:3000` fra Gitea-VM, aldri ekstern IP mot seg selv
|
||||
- CPU er primær flaskehals for tyngre lokale modeller
|
||||
- `gitea-admin-password` finnes i Secret Manager
|
||||
- `CHAT_WEBHOOK_URL` finnes i Secret Manager (versjon 2)
|
||||
|
||||
## DEFINITION OF DONE
|
||||
- ✅ Lokale modeller lever
|
||||
- ✅ OPAX-MCP korrekt konfigurert
|
||||
- ✅ Gitea read/write tools grønne
|
||||
- ✅ Smoke-test 37 tools
|
||||
- ✅ VM oppgradert e2-highmem-4
|
||||
- ✅ git.vauco.no HTTPS
|
||||
- ✅ Google OAuth2
|
||||
- ✅ GITEA_TOKEN rotert
|
||||
- ✅ Sikkerhetsherding
|
||||
- ✅ VM Access Scopes
|
||||
- ✅ GPG-signering verified
|
||||
- ✅ gitea-admin-password i Secret Manager
|
||||
- ✅ automation@vauco.no alias
|
||||
- ✅ Gitea → Google Chat bridge live
|
||||
- ⏳ automation-bruker — neste
|
||||
- ⏳ Fase 7: lokal hjerne verifisert
|
||||
- ⏳ Fase 8: snapshot-backup
|
||||
|
||||
## OPPDATERINGSLOGG
|
||||
| Dato | Handling |
|
||||
|---|---|
|
||||
| 2026-07-21 | FASE 4–6 fullført |
|
||||
| 2026-07-21 23:44 | DNS NS-bytte |
|
||||
| 2026-07-21 23:53 | OPAX-MCP deployed |
|
||||
| 2026-07-22 00:25 | Smoke-test grønn |
|
||||
| 2026-07-22 19:25 | OSVauco klonet til VM |
|
||||
| 2026-07-22 19:30 | Dev-snap uavhengighet bekreftet |
|
||||
| 2026-07-23 22:14 | Handoff oppdatert |
|
||||
| 2026-07-25 08:15 | HTTPS, token, OAuth2, sikkerhet, VM scopes ferdig |
|
||||
| 2026-07-25 08:42 | GPG-signering ferdig, gitea-admin-password i Secret Manager |
|
||||
| 2026-07-25 08:45 | automation@vauco.no alias opprettet |
|
||||
| 2026-07-25 09:08 | Gitea→Google Chat bridge deployet (gitea-chat-bridge, hook ID 9) |
|
||||
- Gitea = source of truth | localhost:3000 fra VM
|
||||
- Lokale modeller = hovedretning
|
||||
- gitea-admin-password og CHAT_WEBHOOK_URL i Secret Manager
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user