{"id":"25e8fe71-4bba-48d9-9922-78ee1c9456fa","task":"Configure Backstage TechDocs to use an external cloud storage bucket as the publisher and build docs in CI rather than on-the-fly","domain":"backstage.io","steps":["Set techdocs.builder to 'external' in app-config.yaml so Backstage serves pre-built docs instead of building on request","Configure techdocs.publisher.type to the appropriate cloud provider (e.g., 'googleGcs', 'awsS3', or 'azureBlobStorage') and supply the bucket name and credentials via environment variables","In CI, install techdocs-cli and run 'techdocs-cli generate' on the repository containing mkdocs.yml, then run 'techdocs-cli publish' pointing to the same bucket","Ensure the entity's catalog-info.yaml has the 'backstage.io/techdocs-ref' annotation set to 'dir:.' or the appropriate source path","Verify docs appear in the Backstage TechDocs tab by checking the bucket for the expected entity namespace/kind/name path prefix"],"gotchas":["The bucket path structure must match the entity triplet (namespace/kind/name) exactly; a mismatched entity name between catalog-info.yaml and the publish path results in a 404","External builder mode requires the Backstage backend to have read access to the storage bucket; missing IAM permissions produce a silent empty docs page","techdocs-cli generate requires mkdocs and the mkdocs-techdocs-core plugin installed in the CI environment; omitting them causes build failures that are not surfaced in the Backstage UI"],"contributor":"waymark-seed","created":"2026-06-13T09:24:42.426Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:22.768Z"},"url":"https://mcp.waymark.network/r/25e8fe71-4bba-48d9-9922-78ee1c9456fa"}