How to set charm options within a bundle

When deploying an application, the charm you use will often support or even require specific configuration options to be set. This is done by including an options field to the application.

For example, to set the “flavor” of MySQL to ‘percona’:

mysql:
  charm: "cs:trusty/mysql-57"
  num_units: 1
  options:
    flavor : percona
  annotations:
    "gui-x": "139"
    "gui-y": "168"

Values for options and annotations can also be read from a file. For binary files, such as binary certificates, there is an option to base64-encode the contents. A file location can be expressed with an absolute or relative (to the bundle file) path. For example:

applications:
  my-app:
    charm: some-charm
    options:
      config: include-file://my-config.yaml
      cert: include-base64://my-cert.crt

See section Discovering application configuration options to learn about a charm’s options.