@@ -230,9 +230,17 @@ You may optionally provide your own variable files (in your project) that will b
1. look for an env-specific `cf-vars-$environment_type.yml` (e.g. `cf-vars-staging.yml` for staging environment).
2. or default `cf-vars.yml`.
:warning: Your `cf-vars-$environment_type.yml` or `cf-vars.yml` files **may** contain variable patterns such as `${MY_SECRET}`.
If so, those patterns will be evaluated (replaced) with actual environment values. Beware that those values can be leaked by the `cf push` output.
Multiline variables must be surrounded by **double quotes** (`"`).
#### Variables substitution mechanism (in variable files)
While your scripts may freely use any of the available variables, your variable files (`cf-vars-$environment_type.yml` and `cf-vars.yml`)
may use a **variables substitution** mechanism implemented by the template:
- Using the syntax `${VARIABLE_NAME}` or `%{VARIABLE_NAME}`.
:warning: Curly braces (`{}`) are mandatory in the expression (`$VARIABLE_NAME` won't be processed).
- Each of those expressions will be **dynamically expanded** in your variable files with the variable value, right before being used.
- Variable substitution expressions **must be contained in double-quoted strings**.
The substitution implementation takes care of escaping characters that need to be (double quote `"`, backslash `\`, tab `\t`, carriage return `\n` and line feed `\r`).
- Variable substitution can be prevented by appending `# nosubst` at the end of any line.