diff --git a/docs/examples.md b/docs/examples.md index 50a7a122..d91ee2b3 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -374,6 +374,29 @@ systemd: WantedBy=multi-user.target ``` +## Creating derived configs + +A common scenario will be to have a "base" Ignition config, and then you want to create machine-specific versions that e.g. contain static IP addressing or a static `/etc/hostname`, etc. + +Another common scenario is to have a pool of bare metal machines where some have e.g. SATA disks, other newer machines have NVMe drives, etc. + +In the following, the `base.ign` is an Ignition config file you have locally. It could be generated via whatever mechanism you prefer (could also be butane, or not). These examples just change the value of `/etc/hostname`, but everything above (storage configuration etc.) can be added too. + + +```yaml +variant: fcos +version: 1.1.0 +ignition: + config: + merge: + - local: base.ign +storage: + files: + - path: /etc/hostname + contents: + inline: foo.example.com +``` + [spec]: specs.md [dropins]: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Description [fcos-auth-docs]: https://docs.fedoraproject.org/en-US/fedora-coreos/authentication diff --git a/test b/test index a8b76cdd..3bab50ee 100755 --- a/test +++ b/test @@ -27,7 +27,7 @@ mkdir tmpdocs trap 'rm -r tmpdocs' EXIT # Create files-dir contents expected by configs mkdir -p tmpdocs/files-dir/tree -touch tmpdocs/files-dir/{config.ign,ca.pem,file,file-epilogue,local-file3} +touch tmpdocs/files-dir/{base.ign,config.ign,ca.pem,file,file-epilogue,local-file3} for doc in docs/*md do