ReferenceEnv var references
Syntax
A reference has three parts between ${{ and }}: the kind, the name and the property.
The kind tells if the target is a datastore or a service.
1 / 3
A reference is ${{, three parts with a dot between them, and }}. Example: ${{datastore.app-db.connectionString}}.
The grammar
reference = "${{" , ws , kind , ws , "." , ws , name , ws , "." , ws , property , ws , "}}"
kind = "datastore" | "db" | "database" | "service" | "svc" (case-insensitive)
name = the datastore or service name, exactly as created
property = one of the properties below (case-sensitive)
ws = optional spaces
escape = "$${{" (a literal "${{")The three parts
| Part | Values | Upper and lower case |
|---|---|---|
| kind | datastore, db, database, service or svc | Ferry ignores the case. |
| name | The name of the datastore or the service | Exactly as you created it. |
| property | See the properties of a datastore and of a service. | The case must be the same. |
The rules
- You can put spaces around the parts.
${{ db.app-db.host }}and${{db.app-db.host}}are the same. - A value can have many references with text between them:
postgres://${{db.pg.user}}:${{db.pg.password}}@${{db.pg.host}}/reports. - Only
${{starts a reference.$HOME,${PATH}and{{mustache}}are plain text. - Ferry gives plain text to the container with no change. It never runs a shell on your values.
To write a literal ${{, see the escape rule.