schema_version: 1 model: id: team-wiki name: Team Wiki description: > An arc42 example: a small self-hosted wiki for an engineering team. 1 Requirements, quality goals, stakeholders; 2 Constraints; 4 Solution strategy; 11 Risks; 12 Glossary: cards on this overview. 3 Context: this overview (business) and 0300-context (technical). 5 Building blocks: 0500-building-blocks, black boxes in registry/. 6 Runtime: 0600-runtime. 7 Deployment: 0700-deployment. 8 Crosscutting concepts: card on 0500-building-blocks/level-1. 9 Decisions: decisions/. 10 Quality: 1000-quality. diagram_type: architecture meta: title: Team Wiki - business context output: main.html decisions: [sso-only-via-company-idp] components: - ref: engineer pos: [40, 60] size: [130, 60] - ref: wiki-admin pos: [40, 260] size: [130, 60] - ref: wiki pos: [280, 160] size: [150, 60] - ref: idp pos: [520, 60] size: [150, 60] - ref: object-store pos: [520, 260] size: [150, 60] connections: - { from: engineer, to: wiki, label: reads, variant: emphasis } - { from: wiki-admin, to: wiki, label: runs } - { from: wiki, to: idp, label: sign-in, variant: security } - { from: wiki, to: object-store, label: files } cards: - dot: orange title: 1.1 Requirements items: - "Create, edit and version pages in team spaces" - "Full-text search over every page a user may read" - "Attach files to pages" - "Admin restores the wiki from a nightly backup" - dot: cyan title: 1.2 Quality goals items: - "Findability: any page found in two searches" - "Security: only current staff can read" - "Operability: one person runs it in an hour a week" - dot: amber title: 1.3 Stakeholders items: - "Engineer: fast search, simple editor" - "Wiki admin: little routine work, easy restore" - "Security officer: no access after leaving" - "Team lead: one place for team knowledge" - dot: slate title: 2 Constraints items: - "Runs on the company Kubernetes cluster" - "Sign-in only via the company identity provider" - dot: emerald title: 4 Solution strategy items: - "React, Node.js API, PostgreSQL: one stack the team knows" - "Three blocks plus a backup job: operability" - "Findability: PostgreSQL full-text search (postgres-full-text-search)" - "Security: OIDC at the company IdP only (sso-only-via-company-idp)" - "Operability: files and backups in company object storage" - dot: rose title: 11 Risks and technical debt items: - "Risk: identity provider outage blocks all sign-ins" - "Risk: backups untested until a restore drill is run" - "Debt: attachments are not virus-scanned yet" - dot: violet title: 12 Glossary items: - "Space: pages of one team, mapped to a group" - "Revision: one saved version of a page" - "Attachment: a file stored beside a page"