Clarify in Nomad docs that Consul namespaces are a Consul enterprise feature
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
#### Overview of the Issue
Hello,
As per the examples here: https://developer.hashicorp.com/nomad/docs/configuration/consul#default
I'm using the following Nomad agent config. This is all run locally, so `consul agent -dev` and `nomad agent -dev -config=nomad.conf`
This is the entirety of `nomad.conf`:
```
consul {
namespace = "dev"
server_service_name = "app"
auto_advertise = true
server_auto_join = true
client_auto_join = true
}
```
However, https://developer.hashicorp.com/nomad/docs/integrations/consul-integration#consul-namespaces states that agent config is _not_ an enterprise feature:
> Agent configuration: If the [`namespace`](https://developer.hashicorp.com/nomad/docs/configuration/consul#namespace) Nomad agent Consul configuration parameter is set, this namespace will be used instead of the Consul default.
Yet,
> [ERROR] consul.sync: still unable to update services in Consul: failures=310 error="failed to query Consul services: Unexpected response code: 400 (Invalid query parameter: \"ns\" - Namespaces are a Consul Enterprise feature)"
#### Reproduction Steps
1. Run `consul agent -dev`
2. Create `nomad.conf` with the config given above.
3. Run `nomad agent -dev -config=nomad.conf`
### Consul info for both Client and Server
Client info
```
Output from client 'consul info' command here
```
agent:
check_monitors = 0
check_ttls = 0
checks = 0
services = 0
build:
prerelease =
revision =
version = 1.15.3
version_metadata =
consul:
acl = disabled
bootstrap = false
known_datacenters = 1
leader = true
leader_addr = 127.0.0.1:8300
server = true
raft:
applied_index = 672
commit_index = 672
fsm_pending = 0
last_contact = 0
last_log_index = 672
last_log_term = 2
last_snapshot_index = 0
last_snapshot_term = 0
latest_configuration = [{Suffrage:Voter ID:2baf4539-fd12-d49d-7b30-c7b9fefc08ff Address:127.0.0.1:8300}]
latest_configuration_index = 0
num_peers = 0
protocol_version = 3
protocol_version_max = 3
protocol_version_min = 0
snapshot_version_max = 1
snapshot_version_min = 0
state = Leader
term = 2
runtime:
arch = arm64
cpu_count = 10
goroutines = 140
max_procs = 10
os = darwin
version = go1.20.4
serf_lan:
coordinate_resets = 0
encrypted = false
event_queue = 1
event_time = 2
failed = 0
health_score = 0
intent_queue = 0
left = 0
member_time = 1
members = 1
query_queue = 0
query_time = 1
serf_wan:
coordinate_resets = 0
encrypted = false
event_queue = 0
event_time = 1
failed = 0
health_score = 0
intent_queue = 0
left = 0
member_time = 1
members = 1
query_queue = 0
query_time = 1
```
Client agent HCL config
```
Server info
```
Running in dev mode, so probably the same as above(?)
```
```
N/A - none given.
```
### Operating system and Environment details
MacOS Ventura 13.4
Contributor guide
Research direction
Start with the Consul integration page's Consul namespaces section and the linked agent configuration namespace page. Clarify that namespaces require Consul Enterprise, while preserving the documented behavior and reproduction context; done when the two pages no longer give conflicting expectations.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100