--- // Architecture diagrams as static SVG (authored to match the site style), shown on a // constant light card so the fixed-colour art stays legible in BOTH light and dark themes. // CSP-clean: a plain same-origin (img-src 'self'); no inline script, no web fonts. // SVG sources live in /public/diagrams/.svg — the same files the blog posts embed. interface Props { name: string; caption?: string; } const { name, caption } = Astro.props; const captions: Record = { "edge-ai": "Design → single-press pipeline → readiness-gated GPU inference at the edge", "iac-fleet": "One source of truth → AWX/Ansible → identical edge nodes, even air-gapped", homelab: "Bare metal → GitOps clusters → services, exposed outbound-only via a tunnel", "authentik-sso": "One identity provider, 2FA at the flow; apps validate over an internal back channel", "outbound-exposure": "No open ports — the origin dials out; the edge is the perimeter", }; const cap = caption ?? captions[name]; ---
{cap {cap &&
{cap}
}