Research-Ready Platform — Technische Architectuur
Build Pipeline, BPMN Procesflows & Systeemontwerp
1 Systeemoverzicht
Research-Ready is een volledig statisch platform dat bestaat uit twee complementaire bouwlagen:
- Astro — de marketingsite en navigatie (NL/EN i18n, statisch gerenderd)
- Quarto — automatisch gegenereerde presentaties, rapporten en de cert-prep trainingssite
Alle output wordt gedeployed via Cloudflare Pages (directe upload via Wrangler). Er is geen Git-integratie met Cloudflare — elke deploy wordt expliciet getriggerd.
2 1. Component Architectuur (C4 Level 2)
3 2. Build Pipeline — BPMN Procesflow
Het platform kent twee deploypaden: automatisch via GitHub Actions (voor Quarto-content zonder ingebedde fonts) en handmatig via Wrangler (voor alles of wanneer de PublicPushGate hook de push blokkeert).
4 3. Deployment Sequencediagram
5 4. Contentstructuur & URL-mapping
6 5. Cert-Prep Site Architectuur
De cert-prep site gebruikt Quarto’s type: website project — dit genereert een volledige multi-page site met navbar en sidebar, in tegenstelling tot losse HTML-bestanden.
7 6. Technische Stack
| Laag | Technologie | Versie / Config |
|---|---|---|
| Marketingsite | Astro | Static, NL/EN i18n |
| Presentaties | Quarto + RevealJS | embed-resources: true, custom SCSS |
| Rapporten | Quarto + HTML | Cosmo theme, externe CSS |
| Cert-Prep | Quarto Website | type: website, sidebar + navbar |
| CI/CD | GitHub Actions | quarto-dev/quarto-actions/setup@v2 |
| Deploy | Cloudflare Pages | Direct upload via Wrangler 4.x |
| CDN | Cloudflare | Automatische .html stripping (308) |
| Auth | CF API Token | Pages Write scope |
| Security (lokaal) | PublicPushGate hook | Blokkeert base64 in public repo push |
8 7. Bekende Beperkingen & Ontwerpkeuzes
| Beslissing | Reden |
|---|---|
| CF Pages = directe upload (geen Git-integratie) | Project was als empty geïnitialiseerd; Wrangler geeft meer controle |
embed-resources: false voor cert-prep |
Voorkomt base64-font inbedding → PublicPushGate niet getriggerd |
embed-resources: true voor presentaties |
RevealJS vereist self-contained HTML voor offline gebruik |
| Geen R/Python engine in GHA | Code blocks als plain fences, geen {r} of {python} → geen runtime nodig |
CSS via css: key, niet in theme: array |
Quarto verwacht SCSS layer markers in theme:; plain CSS mag alleen via css: |
GHA heeft contents: write permissie |
Bot commit van gegenereerde Quarto output terug naar repo |
9 8. ITIL Service Management
Research-Ready volgt de ITIL v4 Service Lifecycle als kader voor service delivery, change management en continual improvement.
9.1 8.1 ITIL Service Lifecycle
9.2 8.2 Change Management — Normal Change Proces
Elke inhoudelijke wijziging doorloopt het ITIL Normal Change proces. De git commit fungeert als Request for Change (RFC).
9.3 8.3 Service Catalog
| Service | Type | Doelgroep | Levertijd | Availability | Eigenaar |
|---|---|---|---|---|---|
| Marketing Website | Business Service | Bezoekers / prospects | Continu (CDN) | 99.9% (CF SLA) | Research-Ready |
| Quarto Presentaties | Supporting Service | Klanten / partners | On-demand render (~2 min) | 99.9% | Research-Ready |
| Quarto Rapporten | Supporting Service | Klanten / partners | On-demand render (~1 min) | 99.9% | Research-Ready |
| Cert-Prep Hub | Training Service | Security professionals | Continu (CDN) | 99.9% (CF SLA) | Research-Ready |
| Build Pipeline (GHA) | IT Service | Platform team | On push (< 5 min) | Afhankelijk van GitHub SLA | GitHub / Research-Ready |
9.4 8.4 Incident Management
9.5 8.5 Configuration Management Database (CMDB)
De GitHub-repository is het centrale Configuration Management Database (CMDB). Elk bestand is een Configuration Item (CI).
| CI Type | Locatie | Verantwoordelijke | Wijzigingsprocedure |
|---|---|---|---|
| Astro broncode | src/** |
Platform team | Normal Change via PR |
| Quarto content | quarto/** |
Content team | Standard Change via commit |
| Build workflow | .github/workflows/ |
Platform team | Normal Change — handmatige review |
| Cloudflare API token | KeePass vault | Platformbeheerder | Rotatie elk kwartaal |
| Account ID / Project naam | KeePass vault | Platformbeheerder | Wijziging = infrastructuur change |
| Gegenereerde output | public/** |
GHA / auteur | Automatisch — geen directe wijziging |
Gegenereerd door Research-Ready Quarto-pipeline.