diff --git a/agent/config/builder.go b/agent/config/builder.go
index 0291b2a672..01040fb76a 100644
--- a/agent/config/builder.go
+++ b/agent/config/builder.go
@@ -756,6 +756,7 @@ func (b *Builder) Build() (rt RuntimeConfig, err error) {
ConnectProxyDefaultDaemonCommand: proxyDefaultDaemonCommand,
ConnectProxyDefaultScriptCommand: proxyDefaultScriptCommand,
ConnectProxyDefaultConfig: proxyDefaultConfig,
+ ConnectReplicationToken: b.stringVal(c.ACL.Tokens.Replication),
DataDir: b.stringVal(c.DataDir),
Datacenter: datacenter,
DevMode: b.boolVal(b.Flags.DevMode),
diff --git a/agent/config/config.go b/agent/config/config.go
index 804e805074..e71aaa1d0b 100644
--- a/agent/config/config.go
+++ b/agent/config/config.go
@@ -499,12 +499,11 @@ type Upstream struct {
type Connect struct {
// Enabled opts the agent into connect. It should be set on all clients and
// servers in a cluster for correct connect operation.
- Enabled *bool `json:"enabled,omitempty" hcl:"enabled" mapstructure:"enabled"`
- Proxy ConnectProxy `json:"proxy,omitempty" hcl:"proxy" mapstructure:"proxy"`
- ProxyDefaults ConnectProxyDefaults `json:"proxy_defaults,omitempty" hcl:"proxy_defaults" mapstructure:"proxy_defaults"`
- CAProvider *string `json:"ca_provider,omitempty" hcl:"ca_provider" mapstructure:"ca_provider"`
- CAConfig map[string]interface{} `json:"ca_config,omitempty" hcl:"ca_config" mapstructure:"ca_config"`
- ReplicationToken *string `json:"replication_token,omitempty" hcl:"replication_token" mapstructure:"replication_token"`
+ Enabled *bool `json:"enabled,omitempty" hcl:"enabled" mapstructure:"enabled"`
+ Proxy ConnectProxy `json:"proxy,omitempty" hcl:"proxy" mapstructure:"proxy"`
+ ProxyDefaults ConnectProxyDefaults `json:"proxy_defaults,omitempty" hcl:"proxy_defaults" mapstructure:"proxy_defaults"`
+ CAProvider *string `json:"ca_provider,omitempty" hcl:"ca_provider" mapstructure:"ca_provider"`
+ CAConfig map[string]interface{} `json:"ca_config,omitempty" hcl:"ca_config" mapstructure:"ca_config"`
}
// ConnectProxy is the agent-global connect proxy configuration.
diff --git a/agent/config/runtime_test.go b/agent/config/runtime_test.go
index fe286bdf12..f318448c7e 100644
--- a/agent/config/runtime_test.go
+++ b/agent/config/runtime_test.go
@@ -4143,6 +4143,7 @@ func TestFullConfig(t *testing.T) {
"connect_timeout_ms": float64(1000),
"pedantic_mode": true,
},
+ ConnectReplicationToken: "5795983a",
DNSAddrs: []net.Addr{tcpAddr("93.95.95.81:7001"), udpAddr("93.95.95.81:7001")},
DNSARecordLimit: 29907,
DNSAllowStale: true,
diff --git a/website/source/docs/agent/options.html.md b/website/source/docs/agent/options.html.md
index 2fa011a6ac..b868991f72 100644
--- a/website/source/docs/agent/options.html.md
+++ b/website/source/docs/agent/options.html.md
@@ -592,6 +592,8 @@ default will automatically work with some tooling.
ACLs are enabled. This token may be provided later using the [agent token API](/api/agent.html#update-acl-tokens)
on each server. If the `replication` token is set in the config. This token must have at least "read" permissions
on ACL data but if ACL token replication is enabled then it must have "write" permissions.
+ This also enables Connect replication in Consul Enterprise, for which the token will require
+ both operator "write" and intention "read" permissions for replicating CA and Intention data.
* `acl_datacenter` - **This field is
deprecated in Consul 1.4.0. See the [`primary_datacenter`](#primary_datacenter) field instead.**
@@ -865,8 +867,6 @@ default will automatically work with some tooling.
* `proxy_defaults` [**Deprecated**](/docs/connect/proxies/managed-deprecated.html) This object configures the default proxy settings for service definitions with [managed proxies](/docs/connect/proxies/managed-deprecated.html) (now deprecated). It accepts the fields `exec_mode`, `daemon_command`, and `config`. These are used as default values for the respective fields in the service definition.
- * `replication_token` When provided, this will enable Connect replication using this token to retrieve and replicate the Intentions to the non-authoritative local datacenter.
-
* `datacenter` Equivalent to the
[`-datacenter` command-line flag](#_datacenter).