11ac2ae91e
## Summary - Deploys HashiCorp Consul 1.22.7 using Helm chart 1.9.7 with 5 server replicas - Configuration modelled on production consul: \`datacenter=au-syd1\`, \`connect=true\`, \`raft_multiplier=10\`, HTTP on 8500, GRPC on 8502, HTTPS disabled - 5-replica server cluster with \`bootstrapExpect=5\` - 10Gi cephrbd-fast-delete PVC per server pod - Gateway API: HTTPS gateway + HTTPRoute (443→consul-consul-ui:80→8500) at \`consul.k8s.syd1.au.unkin.net\` - PodDisruptionBudget patched from \`policy/v1beta1\` to \`policy/v1\` (k8s 1.25+ compatibility) - ArgoCD platform ApplicationSet updated to include consul overlay path - Clients disabled (server-only deployment) - ConnectInject disabled (can be enabled later for service mesh) ## Requires - PR #147 (artifactapi: add hashicorp/consul to docker immutable patterns) to be merged first ## Test plan - [ ] Sandbox tested in \`sandbox-consul\`: all 5 server pods 1/1 Running, cluster formed - [ ] After merge: ArgoCD syncs consul namespace - [ ] Verify \`consul.k8s.syd1.au.unkin.net\` is accessible via Gateway Reviewed-on: #149
72 lines
1.4 KiB
YAML
72 lines
1.4 KiB
YAML
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: consul-http-redirect
|
|
namespace: consul
|
|
labels:
|
|
app.kubernetes.io/name: consul
|
|
app.kubernetes.io/instance: consul
|
|
spec:
|
|
hostnames:
|
|
- consul.k8s.syd1.au.unkin.net
|
|
parentRefs:
|
|
- name: consul
|
|
sectionName: http
|
|
rules:
|
|
- filters:
|
|
- type: RequestRedirect
|
|
requestRedirect:
|
|
scheme: https
|
|
statusCode: 301
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: consul
|
|
namespace: consul
|
|
labels:
|
|
app.kubernetes.io/name: consul
|
|
app.kubernetes.io/instance: consul
|
|
spec:
|
|
hostnames:
|
|
- consul.k8s.syd1.au.unkin.net
|
|
parentRefs:
|
|
- name: consul
|
|
sectionName: https
|
|
rules:
|
|
- backendRefs:
|
|
- name: consul-ui
|
|
port: 80
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: consul-svc
|
|
namespace: consul
|
|
labels:
|
|
app.kubernetes.io/name: consul
|
|
app.kubernetes.io/instance: consul
|
|
spec:
|
|
hostnames:
|
|
- consul.service.consul
|
|
parentRefs:
|
|
- name: consul
|
|
sectionName: consul-svc
|
|
rules:
|
|
- backendRefs:
|
|
- name: consul-ui
|
|
port: 80
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|