This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Config

The domains defined here can be customized by the system administrator. By default, theyre loaded from `../../group_vars/all/04_applications.yml`, but you can override them per application in your repository:

```yaml
applications:
  {{ application_id }}:
    variable_a: "test string"  # Replaces the default value
    variable_b: {}             # Merges with the existing content
    variable_c: []             # Replaces the default value (use caution with domains)
```

## Placeholder Logic with `<< >>`

You can reference values from the generated `defaults_applications` dictionary at build time by embedding `<< ... >>` placeholders inside your template. For example:

```yaml
url: "{{ web_protocol }}://<< defaults_applications.web-svc-file.domains.canonical[0] >>/assets"
```

- The `<< ... >>` placeholders are resolved by the [`DictRenderer`](../../../utils/dict_renderer.py) helper class.
- The CLI uses the [`DefaultsGenerator`](../../../cli/build/defaults/applications.py) class to merge all role configurations into a single YAML and then calls the renderer to substitute each `<< ... >>` occurrence.
- Use the `--verbose` flag on the CLI script to log every replacement step, and rely on the builtin timeout (default: 10 seconds) to prevent infinite loops.