How to write a custom config¶
When the built-in presets don’t fit your needs, write your own YAML configuration file.
Start from a preset¶
Open Presets, find the preset that most closely matches what you want, and copy its YAML into a local file — for example, concierge.yaml. Edit your file to suit your needs.
For how to point Concierge at your file, see prepare in Commands.
Common adaptations¶
Add or remove a snap¶
List the snaps you need as keys within host.snaps. If you need a specific channel of a snap, add channel: within the snap’s key. For example:
host:
snaps:
charmcraft:
jq:
astral-uv:
channel: latest/beta
Change the Juju version¶
Set juju.channel, and optionally pin an agent-version:
juju:
channel: 3.6/stable
agent-version: "3.6.11"
Turn off Kubernetes¶
Start from dev.yaml and either delete the k8s: block from providers: or disable it explicitly:
providers:
k8s:
enable: false
Add a provider that presets don’t cover¶
To add a Google cloud provider on top of an existing preset, extend the providers: block and provide credentials:
providers:
google:
enable: true
bootstrap: true
credentials-file: /home/ubuntu/google-credentials.yaml
See more: How to provide cloud credentials
Full reference¶
Every field is documented in Configuration schema.