Some checks failed
Check Python Version Consistency / Check Python Version (push) Has been cancelled
204 lines
7.4 KiB
Markdown
204 lines
7.4 KiB
Markdown
# HANDOFF-LOKAL-LLM-GITEA-MCP.md
|
||
# EGEN HANDOFF – UFRAVIKELIG STYRINGSDOKUMENT
|
||
# GJELDER FRA NÅ OG FREM TIL 100 % FERDIGSTILLELSE
|
||
|
||
## 0. STATUS OG KOMMANDO
|
||
Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal LLM-fabrikk + OPAX-MCP + Gitea stabilisering + blueprinting til Gitea-VM".
|
||
|
||
---
|
||
|
||
## FREMDRIFT – OPPDATERT 2026-07-23 22:14 CEST
|
||
|
||
### ✅ 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
|
||
### 🟡 FASE 7 – 14B-validering utført, arkitektur justeres — PÅGÅR
|
||
### ⏳ git.vauco.no HTTPS — PÅBEGYNT, blokkert av firewall
|
||
### ⏳ GPG-SIGNERING – Commits verified — PÅGÅR
|
||
### ⏳ FASE 8 – Backup / snapshot-strategi — PLANLAGT
|
||
|
||
---
|
||
|
||
## DEV-SNAP UAVHENGIGHET – VERIFISERT 2026-07-22
|
||
|
||
Alle 6 tester grønne:
|
||
|
||
| 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` (ikke `34.67.252.59:3000`) når du jobber fra Gitea-VM selv. GCP NAT-er ikke loopback-trafikk.
|
||
|
||
---
|
||
|
||
## git.vauco.no – STATUS OG NESTE STEG
|
||
|
||
### Hva er gjort
|
||
- ✅ DNS: `git.vauco.no` A-record → `34.67.252.59` satt i Google Cloud DNS
|
||
- ✅ nginx installert og kjører på Gitea-VM (port 80 lytter)
|
||
- ✅ nginx konfig for `git.vauco.no` → proxy til `localhost:3000` opprettet
|
||
- ✅ Firewall-regel `allow-http-https` opprettet i `propane-will-491900-m5`
|
||
- ❌ certbot feiler — port 80 ikke nåbar eksternt (timeout)
|
||
|
||
### Rotårsak
|
||
Firewall-regelen `allow-http-https` (prioritet 1000) blokkeres sannsynligvis av en annen regel med høyere prioritet. VM-taggen er `gitea-server`.
|
||
|
||
### Neste steg når du er hjemme
|
||
|
||
**Steg 1 — GCP Console eller Cloud Shell:**
|
||
Finn blokkerende regel:
|
||
```bash
|
||
gcloud compute firewall-rules list \
|
||
--project=propane-will-491900-m5 \
|
||
--format="table(name,direction,priority,allowed,denied,targetTags,disabled)"
|
||
```
|
||
|
||
**Steg 2 — Lag ny regel med prioritet 500:**
|
||
```bash
|
||
gcloud compute firewall-rules create allow-gitea-web \
|
||
--project=propane-will-491900-m5 \
|
||
--allow tcp:80,tcp:443 \
|
||
--direction INGRESS \
|
||
--priority=500 \
|
||
--target-tags=gitea-server \
|
||
--network=default \
|
||
--source-ranges=0.0.0.0/0
|
||
```
|
||
|
||
**Steg 3 — Gitea-VM: kjør certbot på nytt:**
|
||
```bash
|
||
sudo certbot --nginx -d git.vauco.no \
|
||
--non-interactive --agree-tos \
|
||
-m chris.christiansen@vauco.no
|
||
```
|
||
|
||
**Steg 4 — Verifiser:**
|
||
```bash
|
||
curl -s https://git.vauco.no/api/v1/version
|
||
```
|
||
|
||
**Steg 5 — Google OAuth2 i Gitea:**
|
||
- console.cloud.google.com → Credentials → OAuth 2.0 Client ID
|
||
- Redirect URI: `https://git.vauco.no/user/oauth2/google/callback`
|
||
- Legg til i Gitea: Site Administration → Authentication Sources → Add → OAuth2 → Google
|
||
|
||
---
|
||
|
||
## SIKKERHET – ÅPNE PUNKTER
|
||
⚠️ GITEA_TOKEN eksponert i chat: `278c0b41df7dc4e8c99d6c479a8603105e56a0a9`
|
||
- Roter token i Gitea (localhost:3000 → Settings → Applications)
|
||
- Oppdater GITEA_TOKEN i Cloud Run miljøvariabler etter rotasjon
|
||
|
||
---
|
||
|
||
## FASE 6.5 — OPPDATERT LOKAL LLM-STACK (2026-07-22)
|
||
|
||
### Bekreftet drift
|
||
- `gitea-cpu-vm` er oppe i `us-central1-b`
|
||
- VM kjører nå på `e2-highmem-4` (4 vCPU / 32 GB RAM)
|
||
- Statisk IP beholdt: `34.170.51.84`
|
||
- Gitea svarer på port `3000`
|
||
- Ollama svarer på port `11434`
|
||
|
||
### Faktisk modeller lokalt per 2026-07-23
|
||
- `gemma3:4b`
|
||
- `qwen2.5:3b`
|
||
- `qwen2.5:7b`
|
||
- `qwen2.5-coder:7b`
|
||
- `qwen2.5-coder:14b`
|
||
|
||
### Revidert anbefalt modellarkitektur
|
||
- **Frontmodell:** `gemma3:4b` — raske svar, enkel resonnering
|
||
- **Lett tool-modell:** `qwen2.5:3b` — tool calling, responsivt
|
||
- **Standard mellomlag:** `qwen2.5:7b` — kvalitet + brukbar latency
|
||
- **Kode-modell:** `qwen2.5-coder:7b` — standard for repo/kodearbeid
|
||
- **Backup coder:** `qwen2.5-coder:14b` — batch/asynkrone kodeoppgaver
|
||
|
||
---
|
||
|
||
## 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` |
|
||
| `OSVAUCO_AGENT_URL` | `https://osvauco-agent-357036551735.us-central1.run.app` |
|
||
|
||
Deploy verifisert: `get_connector_status` → `live`, `gitea: online`, `tool_count: 37`
|
||
|
||
---
|
||
|
||
## DNS – FULLFØRT 2026-07-21
|
||
|
||
| Record | Type | Verdi |
|
||
|---|---|---|
|
||
| `vauco.no.` | A | `34.98.77.173` (LB) |
|
||
| `www.vauco.no.` | A | `34.98.77.173` (LB) |
|
||
| `opax.vauco.no.` | A | `34.98.77.173` (LB) |
|
||
| `git.vauco.no.` | A | `34.67.252.59` |
|
||
| MX / SPF / DKIM / DMARC | TXT/MX | Google Workspace komplett |
|
||
|
||
---
|
||
|
||
## ÅPNE PUNKTER
|
||
1. ⚠️ Roter GITEA_TOKEN (eksponert i chat)
|
||
2. `git.vauco.no` HTTPS — firewall prioritet 500 + certbot
|
||
3. Google OAuth2 innlogging i Gitea
|
||
4. GPG-signering — få commits verified
|
||
5. Test `qwen2.5-coder:7b` på konkret kode-/repo-oppgave
|
||
6. Mål RAM/swap under modell-last
|
||
7. Emma derivat-dokument (tilsvarende GEMINI.md)
|
||
8. Fase 8: Snapshot-policy aktiveres
|
||
9. opax.vauco.no domain mapping (Cloud Run → custom domain)
|
||
|
||
## FASTE SANNHETER
|
||
- Gitea er source of truth
|
||
- Lokale modeller er hovedretning
|
||
- Gitea-VM (`34.67.252.59`) er permanent målmaskin — alltid-på
|
||
- Bruk `localhost:3000` fra Gitea-VM, aldri ekstern IP mot seg selv
|
||
- Dev-snap er ikke lenger nødvendig for kjerneflyten
|
||
- CPU er primær flaskehals for tyngre lokale modeller
|
||
|
||
## DEFINITION OF DONE
|
||
- ✅ Lokale modeller lever og kan brukes lokalt
|
||
- ✅ OPAX-MCP bruker lokal modellbackend korrekt
|
||
- ✅ Gitea read/write tools er grønne
|
||
- ✅ GCP/Workspace-kjernen er fortsatt grønn
|
||
- ✅ Smoke-test alle 37 tools — FERDIG
|
||
- ✅ VM oppgradert til e2-highmem-4 (32 GB RAM) — FERDIG
|
||
- ✅ Dev-snap uavhengighet verifisert — FERDIG
|
||
- ✅ OSVauco arbeidskopi på Gitea-VM — FERDIG
|
||
- ⏳ `git.vauco.no` live med HTTPS — neste
|
||
- ⏳ Google OAuth2 innlogging Gitea — etter HTTPS
|
||
- ⏳ GITEA_TOKEN rotert — kritisk
|
||
- ⏳ GPG-signering verified — pågår
|
||
- ⏳ Fase 7: lokal hjerne verifisert — pågår
|
||
- ⏳ Fase 8: daglig snapshot-backup — planlagt
|
||
|
||
## OPPDATERINGSLOGG
|
||
| Dato | Handling |
|
||
|---|---|
|
||
| 2026-07-21 | FASE 4–6: CPU-optimalisering, boot-warming fullført |
|
||
| 2026-07-21 23:44 | DNS: NS-bytte utført hos Proisp |
|
||
| 2026-07-21 23:53 | OPAX-MCP: GITEA_URL + OLLAMA_BASE_URL → 34.67.252.59, deployed |
|
||
| 2026-07-22 00:25 | Smoke-test fullført — alle kategorier grønne |
|
||
| 2026-07-22 03:55 | Handoff oppdatert etter 14B-validering |
|
||
| 2026-07-22 19:25 | OSVauco klonet til Gitea-VM via localhost:3000 |
|
||
| 2026-07-22 19:30 | Dev-snap uavhengighet bekreftet — alle 6 tester grønne |
|
||
| 2026-07-22 19:45 | nginx installert, git.vauco.no konfig opprettet, certbot blokkert av firewall |
|
||
| 2026-07-23 22:14 | Handoff oppdatert med full status, neste steg og sikkerhetsnotis om token |
|