@@ -140,17 +140,37 @@ workflow, and accepting the request would imply one.
140140# # Switching it on, changing it and switching it off
141141
142142ACME runs on an intermediate or issuing node only. A Root serves no enrolment
143- protocol, so a config that sets `pki.acme` on a Root is refused by
143+ protocol, so a config that switches `pki.acme` on at a Root is refused by
144144` config apply` , by the maintenance install and by `ceremony start --config`.
145145
146146> [!CAUTION]
147- > Don't add `pki.acme` to a Root's config. It is refused, and nothing is
148- > stored. Serve ACME from an issuing node under that Root instead.
147+ > Don't switch `pki.acme` on in a Root's config. It is refused, and nothing
148+ > is stored. Serve ACME from an issuing node under that Root instead. A
149+ > Root accepts a block with `enabled: false`, and never serves it.
149150
150151To switch ACME on, add the `pki.acme` block and run `config apply`. To
151- switch it off, remove the block and apply again. Over the API the block is
152- `Pki.acme` with an explicit `enabled` flag : ` enabled: false` switches it
153- off, and leaving the block out of an `ApplyConfig` keeps what the node has.
152+ switch it off and keep its settings, set `enabled : false` in the block and
153+ apply again; to switch it back on, set `enabled : true` (or remove the line).
154+ A block without `enabled` is on. Removing the block switches ACME off and
155+ drops its settings.
156+
157+ ` ` ` yaml
158+ pki:
159+ acme:
160+ enabled: false
161+ # the rest of the block stays as it was
162+ ` ` `
163+
164+ The node stores a switched-off block's settings and `config get` prints the
165+ block with `enabled : false`, so flipping `enabled` alone is enough to switch
166+ it back on. The Fleet Manager switches a protocol the same way. Nothing reads
167+ a switched-off block at boot, so changing only its settings does not need a
168+ reboot.
169+
170+ Over the API the block is `Pki.acme` with an explicit `enabled` flag.
171+ `enabled : false` switches it off and keeps the settings sent with it, an
172+ `enabled : false` block with no settings drops them, and leaving the block out
173+ of an `ApplyConfig` keeps what the node has, on or off.
154174
155175> [!WARNING]
156176> Every ACME change, switching it on or off included, takes effect at the
@@ -167,7 +187,7 @@ Protocols: ACME on (not running, reboot pending), EST off
167187Reboot: pending (the stored config changes take effect at the next boot)
168188` ` `
169189
170- ` hmac_key_base64` is write-only. `cryptosctl config get` prints it blank, with its
190+ ` hmac_key_base64` is write-only, in a switched-off block too . `cryptosctl config get` prints it blank, with its
171191` key_id` . Leave a blank value as it is and `config apply` keeps the one the
172192node stores for that `key_id`; set a value to replace it. A new `key_id`
173193needs its value, and an apply that leaves it blank is refused. Removing an
0 commit comments