OSVauco/opax-web/README-opax-web.md

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:

  1. Miljøvariabel: NODE_ENV må være satt til production.
  2. Secrets: Følgende miljøvariabler må være tilgjengelige i kjøremiljøet, f.eks. via Secret Manager:
    • GOOGLE_CLIENT_ID
    • GOOGLE_CLIENT_SECRET
    • SESSION_SECRET
  3. 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 er 8080).

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.

  1. Hent Git Status

    • Klient-event: git:getStatus
    • Server-respons (suksess): git:status:result med payload { data: { status: string, details: string } }
    • Server-respons (feil): git:status:error med payload { message: string }
  2. Hent Aktiv Branch

    • Klient-event: git:getBranch
    • Server-respons (suksess): git:branch:result med payload { data: { current_branch: string } }
    • Server-respons (feil): git:branch:error med payload { message: string }

Driftstips

  • Overvåking: Health-check-endepunktet /health kan 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.