Skip to content

Commit 1179c09

Browse files
committed
docs: update documentation with connect acls changes
This PR updates the changelog, adds notes the 1.3 upgrade guide, and updates the connect integration docs with documentation about the new requirement on Consul ACL policies of Consul agent default anonymous ACL tokens.
1 parent b1bca7b commit 1179c09

File tree

3 files changed

+44
-4
lines changed

3 files changed

+44
-4
lines changed

.changelog/8068.txt

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
```release-note:breaking-change
2+
connect: Consul Service Identity ACL tokens automatically generated for Connect services are now
3+
created as Local rather than Global tokens. Nomad clusters with Connect services making cross-Consul
4+
datacenter requests will need to ensure their Consul agents are configured with anonymous ACL tokens
5+
of sufficient permissions.
6+
```

website/content/docs/integrations/consul-connect.mdx

+21-4
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ description: >-
88

99
# Consul Service Mesh
1010

11-
~> **Note:** This guide requires Nomad 0.10.0 or later and Consul 1.6.0 or
12-
later.
13-
1411
~> **Note:** Nomad's service mesh integration requires Linux network namespaces.
1512
Consul service mesh will not run on Windows or macOS.
1613

@@ -58,7 +55,7 @@ The Consul service mesh integration with Nomad requires [Consul 1.6 or
5855
later.](https://releases.hashicorp.com/consul/1.6.0/) The Consul agent can be
5956
run in dev mode with the following command:
6057

61-
**Note**: Nomad's Consul service mesh integration requires Consul in your `$PATH`
58+
~> **Note:** Nomad's Consul service mesh integration requires Consul in your `$PATH`
6259

6360
```shell-session
6461
$ consul agent -dev
@@ -96,6 +93,23 @@ For JSON configurations:
9693
}
9794
```
9895

96+
#### Consul ACLs
97+
98+
~> **Note:** Starting in Nomad v1.3.0, Consul Service Identity ACL tokens automatically
99+
generated by Nomad on behalf of Connect enabled services are now created in [`Local`]
100+
rather than Global scope, and are no longer replicated globally.
101+
102+
To facilitate cross-Consul datacenter requests of Connect services registered by
103+
Nomad, Consul agents will need to be configured with [default anonymous][anon_token]
104+
ACL tokens with ACL policies of sufficient permissions to read service and node
105+
metadata pertaining to those requests. This mechanism is described in Consul [#7414][consul_acl].
106+
A typical Consul agent anonymous token may contain an ACL policy such as:
107+
108+
```hcl
109+
service_prefix "" { policy = "read" }
110+
node_prefix "" { policy = "read" }
111+
```
112+
99113
### Nomad
100114

101115
Nomad must schedule onto a routable interface in order for the proxies to
@@ -333,4 +347,7 @@ dashes (`-`) are converted to underscores (`_`) in environment variables so
333347
connections while the Nomad agent is restarting.
334348

335349
[count-dashboard]: /img/count-dashboard.png
350+
[consul_acl]: https://github.com/hashicorp/consul/issues/7414
336351
[gh-9907]: https://github.com/hashicorp/nomad/issues/9907
352+
[`Local`]: https://www.consul.io/docs/security/acl/acl-tokens#token-attributes
353+
[anon_token]: https://www.consul.io/docs/security/acl/acl-tokens#special-purpose-tokens

website/content/docs/upgrade/upgrade-specific.mdx

+17
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,21 @@ connect {
126126
}
127127
```
128128

129+
#### Changes to Consul Connect Service Identity Tokens
130+
131+
Starting with Nomad 1.3.0, Consul Service Identity Tokens created automatically
132+
by Nomad on behalf of Connect services will now be created as [`Local`] tokens. These
133+
tokens will no longer be replicated globally. To ensure Connect services making
134+
cross Consul datacenter requests continue to work, Consul agents of the destination
135+
services must be configured with a [default anonymous][anon_token] ACL token with `read` policy
136+
privileges on the necessary services and nodes. A typical ACL policy for such a
137+
token may contain these attributes:
138+
139+
```hcl
140+
service_prefix "" { policy = "read" }
141+
node_prefix "" { policy = "read" }
142+
```
143+
129144
#### Linux Control Groups Version 2
130145

131146
Starting with Nomad 1.3.0, Linux systems configured to use [cgroups v2][cgroups2]
@@ -1376,3 +1391,5 @@ deleted and then Nomad 0.3.0 can be launched.
13761391
[cap_drop_exec]: /docs/drivers/exec#cap_drop
13771392
[`log_file`]: /docs/configuration#log_file
13781393
[Upgrading to Raft Protocol 3]: /docs/upgrade#upgrading-to-raft-protocol-3
1394+
[`Local`]: https://www.consul.io/docs/security/acl/acl-tokens#token-attributes
1395+
[anon_token]: https://www.consul.io/docs/security/acl/acl-tokens#special-purpose-tokens

0 commit comments

Comments
 (0)