diff --git a/website/content/docs/connect/config-entries/ingress-gateway.mdx b/website/content/docs/connect/config-entries/ingress-gateway.mdx index 48e0213729..cdfe9e6c78 100644 --- a/website/content/docs/connect/config-entries/ingress-gateway.mdx +++ b/website/content/docs/connect/config-entries/ingress-gateway.mdx @@ -863,7 +863,8 @@ spec: type: 'array: ', description: `A list of services to be exposed via this listener. For \`tcp\` listeners, only a single service is allowed. - Each service must have a unique name (and namespace in Enterprise).`, + Each service must have a unique name. A namespace is also required for + Consul Enterprise.`, children: [ { name: 'Name', diff --git a/website/content/docs/connect/gateways/ingress-gateway.mdx b/website/content/docs/connect/gateways/ingress-gateway.mdx index f8791638ba..50d654233c 100644 --- a/website/content/docs/connect/gateways/ingress-gateway.mdx +++ b/website/content/docs/connect/gateways/ingress-gateway.mdx @@ -76,10 +76,10 @@ sets of services within their datacenter, then the ingress gateways **must** be ## Custom TLS Certificates via Secret Discovery Service (SDS) -~> **Advanced Topic** This is a low-level feature designed for developers -building integrations with custom TLS management solutions. +~> **Advanced Topic:** This topic describes a low-level feature designed for +developers building integrations with custom TLS management solutions. -Consul 1.11 added support for Ingress Gateways to serve TLS certificates to +Consul 1.11 added support for ingress gateways to serve TLS certificates to inbound traffic that are sourced from an external service. The external service must implement Envoy's [gRPC Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret) @@ -87,7 +87,7 @@ Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secr The following procedure describes how to configure an ingress gateway with TLS certificates from an SDS source. The instructions assume that you are familiar with Envoy configuration and the SDS protocol. -### 1. Configure Static SDS Cluster(s) +### Configure Static SDS Cluster(s) Each Envoy proxy that makes up this Ingress Gateway must define one or more additional [static clusters](/docs/connect/proxies/envoy#envoy_extra_static_clusters_json) when registering. These additional clusters define how Envoy should connect to the required SDS service(s). Defining extra clusters in Envoy's bootstrap configuration requires a manual registration of the Ingress Gateway with Consul proxy. @@ -96,145 +96,153 @@ It's not possible to use the `-register` flag with `consul connect envoy -gatewa The cluster(s) must provide connection information and any necessary authentication information such as mTLS credentials. -In this example we will show: +The following example will demonstrate how to use: - A DNS name to discover the SDS service addresses - - Local certificate files for TLS client authentication with the SDS server - (the certificates are assumed to be created and managed by some other - process) + - Local certificate files for TLS client authentication with the SDS server. + The certificates are assumed to be created and managed by some other + process. -#### 1.1 Registering the Proxy Service + 1. **Register the proxy service.** -The following Proxy Service Definition defines the bootstrap overrides needed to -add this configuration to Envoy when it starts. With this TLS configuration, -Envoy will detect changes to the certificate and key files on disk so an -external process may maintain and rotate them without needing an Envoy restart. + The following Proxy Service Definition defines the additional cluster + configuration that will be provided to Envoy when it starts. With this TLS + configuration, Envoy will detect changes to the certificate and key files on + disk so an external process may maintain and rotate them without needing an + Envoy restart. -```hcl -// public-ingress.hcl -Services { - Name = "public-ingress" - Kind = "ingress-gateway" + ```hcl + // public-ingress.hcl + Services { + Name = "public-ingress" + Kind = "ingress-gateway" - Proxy { - Config { - envoy_extra_static_clusters_json = <