* feat(techdocs): TechDocsPageWrapper to take in labels prop and use TechDocsHeader component
* feat(techdocs): new TechDocsHeader component as wrapper around Header from core
* feat(techdocs): TechDocsPage metadata
* feat(techdocs): TechDocsMetadata class responsible for reading metadata from generated techdocs metadata json file
* fix(techdocs): delete TechDocsPageWrapper component
* fix(app-config): delete /docs from request url
* feat(techdocs): TechDocsHeader with labels to browse metadata
* fix(techdocs): move metadata to backend plugin
* feat(techdocs-backend): introduce two new metadata routes
* feat(techdocs): new techdocs api to be responsible to request metadata from backend
* feat(techdocs): register new api for plugin
* fix(techdocs): reader to take in onReady prop
* fix(techdocs): TechDocsHome component to use its own header
* fix(techdocs): TechDocsPage responsible to get metadata and pass it down to the TechDocsHeader
* fix(techdocs): component tests for both TechDocsHeader and TechDocsPage
* fix(techdocs): adjust api to use /docs in url since it was taken away in requestURL
* fix(tests): move assertion into act
* fix(techdocs): rename TechDocsHeader to TechDocsPageHeader
* fix(techdocs): rename TechDocsHeader to TechDocsPageHeader
* fix(techdocs-backend): add some logs
* Update plugins/techdocs/src/reader/components/TechDocsPage.test.tsx
* delete unused import
* Use a flag to determine wether to use techdocs-container or local install of mkdocs
* Updated techdocs generator to look at app-config string instead of argument to decide how to run the generator
* Removed console log...
* Reverted scaffolder file that was accidentally committed.
* Fixed lint issues
* Added config to create-app template
We're deploying backstage to GKE and have had issues getting techdocs
volume mount logic to work because of mixing paths between the host and
the container running the backend. So we added a condition where if
mkdocs is found in the backend container it will use that to generate
the docs rather than spinning it up in a docker container.
Test for docker using ping() before attempting any docker
operations. If this fails we know docker is unavailable
and we can fail with an more descriptive error.
This adds a GitLab integration for the scaffolder backend.
We're introduceing a preparer and a publisher for GitLab so that we can
read templates from GitLab and publish them to a configured GitLab
instance. The two instances don't need to be the same. For instance,
templates could be public on gitlab.com, but the created repos will live
in a hosted GitLab somewhere else.
The publisher gets its own config object in `app-config.yaml` where the
target instance and token can be specified.
The service catalogue defines both `gitlab` and `gitlab/api` as
processors. They are both handled by the same preparer.
Closes#2372
* Added age check for documentation in github to make sure it's up to date
* Updated failing tests
* Updated docs to explain requestUrl and storageUrl
* Updated failing tests
* Update packages/create-app/templates/default-app/app-config.yaml.hbs
* Update docs/features/techdocs/getting-started.md
Co-authored-by: Emma Indal <emmai@spotify.com>
* Add private repo functionality to GhReaderProcesor
* Add github helper for private github repo
* Edit test
* lint
* Remove debugging console.log()
* Less specific if statement
* shorten get private token
* Actual shortening
* Change how current branch name is retrieved
* Added some more docs for techdocs-backend
* Update plugins/techdocs-backend/README.md
Co-authored-by: Emma Indal <emmai@spotify.com>
* Update plugins/techdocs-backend/README.md
Co-authored-by: Emma Indal <emmai@spotify.com>
* Added example of techdocs storageUrl config
Co-authored-by: Emma Indal <emmai@spotify.com>
* feat(docs-template): Add docs template to create a standalone docs project
* fix(docs-template): add docs template to mock data
* fix(docs-template): owner of template
* add techdocs-ref to cookiecutter docs project
* delete unused cookiecutter json file
* update docs in default index.md file
* rename from .yaml to .yml to be consistent to docs
* update techdocs-ref to use github protocol
* feature(techdocs): JIT generation of techdocs
* Fix linting issues
* Add Techdocs tab to entity page
* Added missing dep
* Added missing dep
* Removed duplicate dep
* Better tab navigation
* Update label on entity page to say docs
* Fix lint issue
* Move building of docs from entity to a function
* feature(techdocs): JIT generation of techdocs
* Fix linting issues
* Add Techdocs tab to entity page
* Added missing dep
* Added missing dep
* Removed duplicate dep
* Better tab navigation
* Update label on entity page to say docs
* Fix lint issue
* Move building of docs from entity to a function
* attempt to add back react as a dep
* Fixed failing test
* fix(techdocs): Hopefully fixed tests
* Fixed another failing test
* Initial apiRef for techdocs storage
* Cleaned up some code in reader
* test(headertabs): add tests to HeaderTabs component
* fix(headertabs): change tab mock id
* fix(techdocs-generator): fix problem with macOS symlink to tmp folder
* fix(lint): remove unused configApiRef
* wip
* Ongoing cleanups
* Cleanups and fix tests
* Initial github preparer. Doesn't work properly yet
* Updated dir preparer to handle github managed-by-location and added github preparer
* Removed old file
* Fixed feedback and added better logging to techdocs build process
* Updated create-app template
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Emma Indal <emmai@spotify.com>
* feature(techdocs): JIT generation of techdocs
* Fix linting issues
* Add Techdocs tab to entity page
* Added missing dep
* Added missing dep
* Removed duplicate dep
* Better tab navigation
* Update label on entity page to say docs
* Fix lint issue
* Move building of docs from entity to a function
* feature(techdocs): JIT generation of techdocs
* Fix linting issues
* Add Techdocs tab to entity page
* Added missing dep
* Added missing dep
* Removed duplicate dep
* Better tab navigation
* Update label on entity page to say docs
* Fix lint issue
* Move building of docs from entity to a function
* attempt to add back react as a dep
* Fixed failing test
* fix(techdocs): Hopefully fixed tests
* Fixed another failing test
* Initial apiRef for techdocs storage
* Cleaned up some code in reader
* test(headertabs): add tests to HeaderTabs component
* fix(headertabs): change tab mock id
* fix(techdocs-generator): fix problem with macOS symlink to tmp folder
* fix(lint): remove unused configApiRef
* wip
* Ongoing cleanups
* Cleanups and fix tests
* WIP cleanups
* Clean up some things
* Clean up some things
* Added missing notice header
* ts issue fixed
* Add show contition to api tab
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Emma Indal <emmai@spotify.com>
* Initial techdocs end to end heavily inspired by scaffolder
* added some tests and fixed linting
* fix(techdocs-backend): fix eslint
* fix(techdocs-backend): cleanup commented test
* Removed unused dependency
* fix(techdocs-backend): updated standalone server
* moved type dependency to devDependencies
* fix: updated dependencies and devDependencies.
* Update plugins/techdocs-backend/src/techdocs/stages/generate/types.ts
Co-authored-by: Emma Indal <emma.indahl@gmail.com>
Co-authored-by: Emma Indal <emmai@spotify.com>
Co-authored-by: ellinors <ellinors@spotify.com>
Co-authored-by: Emma Indal <emma.indahl@gmail.com>