* 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
* 'master' of github.com:spotify/backstage:
Add initial kubernetes services and configmap UI support (#2635)
Clean up the repository
Integrate with travis-ci plugin
docs: fix typos in the documentation (#2633)
fix(circleci): add api route prefix to proxy rewrite path
This feature works the same as $secret does in config - it allows programmatic substitution of values into a document.
This is particularly useful e.g. for API type entities where you do not want to repeat your entire API spec document inside the catalog-info.yaml file. For those cases, you can instead do something like
```yaml
apiVersion: backstage.io/v1alpha1
kind: API
metadata:
name: my-federated-service
spec:
type: graphql
definition:
$file: ./schema.graphql
```
The textual content of that file will be injected as the value of `definition`, during each refresh loop. Both relative and absolute paths are supported, as well as any HTTP/HTTPS URL pointing to a service that returns the relevant data.