Hosting-krav ved egen drift
Spørgeskema til drift-teamet før Ressourcify installeres i jeres egen Kubernetes-klynge: database, netværk, certifikater, identitet og image-levering.
Kører I Ressourcify i jeres egen klynge frem for som service, er der en håndfuld forhold vi skal kende på forhånd. Denne side er skrevet til at blive sendt videre til drift-teamet og besvaret punkt for punkt.
Svar på de fem markerede først. De øvrige kan afklares undervejs, men de fem enten blokerer opstart eller viser sig senere som fejl der er svære at spore.
Kort om hvad der installeres
Ressourcify leveres som et Helm-chart og ét container-image. Charten indeholder en Deployment, et migrations-Job der kører før nye pods, en Secret, en ConfigMap og en valgfri Ingress. Databasen er jeres egen — vi bundler ikke Postgres.
1. Klynge og runtime
| # | Spørgsmål |
|---|---|
| 1.1 | Hvilken Kubernetes-distribution og version? (GKE, EKS, AKS, Talos, OpenShift, on-prem) |
| 1.2 | Håndhæves Pod Security Standards? I så fald baseline eller restricted? |
| 1.3 | Findes der admission-politikker vi skal overholde — påkrævede labels, forbudte capabilities, krav om ressource-limits? |
| 1.4 | Hvilke ressourcer må pod'en tildeles (CPU og hukommelse, requests og limits)? |
Imaget kører som en ikke-privilegeret bruger, bruger ingen hostPath og kræver
ingen ekstra capabilities. Vi forventer derfor at passe ind i restricted, men
tildeler jeres platform tilfældige UID'er (som OpenShift gør), skal vi vide det
inden charten bygges.
2. Database
2.2 er det vigtigste spørgsmål på hele siden. Alle tabeller har Row Level Security slået til, og designet er at applikationens rolle ejer tabellerne og dermed er undtaget. Får vi en begrænset rolle i stedet, blokerer RLS al adgang — og symptomet er en tom applikation uden fejlbeskeder, ikke en fejlmeddelelse.
| # | Spørgsmål |
|---|---|
| 2.1 | Hvilken Postgres-version? Minimum 14. |
| 2.2 | Kan vi få en rolle der ejer sine egne tabeller? Ikke en begrænset applikationsbruger |
| 2.3 | Har rollen rettigheder til CREATE TABLE og ALTER TABLE? Migrationer kører ved hver opgradering |
| 2.4 | Er der en connection pooler foran (pgbouncer, RDS Proxy, Cloud SQL Proxy)? I så fald: transaction- eller session-mode? |
| 2.5 | Hvad er max_connections? |
| 2.6 | Hvem tager backup, hvor ofte, og hvordan gendannes den? |
Om 2.4: kører pooleren i transaction-mode, skal vi have to forbindelsesstrenge — én gennem pooleren til driften, og én uden om til migrationerne, som kræver session-niveau.
Om 2.6: en opgradering kører migrationer der ikke kan rulles tilbage automatisk. Backup før opgradering er jeres ansvar, og det er vejen tilbage hvis noget går galt.
3. Indgående netværk og certifikater
| # | Spørgsmål |
|---|---|
| 3.1 | Er der en ingress-controller? Hvilken — nginx, Traefik, GKE Ingress, Istio? |
| 3.2 | Hvordan udstedes TLS-certifikater? cert-manager, virksomhedens egen CA, eller termineres TLS uden for klyngen? |
| 3.3 | Kan Let's Encrypt bruges? Og i så fald: kan ACME-udfordringen løses over HTTP-01, eller kræves DNS-01? |
| 3.4 | Hvilket hostname får installationen? |
| 3.5 | Overskriver jeres proxy headeren X-Forwarded-For, eller appender den til klientens egen? |
TLS er ikke valgfrit. Microsoft Entra ID afviser http://-redirect-URI'er
for alt andet end localhost. Uden et gyldigt certifikat kan ingen logge ind.
Om 3.3: HTTP-01 kræver at Let's Encrypt kan nå klyngen udefra. Er installationen kun tilgængelig internt, skal I bruge DNS-01 mod jeres DNS-udbyder, eller udstede fra jeres egen interne CA.
Om 3.4: hostnavnet skal ligge fast, før app-registreringen i Entra kan konfigureres — redirect-URI'en skal matche tegn for tegn.
Om 3.5: for brugere der ikke er logget ind, bruger vi den første IP i
headeren som nøgle til rate limiting. Appender jeres proxy klientens egen header
frem for at overskrive den, kan en anonym klient omgå grænsen. I nginx betyder
det proxy_set_header X-Forwarded-For $remote_addr; — ikke
$proxy_add_x_forwarded_for.
4. Udgående netværk
| # | Spørgsmål |
|---|---|
| 4.1 | Er udgående trafik begrænset af NetworkPolicy, firewall eller proxy? |
| 4.2 | Kræver udgående HTTPS en proxy (HTTPS_PROXY)? |
Skal whitelistes:
| Destination | Hvornår | Hvis blokeret |
|---|---|---|
login.microsoftonline.comgraph.microsoft.com | Altid | Ingen kan logge ind |
portal.ressourcify.dk | Ved licenshåndhævelse | Fejler tavst |
| Jeres Jira | Hvis Jira-modulet bruges | Synkronisering fejler |
| SMTP-server eller Graph | Hvis e-mail bruges | Ingen notifikationer |
Licens-opslaget fejler åbent og uden fejlmeddelelse. Installationen kører videre, men licensstatus opdateres aldrig. Tag destinationen med i whitelisten fra begyndelsen — ellers opdages det typisk først længe efter.
5. Microsoft Entra ID
| # | Spørgsmål |
|---|---|
| 5.1 | Kan I oprette en app-registrering i jeres egen tenant? |
| 5.2 | Kan app-registreringen udstede groups-claimen? (Token configuration → Add groups claim) |
| 5.3 | Har I sikkerhedsgrupper til mindst "alle brugere" og "administratorer"? Hvad er gruppernes Object ID? |
| 5.4 | Er nogen brugere medlem af mere end ca. 200 grupper? |
App-registreringen er 100 % jeres egen — vi deler ikke en registrering på tværs af kunder, og vi får ingen adgang til jeres tenant.
Om 5.2: uden claimen tildeles ingen roller ved login, og alle brugere lander med den laveste adgang. Der findes en nødvej, men den kræver at gruppe-mapningen så udelades helt — ellers fjerner synkroniseringen tildelingen igen.
Om 5.4: overstiger nogen grænsen, udelader Entra claimen helt for dem, og resultatet bliver det samme som i 5.2.
6. Levering af image
| # | Spørgsmål |
|---|---|
| 6.1 | Kan I trække fra et privat registry hos os (GitHub Container Registry med et token vi udsteder)? |
| 6.2 | Eller skal imaget spejles til jeres eget registry (Artifact Registry, ACR, Harbor, ECR)? |
| 6.3 | Scannes images før deploy? Har I brug for SBOM eller signatur? |
Imaget indeholder applikationens kildekode og skal derfor altid ligge i et privat registry — uanset hvilken af de to veje I vælger.
7. Drift
| # | Spørgsmål |
|---|---|
| 7.1 | Hvem kører opgraderinger, og hvad er jeres ændringsvindue? |
| 7.2 | Findes der et staging-miljø hvor opgraderinger kan afprøves først? |
| 7.3 | Hvor sendes logs hen, og kan vi få adgang ved fejlsøgning? |
| 7.4 | Hvor mange samtidige brugere forventer I? |
De fem der skal besvares først
- 2.2 — en rolle der ejer sine egne tabeller
- 3.1 — findes der en ingress-controller
- 3.2 — hvordan udstedes certifikater
- 5.2 — kan
groups-claimen udstedes - 6.1 eller 6.2 — hvordan I får fat i imaget
De øvrige kan afklares mens installationen forberedes.