- docs/kontra-architecture.mmd (mermaid source) + rendered PNG/SVG - docs/kontra-architecture-map.html (interactive Archify, validated + visual-checked) - docs/architecture.md (doc with embedded mermaid) - README.md (showcase: stack, content model, design system, deploy, security) - published docs/ to https://maps.lab.audasmedia.com.au/kontra_day/docs/ [secret-scan: skip - false positive on generated mermaid SVG path data]
33 lines
1004 B
Plaintext
33 lines
1004 B
Plaintext
flowchart LR
|
|
subgraph editors["Content Editors"]
|
|
O[Obsidian vault<br/>/obsidian/kontra_content] -->|git push| G
|
|
N[Neovim / CLI] -->|git push| G
|
|
D[Decap CMS<br/>admin.kontra.lab] -->|OAuth + git commit| G
|
|
end
|
|
|
|
subgraph gitea["Gitea (192.168.20.35 :3001 Docker)"]
|
|
G[(sam/kontra-content<br/>markdown origin of truth)]
|
|
end
|
|
|
|
subgraph prod["Kontra container (192.168.20.13 :8600 Docker)"]
|
|
P[git pull loop<br/>every 30s] -->|restart on change| B
|
|
B[Go binary<br/>templ + htmx + Goldmark]
|
|
B --> MD[(Markdown render<br/>front-matter + shortcodes)]
|
|
end
|
|
|
|
subgraph media["Media (Garage S3 on .13)"]
|
|
S3[(Garage S3<br/>kontra-day bucket)]
|
|
end
|
|
|
|
G -->|"SSH git"| P
|
|
B -->|"shortcode: media"| S3
|
|
B -->|"emits HTML"| CB[Caddy master<br/>.35 :80/:443]
|
|
CB -->|"reverse_proxy :8600"| B
|
|
|
|
subgraph net["Network"]
|
|
CB -->|https| WWW[kontra.lab.audasmedia.com.au]
|
|
CB -->|https| ADM[admin.kontra.lab.audasmedia.com.au]
|
|
end
|
|
|
|
WWW -->|browser| B
|
|
ADM -->|browser| D |