Configuration
Purpose
YAML daemon config: logging, metadata refresh, supplementary interfaces, and routing.
How to get there
- Topic id:
configuration - Section: Setup → Configuration
Guide
All daemon behaviour is driven by /etc/cloud-network/cloud-network.yaml. Key knobs:
network.interfaces.enabled— supplementary NICs to configure from metadata.network.routing— custom table base (table_base), policy routing, default route management.metadata.refresh_interval— how often metadata is re-fetched (default300s).cloud.*— auto-detect or pin provider; tune Azure API version, AWS IMDSv1/v2, GCP recursive fetch.
Copy a provider example from distribution/etc/cloud-network/examples/ as a starting point.
Validate
cnctl apply --dry-run
cnctl apply --dry-run -c distribution/etc/cloud-network/examples/aws.yaml
Apply
sudo cp my.yaml /etc/cloud-network/cloud-network.yaml
sudo systemctl restart cloud-netconfigd
Troubleshooting
- MTU override ignored — the schema field is
mtu.override_value(see annotatedconfig.yaml). - Daemon ignores edits — wrong filename; active path is
cloud-network.yaml, not only the packagedconfig.yaml.
Next steps
Operate (CLI)
- Stage changes in a non-production path; always
--dry-runfirst. - Diff against examples for your cloud (
aws.yaml,azure.yaml,gcp.yaml). - Empty / fail: Dry-run stderr shows YAML parse or duration validation errors.
- Success: Restart completes;
cnctl status networkreflects new interfaces.