2.4 KiB
2.4 KiB
OPAX / Web TUI Intern Dokumentasjon
Denne filen beskriver hvordan man kjører og overvåker backend-tjenesten for OPAX / Web TUI.
Kjøre i produksjonsmodus
Applikasjonen er designet for å kjøre i en Node.js-container. For å starte serveren i produksjonsmodus, sørg for at følgende er satt:
- Miljøvariabel:
NODE_ENVmå være satt tilproduction. - Secrets: Følgende miljøvariabler må være tilgjengelige i kjøremiljøet, f.eks. via Secret Manager:
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETSESSION_SECRET
- Konfigurasjon:
FRONTEND_URL: Den fulle URL-en til frontend-applikasjonen (f.eks.https://opax.vauco.no).ALLOWED_EMAILS: En komma-separert liste med e-postadresser som har lov til å logge inn.PORT: Porten serveren skal lytte på (default er8080).
Serveren startes ved å kjøre hovedfilen:
node opax-web/backend/server.js
Health Check
Tjenesten har et health check-endepunkt for ekstern overvåking.
- URL:
/health - Metode:
GET - Suksessrespons (HTTP 200):
{ "status": "ok" }
API-endepunkter (Socket.IO)
Klienten kommuniserer med serveren via Socket.IO for å hente Git-informasjon. All kommunikasjon krever en aktiv, autentisert sesjon.
-
Hent Git Status
- Klient-event:
git:getStatus - Server-respons (suksess):
git:status:resultmed payload{ data: { status: string, details: string } } - Server-respons (feil):
git:status:errormed payload{ message: string }
- Klient-event:
-
Hent Aktiv Branch
- Klient-event:
git:getBranch - Server-respons (suksess):
git:branch:resultmed payload{ data: { current_branch: string } } - Server-respons (feil):
git:branch:errormed payload{ message: string }
- Klient-event:
Driftstips
- Overvåking: Health-check-endepunktet
/healthkan brukes av en ekstern monitortjeneste (f.eks. Google Cloud Monitoring Uptime Check). Konfigurer monitoren til å sende en GET-forespørsel hvert minutt og varsle ved ikke-200-status over en periode på for eksempel 3-5 minutter. - Logging: All applikasjonslogging (inkludert feil) skrives til
stdout/stderr. I et container-miljø som Cloud Run, blir disse loggene automatisk samlet inn og kan sees i Google Cloud Logging. Bruk filter i Logging for å isolere logger fra denne spesifikke Cloud Run-tjenesten.