Repository navigation
feat(techdocs): build Backstage TechDocs in CI and publish them to S3/MinIO - #425
Merged
Merged
Conversation
…/MinIO New module techdocs: generate (techdocs-cli generate --no-docker), entity (namespace/kind/name of the catalog-info.yaml entity carrying backstage.io/techdocs-ref), publish (techdocs-cli publish --publisher-type awsS3, path-style for MinIO, optional private CA) and generate-and-publish. Backstage can then run with builder: external and read the finished HTML instead of running mkdocs in its pod. Tools are pinned and Renovate-annotated: mkdocs-techdocs-core 1.7.1, @techdocs/cli 1.12.0, Node.js 22.23.3 from nodejs.org checked against SHASUMS256.txt, on python:3.13-slim by digest. A smoke test builds a fixture in CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013V2i6bap7BGa4ZMJRjBEAP
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 18, 2026
# [0.138.0](v0.137.4...v0.138.0) (2026-10-18) ### Features * **techdocs:** build Backstage TechDocs in CI and publish them to S3/MinIO ([#425](#425)) ([978d3aa](978d3aa))
|
🎉 This PR is included in version 0.138.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
New module
techdocs. TechDocs are built in CI and published to S3/MinIO. Backstage then runs withtechdocs.builder: externaland anawsS3publisher, and only reads the finished HTML. Today mkdocs runs inside the Backstage pod (builder: local,runIn: local), which is why the image ships Python and mkdocs.generatetechdocs-cli generate --no-docker→ site directoryentity<namespace>/<kind>/<name>of the entity incatalog-info.yamlthat carriesbackstage.io/techdocs-ref(multi-document; namespace defaults todefault; errors if there are none or several)publishtechdocs-cli publish --publisher-type awsS3 --awsS3ForcePathStyle, optional--ca-certfor a private CA (Vault PKI). Never cached, because an upload is a side effectgenerate-and-publish--entitydefaults to the catalog filePinned with Renovate annotations (they match the existing
customManagersregex):mkdocs-techdocs-core1.7.1 (pypi)@techdocs/cli1.12.0 (npm)SHASUMS256.txt(same pattern as sops/age)python:3.13-slimby digestTests
docker runon the same base image, with the same Node tarball check and the same versions:generateonstuttgart-things/flux→ site includingtechdocs_metadata.jsonpublishagainst a local S3 (moto) → 89 objects undertechdocs/default/component/flux/entity_test.go(multi-document, namespace, none/several withtechdocs-ref): green. It needs a dummyDAGGER_SESSION_PORT, because the generated package connects ininit.tests/smoke/techdocs.sh, added to the CI allowlist and astask test-techdocs:entityandgenerateon the fixturetests/techdocs. This is the first real run through the Dagger engine.publishis not covered, because it needs S3 credentials. It will be tested on the pilot repo.Next
The reusable workflow in
github-workflow-templates, the TechDocs hooks influx/apps/backstage, and the pilot on sthings-platform.Generated by Claude Code