When a new Backstage app is setup, the techdocs backend file contains all the preparers (dir, github, gitlab, etc.) and same for generators. While this providers added customizibility, it comes with a cost of complexity in setting up the app backend. New preparers' updates would need users to update their app's techdocs backend file.
Scaffolder backend has already moved to this proposed pattern.
Plus
1. Introduce ncessary configs to connect with storage
2. Introduce config to prefer CI build of docs, or techdocs-backend to build and publish them.
3. Write guide how to use Google Cloud Storage with TechDocs
4. Add a TechDocs Configuration reference page in docucmentation
If a backstage App wants to enable techdocs plugin, it should only have to care about installing @backstage/plugin-techdocs and @backstage/plugin-techdocs-backend.
@backstage/plugin-techdocs-backend should re-export necessary APIs from techdocs-common
1. Don't use mkdocs in name of APIs or variables. It is an implementation detail and liable to change in future.
2. techDocsApi.getMetadata('mkdocs') and techDocsAPI.getMetadata('entity') should be two separate functions just because their responses differ in structure. They should also be type checked.
3. Use either 'techdocs' or 'TechDocs' consistently. 'techDocs' seems like an unnecessary third way to write TechDocs, which can be avoided.
4. Remove unused /plugins/techdocs-backend/src/service/metadata.ts file
* TechDocs: Logger already prints the name of plugin
* TechDocs: Display a custom error message if provided
* TechDocs: throw custom error message if index.md is not present
* Language improvements. Thanks @freben
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
* Basic implementation of readTree on github and use it in techdocs
* Added a UrlPreparer and cleaned up some minor things
* Download entire archive and filter out the wanted files in readTree
* Added test for dir output of tree reader
* Fixed formatting
* Fixed formatting
* Some cleanups and fixes
* Fix typing issues
* Fix prettier
* Fix prettier
* Removed unused dependency
* Fixed comments on PR
* Prettier
* Moved @types/fs-extra to devDeps
* Fixed another PR comment
* Added a test for getDocFilesFromRepository
* Prettier
* 'master' of github.com:spotify/backstage:
Read git auth token from backend config (#2992)
chore(catalog-model): add the petstore into the default entities
chore(deps-dev): bump @storybook/addon-actions from 6.0.21 to 6.0.26
chore(deps): bump eslint-config-prettier from 6.10.0 to 6.14.0
Add API docs link to About card
adds a sample organization set of users and groups (#2963)
Make sure hasCostsWithinTimeframe is a boolean
fix(catalog-backend): fix codeowners processor to handle users
feat(catalog): add simple client side paging
default to last 30 days
Removed default-branch library since it's no longer used (#3019)
useRealTimers in onCssReady test case
move type dependecy
remove unused import
changeset
simpler query params
* origin:
fix: ts
fix: forwardRef to SidebarItem
fix(cli): one more await in the test
backend-common: make loadBackendConfig return config directly and log all resolved app-configs
* 'master' of github.com:spotify/backstage: (34 commits)
TechDocs Backend: Replace hardcoded github api by configuration value (#3004)
fix: accordion details design for job stage failure (#3014)
fix: responsive of page example in storybook (#3005)
fix: update the ItemCard component and it's story (#3007)
rename stories folder to Chip (#3009)
feat: Display the plugins InfoCards on EntityPage Overwiev suitable full height (#2826)
fix(cost-insights): More exports to help custom alerting
chore(scaffolder): bump rjsf
remove unused CSS (#2999)
feat: update github pull requests package version
fix(github-actions): fix crash when viewing ongoing workflows
fix(cli): removePlugin forgotten await
catalog-backend: relations db review comments and more tests
Feat/add aws lambda plugin (#2985)
chore(deps): bump object-path from 0.11.4 to 0.11.5 (#2983)
add changeset
fix CodeSnippet test case warnings
fix CopyTextButton test case warnings
fix the warning by wrapping in act
fix(catalog): fix link to techdocs
...
* replace hardcoded by configuration value
* use integrations configuration to read github apiBaseUrl
Co-authored-by: Emre Konar <emre.konar@zalando.de>
* 'master' of github.com:spotify/backstage: (139 commits)
Cleanup
Update PinButton.test.tsx
feat: update github insights plugin version (#2973)
Ignore IntelliJ *.iml files (#2971)
chore(deps): bump rollup-plugin-dts from 1.4.11 to 1.4.13
fix the plugin card on plugins page
align 'Add to Marketplace' button on plugins page
fix the PluginGrid on mobiles sizes
use getBy query instead of queryBy when asserting for elements present in document (#2951)
Update PinButton.tsx
Add test case for Progress component (#2953)
fix the styling of footer copy on mobile
add changeset
handle the case where no entities are available to show
core-api: work around issue with ApiRef export const declarations
core-api: move utility api system implementation into apis/system
Update docs regarding npm config ignore-scripts flag
Another try
Fix Core Features configuration id (#2948)
Fix test?
...
* 'master' of github.com:spotify/backstage: (66 commits)
chore: fix lerna linting
v0.1.1-alpha.25
Add Code Insights plugin to sample app and marketplace (#2833)
Improve main CI build status badge in README (#2866)
Update roadmap: Design System 🚢 (#2858)
github/codecov: switch to informational mode
github/workflows: use the tip of master as the base for comparing PR code coverage
make saml provider path from globalConfig (#2855)
fix(catalog-backend): limit search value lengths
Update project Copyright (#2852)
fix(catalog-backend): actually use modified entity output (default namespace was broken)
remove unnecessary center keyword
Move card header bg to up contrast, fix#2558
Update name of env authentication env vars
Fix feedback from dtuite
Remove chart testing workflow for now
Only lint charts on Pull Requests
Move the k8s deployment docs to its own helm deployment page
Remove line in initdb script that creates backend db
Use app-config.development.yaml to provide configuration instead of local
...