103 lines
2.8 KiB
Plaintext
103 lines
2.8 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Worker - Configuration
|
|
sidebar_title: worker
|
|
description: |-
|
|
The worker stanza configures worker-specific parameters.
|
|
---
|
|
|
|
# `worker` Stanza
|
|
|
|
The `worker` stanza configures Boundary worker-specific parameters.
|
|
|
|
```hcl
|
|
worker {
|
|
name = "example-worker"
|
|
description = "An example worker"
|
|
address = 127.0.0.1
|
|
public_addr = "5.1.23.198"
|
|
}
|
|
```
|
|
|
|
- `name` - Specifies a unique name of this worker within the Boundary worker
|
|
cluster.
|
|
|
|
- `description` - Specifies a friendly description of this worker.
|
|
|
|
- `address` - Specifies the IP address for the worker listener to bind on. Defaults to
|
|
127.0.0.1:9202 if not specified. If address is specified but only an IP address is given, the port will default to 9202.
|
|
|
|
- `public_addr` - Specifies the public host or IP address (and optionally port)
|
|
at which the worker can be reached _by clients for proxying_. This defaults to
|
|
the address of the listener marked for `proxy` purpose. This is especially
|
|
useful for cloud environments that do not bind a publicly accessible IP to a NIC
|
|
on the host directly, such as an Amazon EIP.
|
|
|
|
- `controllers` - A list of hosts/IP addresses and optionally ports for reaching
|
|
controllers. The port will default to :9201 if not specified.
|
|
|
|
## KMS Configuration
|
|
|
|
Workers require a KMS block designated for `worker-auth`. This is the KMS configuration for
|
|
authentication between the workers and controllers and must be present. Example (not safe for production!):
|
|
|
|
```hcl
|
|
kms "aead" {
|
|
purpose = "worker-auth"
|
|
aead_type = "aes-gcm"
|
|
key = "8fZBjCUfN0TzjEGLQldGY4+iE9AkOvCfjh7+p0GtRBQ="
|
|
key_id = "global_worker-auth"
|
|
}
|
|
```
|
|
|
|
This configuration must be the same for the worker-auth configuration for the controller if you're
|
|
running the controller and worker as separate servers.
|
|
|
|
And optionally, a KMS stanza for configuration encryption purpose:
|
|
|
|
```hcl
|
|
# Configuration encryption block: decrypts sensitive values in the
|
|
# configuration file. See `boundary config [encrypt|decrypt] -h`.
|
|
kms "aead" {
|
|
purpose = "config"`
|
|
aead_type = "aes-gcm"
|
|
key = "7xtkEoS5EXPbgynwd+dDLHopaCqK8cq0Rpep4eooaTs="
|
|
}
|
|
```
|
|
|
|
Boundary supports many kinds of KMS integrations. For a complete guide to all available
|
|
KMS types, see our [KMS documentation](/docs/configuration/kms).
|
|
|
|
# Complete Configuration Example
|
|
|
|
```hcl
|
|
listener "tcp" {
|
|
purpose = "proxy"
|
|
tls_disable = true
|
|
}
|
|
|
|
worker {
|
|
# Name attr must be unique across workers
|
|
name = "demo-worker-1"
|
|
description = "A default worker created demonstration"
|
|
address = 127.0.0.1
|
|
|
|
# Workers must be able to reach controllers on :9202
|
|
controllers = [
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"10.0.0.3",
|
|
]
|
|
|
|
public_addr = "myhost.mycompany.com"
|
|
}
|
|
|
|
# must be same key as used on controller config
|
|
kms "aead" {
|
|
purpose = "worker-auth"
|
|
aead_type = "aes-gcm"
|
|
key = "8fZBjCUfN0TzjEGLQldGY4+iE9AkOvCfjh7+p0GtRBQ="
|
|
key_id = "global_worker-auth"
|
|
}
|
|
```
|