FerryDocs

Syntax

A reference has three parts between ${{ and }}: the kind, the name and the property.

Edit on GitHub
datastorekindapp-dbnameconnectionStringproperty

The kind tells if the target is a datastore or a service.

1 / 3

A is ${{, three parts with a dot between them, and }}. Example: ${{datastore.app-db.connectionString}}.

The grammar

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

PartValuesUpper and lower case
datastore, db, database, service or svcFerry ignores the case.
nameThe name of the datastore or the serviceExactly as you created it.
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 on your values.

To write a literal ${{, see the escape rule.

On this page