Admin documentatie

Deployment van admin.psra.nl

Deze handleiding beschrijft hoe je de PSRA admin cockpit uitrolt als dedicated deployment. Volg de stappen om de compose- of Kubernetesprofielen te activeren, monitoring te koppelen en beveiligingseisen te borgen.

1. Voorbereiding

Controleer of de PSRA core services (API, database, event bus) draaien en dat je een geldig Sevensa service-account hebt voor de admin cockpit.

  • Sync de laatste container images met `docker compose pull` of `npm run docker:pull`.
  • Verifieer database migraties met `npm run prisma:migrate:status` binnen de hoofdapp.
  • Zorg dat de `.env.admin` secrets beschikbaar zijn in Vault of in je lokale environment file.

2. Deployen op poort 3006

Gebruik het dedicated compose-profiel of Kubernetes manifest om de admin cockpit uit te rollen. De standaardconfiguratie luistert op poort 3006 met TLS offloading via Traefik.

  • Docker compose: `docker compose --profile admin up -d` binnen de PSRA root.
  • Kubernetes: pas `ops/k8s/admin/values.yaml` toe met `helm upgrade --install admin-console charts/psra-admin -f values.yaml`.
  • Controleer dat de service `psra-admin` healthy is via `kubectl get pods -l app=psra-admin` of `docker compose ps -a`.

3. Post-deploy validatie

Voer de health-checks uit en activeer monitoring zodat RevOps- en compliance-teams realtime inzichten krijgen.

  • Open https://admin.psra.nl of http://localhost:3006 en log in met je service-account.
  • Valideer CRM syncs door een testaccount bij te werken en controleer of de wijziging verschijnt in de PSRA hoofdapp.
  • Controleer telemetry in Grafana dashboard `PSRA Admin` en stel alerting in voor foutpercentages >2%.

Belangrijke omgevingsvariabelen

  • `PSRA_ADMIN_PORT=3006`
  • `PSRA_ADMIN_BASE_URL=https://admin.psra.nl`
  • `SEVENSA_CRM_API_URL=https://crm.psra.internal`
  • `SEVENSA_AUTOMATION_ORCHESTRATOR=https://automation.psra.internal`

Monitoring & logging

  • Forward admin logs naar Loki met label `service=psra-admin`.
  • Activeer distributed tracing via `OTEL_SERVICE_NAME=psra-admin`.
  • Gebruik de Playwright smoke test `npm run test:admin-smoke` na elke deploy.

Security checklist

  • Forceer SSO via Keycloak realm `psra-admin` met SCIM provisioning.
  • Rol secrets via Sevensa Vault met rotatie elke 24 uur.
  • Beperk ingress tot trusted IP ranges en interne service mesh.

Configuratievoorbeelden

Compose-profiel voorbeeld

Gebruik dit fragment om de admin cockpit naast de marketing site en hoofdapp te draaien.

services:
  admin:
    image: registry.sevensa.dev/psra/admin:latest
    env_file: .env.admin
    ports:
      - '3006:3006'
    depends_on:
      - api
    profiles:
      - admin

Helm override snippet

Pas deze waarden toe in je deployment pipeline voor staging of productie clusters.

ingress:
  enabled: true
  hosts:
    - host: admin.psra.nl
      paths:
        - path: /
          pathType: Prefix
service:
  type: ClusterIP
  port: 3006
resources:
  requests:
    cpu: 200m
    memory: 512Mi
  limits:
    cpu: 500m
    memory: 1Gi