Numbered cards for the text sections (1.1-1.3, 2, 4, 11, 12) on the overview, domain interfaces on the technical context, black-box descriptions for every building block, blocks mapped to nodes in the deployment view, crosscutting concepts on level 1, and a 1000-quality folder with the quality tree. The example test checks each section's card.
51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
schema_version: 1
|
|
diagram_type: architecture
|
|
meta:
|
|
title: Building blocks - level 1
|
|
output: level-1.html
|
|
decisions: [postgres-full-text-search]
|
|
components:
|
|
- ref: engineer
|
|
pos: [40, 160]
|
|
size: [130, 60]
|
|
- ref: web
|
|
pos: [250, 160]
|
|
size: [130, 60]
|
|
- ref: api
|
|
pos: [460, 160]
|
|
size: [130, 60]
|
|
- ref: db
|
|
pos: [460, 360]
|
|
size: [130, 60]
|
|
- ref: backup-job
|
|
pos: [670, 360]
|
|
size: [130, 60]
|
|
- ref: idp
|
|
pos: [670, 60]
|
|
size: [130, 60]
|
|
- ref: object-store
|
|
pos: [880, 160]
|
|
size: [130, 60]
|
|
boundaries:
|
|
- kind: region
|
|
label: Team Wiki
|
|
wraps: [web, api, db, backup-job]
|
|
connections:
|
|
- { from: engineer, to: web, label: HTTPS, variant: emphasis }
|
|
- { from: web, to: api, label: JSON, variant: emphasis }
|
|
- { from: api, to: db, label: SQL, labelAt: [525, 234], decisions: [postgres-full-text-search] }
|
|
- { from: api, to: idp, label: OIDC, variant: security }
|
|
- { from: api, to: object-store, label: files }
|
|
- { from: backup-job, to: db, label: dump }
|
|
- { from: backup-job, to: object-store, label: upload }
|
|
cards:
|
|
- dot: amber
|
|
title: 8 Crosscutting concepts
|
|
items:
|
|
- "Security: OIDC session, every request checked against space groups"
|
|
- "Persistence: PostgreSQL is the only source of truth"
|
|
- "Errors: API returns problem JSON; the web app shows a retry"
|
|
- "Logging: JSON to stdout, collected by the cluster"
|
|
- "Backups: nightly dump to object storage, 30 days"
|
|
- "Config: environment variables, secrets from the vault"
|