From 640cceadbdf49e71a86ec948fa2e3d01e898b979 Mon Sep 17 00:00:00 2001 From: Rostislav Dugin Date: Wed, 3 Dec 2025 07:43:00 +0300 Subject: [PATCH] FIX (docs): Extend docs with HTTP route support --- README.md | 2 ++ deploy/helm/README.md | 44 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 76775da..b4240fa 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,8 @@ Access Postgresus at `http://` (port 80). To customize the installation (e.g., storage size, NodePort instead of LoadBalancer), see the [Helm chart README](deploy/helm/README.md) for all configuration options. +Config uses by default LoadBalancer, but has predefined values for Ingress and HTTPRoute as well. + --- ## 🚀 Usage diff --git a/deploy/helm/README.md b/deploy/helm/README.md index 1471691..60874ec 100644 --- a/deploy/helm/README.md +++ b/deploy/helm/README.md @@ -55,9 +55,17 @@ Access Postgresus at `http://` (port 80). | `service.targetPort` | Container port | `4005` | | `service.headless.enabled` | Enable headless service | `true` | -### Ingress (Optional) +### Traffic Exposure (3 Options) -Ingress is disabled by default. The chart uses LoadBalancer service for direct IP access. +The chart supports 3 ways to expose Postgresus: + +| Method | Use Case | Default | +| ------ | -------- | ------- | +| **LoadBalancer/NodePort** | Simple cloud clusters | Enabled | +| **Ingress** | Traditional nginx/traefik ingress controllers | Disabled | +| **HTTPRoute (Gateway API)** | Modern gateways (Istio, Envoy, Cilium) | Disabled | + +#### Ingress | Parameter | Description | Default Value | | ----------------------- | ----------------- | ------------------------ | @@ -66,6 +74,16 @@ Ingress is disabled by default. The chart uses LoadBalancer service for direct I | `ingress.hosts[0].host` | Hostname | `postgresus.example.com` | | `ingress.tls` | TLS configuration | `[]` | +#### HTTPRoute (Gateway API) + +| Parameter | Description | Default Value | +| --------------------- | -------------------------- | ---------------------------------- | +| `route.enabled` | Enable HTTPRoute | `false` | +| `route.apiVersion` | Gateway API version | `gateway.networking.k8s.io/v1` | +| `route.hostnames` | Hostnames for the route | `["postgresus.example.com"]` | +| `route.parentRefs` | Gateway references | `[]` | +| `route.annotations` | Route annotations | `{}` | + ### Health Checks | Parameter | Description | Default Value | @@ -136,6 +154,28 @@ ingress: helm install postgresus ./deploy/helm -n postgresus --create-namespace -f ingress-values.yaml ``` +### HTTPRoute (Gateway API) + +For clusters using Istio, Envoy Gateway, Cilium, or other Gateway API implementations: + +```yaml +# httproute-values.yaml +service: + type: ClusterIP + +route: + enabled: true + hostnames: + - backup.example.com + parentRefs: + - name: my-gateway + namespace: istio-system +``` + +```bash +helm install postgresus ./deploy/helm -n postgresus --create-namespace -f httproute-values.yaml +``` + ### Custom Storage Size ```yaml