Skip to content

Commit

Permalink
Backport of docs: Fix Kubernetes CRD example configs into release/1.1…
Browse files Browse the repository at this point in the history
…6.x (hashicorp#19438)

docs: Fix Kubernetes CRD example configs (hashicorp#18878)

Fixes configuration examples for several Consul Kubernetes CRDs. The
CRDs were missing required fields such as `apiVersion`, `metadata`,
and `spec`.

Co-authored-by: Tu Nguyen <[email protected]>
  • Loading branch information
blake and im2nguyen authored Oct 31, 2023
1 parent 66a7699 commit a5ca8bc
Show file tree
Hide file tree
Showing 9 changed files with 156 additions and 126 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,20 +87,25 @@ Catalog = {
```

```yaml
kind: control-plane-request-limit
mode: permissive
name: <name-for-the-entry>
read_rate: 100
write_rate: 100
kv:
read_rate: 100
write_rate: 100
acl:
read_rate: 100
write_rate: 100
catalog:
read_rate: 100
write_rate: 100
apiVersion: consul.hashicorp.com/v1alpha1
kind: ControlPlaneRequestLimit
metadata:
name: <name-for-the-entry>
spec:
mode: permissive
# the maximum number of read requests per second that the agent allows.
readRate: 100
# the maximum number of write requests per second that the agent allows.
writeRate: 100
kv:
readRate: 100
writeRate: 100
acl:
readRate: 100
writeRate: 100
catalog:
readRate: 100
writeRate: 100
```
</CodeTabs>
Expand Down
4 changes: 2 additions & 2 deletions website/content/docs/connect/config-entries/jwt-provider.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1281,12 +1281,12 @@ Forwarding = {

```yaml
apiVersion: consul.hashicorp.com/v1alpha1
kind: jwtProvider
kind: JWTProvider
metadata:
name: okta
spec:
issuer: okta
jsonwebkeyset:
jsonWebKeySet:
remote:
uri: https://<org>.okta.com/oauth2/default/v1/keys
cacheDuration: 30m
Expand Down
132 changes: 69 additions & 63 deletions website/content/docs/connect/gateways/mesh-gateway/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ Datacenters can reside in different clouds or runtime environments where general
Mesh gateways can be used with any of the following Consul configurations for managing separate datacenters or partitions.

1. WAN Federation
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-wan-datacenters)
* [Mesh gateways can be used to route all WAN traffic, including from Consul servers](/consul/docs/connect/gateways/mesh-gateway/wan-federation-via-mesh-gateways)
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-wan-datacenters)
* [Mesh gateways can be used to route all WAN traffic, including from Consul servers](/consul/docs/connect/gateways/mesh-gateway/wan-federation-via-mesh-gateways)
2. Cluster Peering
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/cluster-peering/usage/establish-cluster-peering)
* [Mesh gateways can be used to route control-plane traffic from Consul servers](/consul/docs/connect/gateways/mesh-gateway/peering-via-mesh-gateways)
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/cluster-peering/usage/establish-cluster-peering)
* [Mesh gateways can be used to route control-plane traffic from Consul servers](/consul/docs/connect/gateways/mesh-gateway/peering-via-mesh-gateways)
3. Admin Partitions
* [Mesh gateways can be used to route service-to-service traffic between admin partitions in the same Consul datacenter](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-partitions)
* [Mesh gateways can be used to route service-to-service traffic between admin partitions in the same Consul datacenter](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-partitions)

### Consul

Expand Down Expand Up @@ -84,21 +84,24 @@ Use the following example configurations to help you understand some of the comm

The following `proxy-defaults` configuration will enable gateways for all mesh services in the `local` mode.

<CodeTabs heading="Example: Enabling gateways globally.">
<CodeTabs heading="Example: Enabling gateways globally">

```hcl
Kind = "proxy-defaults"
Name = "global"
MeshGateway {
Mode = "local"
Mode = "local"
}
```

```yaml
Kind: proxy-defaults
MeshGateway:
- Mode: local
Name: global
apiVersion: consul.hashicorp.com/v1alpha1
kind: ProxyDefaults
metadata:
name: global
spec:
meshGateway:
mode: local
```
```json
Expand All @@ -123,15 +126,18 @@ The following `service-defaults` configuration will enable gateways for all mesh
Kind = "service-defaults"
Name = "web"
MeshGateway {
Mode = "local"
Mode = "local"
}
```

```yaml
Kind: service-defaults
MeshGateway:
- Mode: local
Name: web
apiVersion: consul.hashicorp.com/v1alpha1
kind: ServiceDefaults
metadata:
name: web
spec:
meshGateway:
mode: local
```
```json
Expand All @@ -155,22 +161,22 @@ The following [proxy service configuration](/consul/docs/connect/proxies/deploy-

```hcl
service {
name = "web-sidecar-proxy"
kind = "connect-proxy"
port = 8181
proxy {
destination_service_name = "web"
mesh_gateway {
mode = "remote"
name = "web-sidecar-proxy"
kind = "connect-proxy"
port = 8181
proxy {
destination_service_name = "web"
mesh_gateway {
mode = "remote"
}
upstreams = [
{
destination_name = "api"
datacenter = "secondary"
local_bind_port = 10000
}
upstreams = [
{
destination_name = "api"
datacenter = "secondary"
local_bind_port = 10000
}
]
}
]
}
}
# Or alternatively inline with the service definition:
Expand Down Expand Up @@ -230,38 +236,38 @@ The following service definition will enable gateways in the `local` mode for on

```hcl
service {
name = "web-sidecar-proxy"
kind = "connect-proxy"
port = 8181
proxy {
destination_service_name = "web"
upstreams = [
{
destination_name = "api"
destination_peer = "cluster-01"
local_bind_port = 10000
mesh_gateway {
mode = "remote"
}
},
{
destination_name = "db"
datacenter = "secondary"
local_bind_port = 10001
mesh_gateway {
mode = "local"
}
},
{
destination_name = "logging"
datacenter = "secondary"
local_bind_port = 10002
mesh_gateway {
mode = "none"
}
},
]
}
name = "web-sidecar-proxy"
kind = "connect-proxy"
port = 8181
proxy {
destination_service_name = "web"
upstreams = [
{
destination_name = "api"
destination_peer = "cluster-01"
local_bind_port = 10000
mesh_gateway {
mode = "remote"
}
},
{
destination_name = "db"
datacenter = "secondary"
local_bind_port = 10001
mesh_gateway {
mode = "local"
}
},
{
destination_name = "logging"
datacenter = "secondary"
local_bind_port = 10002
mesh_gateway {
mode = "none"
}
},
]
}
}
```
```json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,13 @@ Peering {
```

```yaml
Kind: mesh
Peering:
PeerThroughMeshGateways: true
apiVersion: consul.hashicorp.com/v1alpha1
kind: Mesh
metadata:
name: mesh
spec:
peering:
peerThroughMeshGateways: true
```
</CodeTabs>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Use the following example configurations to help you understand some of the comm

The following `proxy-defaults` configuration will enable gateways for all mesh services in the `local` mode.

<CodeTabs heading="Example: Enabling gateways globally.">
<CodeTabs heading="Example: Enabling gateways globally">

```hcl
Kind = "proxy-defaults"
Expand All @@ -89,10 +89,13 @@ MeshGateway {
```

```yaml
Kind: proxy-defaults
MeshGateway:
- Mode: local
Name: global
apiVersion: consul.hashicorp.com/v1alpha1
kind: ProxyDefaults
metadata:
name: global
spec:
meshGateway:
mode: local
```
```json
Expand Down Expand Up @@ -122,10 +125,13 @@ MeshGateway {
```

```yaml
Kind: service-defaults
MeshGateway:
- Mode: local
Name: web
apiVersion: consul.hashicorp.com/v1alpha1
kind: ServiceDefaults
metadata:
name: web
spec:
meshGateway:
mode: local
```
```json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Use the following example configurations to help you understand some of the comm

The following `proxy-defaults` configuration will enable gateways for all mesh services in the `local` mode.

<CodeTabs heading="Example: Enabling gateways globally.">
<CodeTabs heading="Example: Enabling gateways globally">

```hcl
Kind = "proxy-defaults"
Expand All @@ -105,10 +105,13 @@ MeshGateway {
```

```yaml
Kind: proxy-defaults
MeshGateway:
- Mode: local
Name: global
apiVersion: consul.hashicorp.com/v1alpha1
kind: ProxyDefaults
metadata:
name: global
spec:
meshGateway:
mode: local
```
```json
Expand Down Expand Up @@ -137,10 +140,13 @@ MeshGateway {
```

```yaml
Kind: service-defaults
MeshGateway:
- Mode: local
Name: web
apiVersion: consul.hashicorp.com/v1alpha1
kind: ServiceDefaults
metadata:
name: web
spec:
meshGateway:
mode: local
```
```json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ EnvoyExtensions = [
</CodeBlockConfig>
</Tab>
<Tab heading="Kubernetes" group="yaml">
<CodeBlockConfig filename="api-auth-service-defaults">
<CodeBlockConfig filename="api-auth-service-defaults.yaml">

```yaml
apiVersion: consul.hashicorp.com/v1alpha1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,4 +222,4 @@ end
]
```

</CodeBlockConfig>
</CodeBlockConfig>
Loading

0 comments on commit a5ca8bc

Please sign in to comment.