are anything specified by Go's [ParseDuration()](https://golang.org/pkg/time/#ParseDuration) method. Only
used when an `ops` listener is set and the Controller is present. Default is 0 seconds.
## Signals
The `SIGHUP` signal causes a controller to reload its configuration file to pick up any updates to the `database url` value. Any other updated values are ignored.
The `SIGTERM` and `SIGINT` signals initiate a graceful shutdown on a controller. A graceful shutdown closes listeners and servers before shutting down the controller.
## KMS Configuration
The controller requires two KMS stanzas for `root` and `worker-auth` purposes:
Boundary serves traffic (API, cluster, and proxy).
Controllers must have at least two listener blocks defined: one marked for
`api` purpose and the other marked for `cluster` purpose.
`api` purpose and the other marked for `cluster` purpose.
Workers will have only one listener, marked for `proxy` purpose.
@ -87,6 +87,16 @@ path to the file.
- [`plugins`](/boundary/docs/configuration/plugins): Configures options for plugins.
## Signals
The `SIGHUP` signal causes worker and controller processes to reload their configuration files to pick up updated values.
~> **Note:** You cannot reload all configuration values using the `SIGHUP` signal. Refer to the configuration pages for
[workers](/boundary/docs/configuration/worker/) and [controllers](/boundary/docs/configuration/controller) for details
on which values can be reloaded on `SIGHUP`.
The `SIGTERM` and `SIGINT` signals cause worker and controller processes to enter graceful shutdown. A graceful shutdown for a controller closes listeners and servers before shutting down the controller. A graceful shutdown for a worker waits for any sessions to drain
before shutting down the worker. Workers in a graceful shutdown state do not receive any new work, including session proxying, from the control plane.
## Example Configurations
For complete example configurations see the sections for