From 103ec37829858d2ec589ef4e369fc5f539fee232 Mon Sep 17 00:00:00 2001 From: Jan Riethmayer Date: Mon, 25 May 2026 22:18:14 +0200 Subject: [PATCH] docs: render deployment diagrams with mermaid.js + source toggle & copy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The docs embedded mermaid as an ES module, which Chrome blocks from file:// origins (CORS) — so diagrams showed as raw text when the files are opened locally. Switch to the classic UMD mermaid build plus a classic enhancer script that renders reliably from both file:// and http. Each diagram now renders by default and gains a Diagram/Source toggle and a Copy-source button. Also corrects the deployer SA storage role on the security page to project-level storage.admin (what builds submit actually needs). --- docs/deployment/assets/docs.js | 157 +++++++++++++++++++++++++ docs/deployment/assets/mermaid-init.js | 57 --------- docs/deployment/assets/styles.css | 28 +++++ docs/deployment/index.html | 3 +- docs/deployment/pipeline.html | 3 +- docs/deployment/security.html | 5 +- docs/deployment/tradeoffs.html | 3 +- 7 files changed, 194 insertions(+), 62 deletions(-) create mode 100644 docs/deployment/assets/docs.js delete mode 100644 docs/deployment/assets/mermaid-init.js diff --git a/docs/deployment/assets/docs.js b/docs/deployment/assets/docs.js new file mode 100644 index 0000000..1046b17 --- /dev/null +++ b/docs/deployment/assets/docs.js @@ -0,0 +1,157 @@ +/* Eureka deployment docs — diagram enhancer. + * + * Loaded as a CLASSIC script (not an ES module) on purpose: Chrome blocks + * ` + + diff --git a/docs/deployment/pipeline.html b/docs/deployment/pipeline.html index a03ef4a..0802f5a 100644 --- a/docs/deployment/pipeline.html +++ b/docs/deployment/pipeline.html @@ -146,6 +146,7 @@

Where the data goes

- + + diff --git a/docs/deployment/security.html b/docs/deployment/security.html index 9b4964f..d9652bf 100644 --- a/docs/deployment/security.html +++ b/docs/deployment/security.html @@ -98,7 +98,7 @@

What the deployer can — and can’t — do

RoleGrantsWhy it’s needed cloudbuild.builds.editorSubmit / run buildsTrigger the image build - storage.objectAdmin + bucket storage.adminWrite to the staging bucketUpload build source + storage.admin projectBucket get/list + object writebuilds submit stages source (needs project-level bucket access) serviceusage.serviceUsageConsumerUse project APIsRequired for builds submit artifactregistry.writerRead/write imagesReference the pushed image on deploy run.adminManage Cloud RunCreate revisions, set public access @@ -158,6 +158,7 @@

Injected, not baked

- + + diff --git a/docs/deployment/tradeoffs.html b/docs/deployment/tradeoffs.html index 3d0b409..172af4c 100644 --- a/docs/deployment/tradeoffs.html +++ b/docs/deployment/tradeoffs.html @@ -104,6 +104,7 @@

The throughline

- + +