2020-09-23 12:15:21 -07:00
|
|
|
|
---
|
|
|
|
|
|
layout: docs
|
2022-06-22 00:37:49 -06:00
|
|
|
|
page_title: Overview/Top-Level Parameters
|
2020-09-23 12:15:21 -07:00
|
|
|
|
description: Boundary configuration reference.
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# Configuration
|
|
|
|
|
|
|
|
|
|
|
|
[listener]: /docs/configuration/listener
|
|
|
|
|
|
[controller]: /docs/configuration/controller
|
|
|
|
|
|
[worker]: /docs/configuration/worker
|
|
|
|
|
|
[kms]: /docs/configuration/kms
|
2021-11-17 17:21:20 -05:00
|
|
|
|
[plugins]: /docs/configuration/plugins
|
2022-06-22 03:31:16 -04:00
|
|
|
|
[events]: /docs/configuration/events
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-06-22 00:37:49 -06:00
|
|
|
|
Outside of development mode, Boundary controllers and workers are configured
|
|
|
|
|
|
using a file. The format of this file is
|
|
|
|
|
|
[HCL](https://github.com/hashicorp/hcl). In this section you'll find
|
2020-09-23 12:15:21 -07:00
|
|
|
|
configuration block examples for Boundary controllers and workers.
|
|
|
|
|
|
|
2022-06-22 00:37:49 -06:00
|
|
|
|
After the configuration is written, use the `-config` flag to specify a local
|
|
|
|
|
|
path to the file.
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-06-22 03:31:16 -04:00
|
|
|
|
## HCP Boundary-Only Parameters
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-06-22 03:31:16 -04:00
|
|
|
|
- `hcp_boundary_cluster_id` `(string)` - The ID of an HCP Boundary cluster.
|
|
|
|
|
|
Setting this allows discovery of upstream addresses for self-managed workers
|
|
|
|
|
|
to connect to the cluster.
|
|
|
|
|
|
|
|
|
|
|
|
## Shared OSS and HCP Boundary Parameters
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2020-10-13 15:21:09 -04:00
|
|
|
|
- [`worker`](/docs/configuration/worker): Worker specific configuration. If
|
2021-04-05 12:04:57 -05:00
|
|
|
|
present, `boundary server` will start a Worker subprocess.
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2020-10-13 15:21:09 -04:00
|
|
|
|
- [`listener`](/docs/configuration/listener): Configures the listeners on which
|
2021-04-05 12:04:57 -05:00
|
|
|
|
Boundary serves traffic (API, cluster, and proxy).
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-03-28 17:16:39 +01:00
|
|
|
|
Controllers must have at least two listener blocks defined: one marked for
|
|
|
|
|
|
`api` purpose and the other marked for `cluster` purpose.
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2020-10-13 15:21:09 -04:00
|
|
|
|
Workers will have only one listener, marked for `proxy` purpose.
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-03-28 17:16:39 +01:00
|
|
|
|
Optionally, the `ops` purpose listener block serves as a higher-level listener
|
|
|
|
|
|
where Boundary's operational endpoints live (eg: /health).
|
|
|
|
|
|
|
2020-10-13 15:21:09 -04:00
|
|
|
|
- [`kms`](/docs/configuration/kms): Configures KMS blocks [for various
|
2021-04-05 12:04:57 -05:00
|
|
|
|
purposes](/docs/concepts/security/data-encryption).
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-06-22 03:31:16 -04:00
|
|
|
|
- [`events`](/docs/configuration/events/overview): Configures event (observability,
|
|
|
|
|
|
audit, error) handling.
|
2021-11-17 17:21:20 -05:00
|
|
|
|
|
2020-09-23 12:15:21 -07:00
|
|
|
|
- `disable_mlock` `(bool: false)` – Disables the server from executing the
|
2020-10-13 15:21:09 -04:00
|
|
|
|
`mlock` syscall, which prevents memory from being swapped to disk. This is
|
|
|
|
|
|
fine for local development and testing; in production, it is not recommended
|
|
|
|
|
|
unless the systems running Boundary only use encrypted swap or do not use swap
|
|
|
|
|
|
at all. Boundary only supports memory locking on UNIX-like systems that
|
|
|
|
|
|
support the mlock() syscall (Linux, FreeBSD, etc).
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
|
|
|
|
|
On Linux, to give the Boundary executable the ability to use the `mlock`
|
|
|
|
|
|
syscall without running the process as root, run:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
2020-10-13 15:21:09 -04:00
|
|
|
|
sudo setcap cap_ipc_lock=+ep $(readlink -f $(which boundary))
|
2020-09-23 12:15:21 -07:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
If you use a Linux distribution with a modern version of systemd, you can add
|
|
|
|
|
|
the following directive to the "[Service]" configuration section:
|
|
|
|
|
|
|
|
|
|
|
|
```ini
|
|
|
|
|
|
LimitMEMLOCK=infinity
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2022-06-22 00:37:49 -06:00
|
|
|
|
- `log_level` `(string: "info")` – (Deprecated: this is being phased out in
|
|
|
|
|
|
favor of observability and is currently only used as a backup if eventing
|
|
|
|
|
|
fails.) Specifies the log level to use; overridden by CLI and env var
|
|
|
|
|
|
parameters. Supported log levels: Trace, Debug, Error, Warn, Info.
|
2020-09-23 12:15:21 -07:00
|
|
|
|
|
2022-06-22 00:37:49 -06:00
|
|
|
|
- `log_format` `(string: "")` – (Deprecated: this is being phased out in favor
|
|
|
|
|
|
of observability and is currently only used as a backup if eventing fails.)
|
|
|
|
|
|
Specifies the log format to use; overridden by CLI and env var parameters.
|
|
|
|
|
|
Supported log formats: `"standard"`, `"json"`.
|
2020-10-06 07:40:29 -07:00
|
|
|
|
|
2022-06-22 03:31:16 -04:00
|
|
|
|
## OSS-Only Parameters
|
|
|
|
|
|
|
|
|
|
|
|
- [`controller`](/docs/configuration/controller)<: Controller specific
|
|
|
|
|
|
configuration. If present, `boundary server` will start a Controller subprocess.
|
|
|
|
|
|
|
|
|
|
|
|
- [`plugins`](/docs/configuration/plugins): Configures options for plugins.
|
|
|
|
|
|
|
2020-10-06 07:40:29 -07:00
|
|
|
|
## Example Configurations
|
|
|
|
|
|
|
2022-06-22 00:37:49 -06:00
|
|
|
|
For complete example configurations see the sections for
|
|
|
|
|
|
[controller](/docs/configuration/controller) and
|
|
|
|
|
|
[worker](/docs/configuration/worker).
|