Document Substitutions In The Descriptor Format

This commit is contained in:
Oliver Sand
2020-11-24 16:02:44 +01:00
parent 1d55b1e976
commit b0f286b83c
@@ -93,6 +93,41 @@ significance and have reserved purposes and distinct shapes.
See below for details about these fields.
## Substitutions In The Descriptor Format
The descriptor format supports substitutions using `$text`, `$json`, and
`$yaml`.
Placeholders like `$json: https://example.com/entity.json` are substituded by
the content of the referenced file. Files can be referenced from any configured
integration similar to locations by passing an absolute URL. It's also possible
to reference relative files like `./referenced.yaml` from the same location.
There are three different types of placeholders:
- `$text`: Interprets the content of the referenced file as plain text and embed
it as a string.
- `$json`: Interprets the content of the referenced file as JSON and embed the
parsed structure.
- `$yaml`: Interprets the content of the referenced file as YAML and embed the
parsed structure.
For example, this can be used to load the definition of an API entity from a web
server and embed it into the entity:
```yaml
apiVersion: backstage.io/v1alpha1
kind: API
metadata:
name: petstore
description: The Petstore API
spec:
type: openapi
lifecycle: production
owner: petstore@example.com
definition:
$text: https://petstore.swagger.io/v2/swagger.json
```
## Common to All Kinds: The Envelope
The root envelope object has the following structure.