mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
Add the plumbing we need to accept multiple Vault clusters in Nomad agent configuration, to support upcoming Nomad Enterprise features. The `vault` blocks are differentiated by a new `name` field, and if the `name` is omitted it becomes the "default" Vault configuration. All blocks with the same name are merged together, as with the existing behavior. Unfortunately we're still using HCL1 for parsing configuration and the `Decode` method doesn't parse multiple blocks differentiated only by a field name without a label. So we've had to add an extra parsing pass, similar to what we've done for HCL1 jobspecs. For now, all existing consumers will use the "default" Vault configuration, so there's no user-facing behavior change in this changeset other than the contents of the agent self API. Ref: https://github.com/hashicorp/team-nomad/issues/404
91 lines
2.0 KiB
JSON
91 lines
2.0 KiB
JSON
{
|
|
"autopilot": {
|
|
"cleanup_dead_servers": true
|
|
},
|
|
"acl": {
|
|
"enabled": true
|
|
},
|
|
"audit": {
|
|
"enabled": true,
|
|
"sink": [
|
|
{
|
|
"file": {
|
|
"type": "file",
|
|
"format": "json",
|
|
"delivery_guarantee": "enforced",
|
|
"path": "/opt/nomad/audit.log",
|
|
"rotate_bytes": 100,
|
|
"rotate_duration": "24h",
|
|
"rotate_max_files": 10
|
|
}
|
|
}
|
|
],
|
|
"filter": [
|
|
{
|
|
"default": [
|
|
{
|
|
"endpoints": ["/v1/metrics"],
|
|
"operations": ["*"],
|
|
"stages": ["*"],
|
|
"type": "HTTPEvent"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"advertise": {
|
|
"http": "host.example.com",
|
|
"rpc": "host.example.com",
|
|
"serf": "host.example.com"
|
|
},
|
|
"bind_addr": "0.0.0.0",
|
|
"consul": {
|
|
"server_auto_join": false,
|
|
"client_auto_join": false,
|
|
"token": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
|
|
},
|
|
"data_dir": "/opt/data/nomad/data",
|
|
"datacenter": "dc1",
|
|
"enable_syslog": true,
|
|
"leave_on_interrupt": true,
|
|
"leave_on_terminate": true,
|
|
"log_level": "INFO",
|
|
"region": "global",
|
|
"server": {
|
|
"bootstrap_expect": 3,
|
|
"enabled": true,
|
|
"encrypt": "sHck3WL6cxuhuY7Mso9BHA==",
|
|
"plan_rejection_tracker": {
|
|
"node_threshold": 100,
|
|
"node_window": "31m"
|
|
},
|
|
"retry_join": [
|
|
"10.0.0.101",
|
|
"10.0.0.102",
|
|
"10.0.0.103"
|
|
]
|
|
},
|
|
"syslog_facility": "LOCAL0",
|
|
"telemetry": {
|
|
"collection_interval": "60s",
|
|
"disable_hostname": true,
|
|
"prometheus_metrics": true,
|
|
"publish_allocation_metrics": true,
|
|
"publish_node_metrics": true
|
|
},
|
|
"tls": {
|
|
"ca_file": "/opt/data/nomad/certs/nomad-ca.pem",
|
|
"cert_file": "/opt/data/nomad/certs/server.pem",
|
|
"http": true,
|
|
"key_file": "/opt/data/nomad/certs/server-key.pem",
|
|
"rpc": true,
|
|
"verify_server_hostname": true
|
|
},
|
|
"vault": {
|
|
"name": "default",
|
|
"address": "http://host.example.com:8200",
|
|
"create_from_role": "nomad-cluster",
|
|
"enabled": true
|
|
}
|
|
}
|