You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(argo-cd): Expand Gateway API support with GRPCRoute and BackendTLSPolicy
- Add GRPCRoute template for gRPC traffic routing (Gateway API v1)
- Add BackendTLSPolicy template for HTTPS backend support (v1alpha3, experimental)
- Add experimental disclaimers for Gateway API support in values.yaml
- Update documentation with Gateway API examples (HTTPRoute, GRPCRoute, BackendTLSPolicy)
- All templates follow Helm scaffolding pattern (rules as arrays, consistent style)
- Update Chart.yaml changelog
Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
Copy file name to clipboardExpand all lines: charts/argo-cd/README.md
+79-5Lines changed: 79 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -237,6 +237,72 @@ server:
237
237
enabled: true
238
238
```
239
239
240
+
### Gateway API HTTPRoute
241
+
242
+
The Gateway API provides a modern, extensible way to configure ingress traffic routing. This chart supports HTTPRoute resources as an alternative to traditional Ingress.
243
+
244
+
> **Note:**
245
+
> Gateway API support is **EXPERIMENTAL**. Support depends on your Gateway controller implementation. Some controllers may require additional configuration (e.g., BackendTLSPolicy for HTTPS backends). Refer to [Gateway API implementations](https://gateway-api.sigs.k8s.io/implementations/) for controller-specific details.
246
+
247
+
```yaml
248
+
global:
249
+
domain: argocd.example.com
250
+
251
+
server:
252
+
httproute:
253
+
enabled: true
254
+
parentRefs:
255
+
- name: example-gateway
256
+
namespace: gateway-system
257
+
sectionName: https
258
+
```
259
+
260
+
#### Gateway API with gRPC support
261
+
262
+
For deployments requiring gRPC routing, use GRPCRoute alongside HTTPRoute:
263
+
264
+
```yaml
265
+
server:
266
+
httproute:
267
+
enabled: true
268
+
parentRefs:
269
+
- name: example-gateway
270
+
namespace: gateway-system
271
+
sectionName: https
272
+
273
+
grpcroute:
274
+
enabled: true
275
+
parentRefs:
276
+
- name: example-gateway
277
+
namespace: gateway-system
278
+
sectionName: grpc
279
+
```
280
+
281
+
#### Gateway API with TLS backend
282
+
283
+
For HTTPS backends with Gateway API, you may need to configure BackendTLSPolicy (experimental, v1alpha3):
284
+
285
+
> **Warning:**
286
+
> BackendTLSPolicy is in **EXPERIMENTAL** status. Not all Gateway controllers support this resource (e.g., Cilium does not yet support it).
287
+
288
+
```yaml
289
+
configs:
290
+
params:
291
+
server.insecure: false # HTTPS backend
292
+
293
+
server:
294
+
httproute:
295
+
enabled: true
296
+
parentRefs:
297
+
- name: example-gateway
298
+
namespace: gateway-system
299
+
300
+
backendTLSPolicy:
301
+
enabled: true
302
+
hostname: argocd-server.argocd.svc.cluster.local
303
+
wellKnownCACertificates: System
304
+
```
305
+
240
306
## Setting the initial admin password via Argo CD Application CR
241
307
242
308
> **Note:** When deploying the `argo-cd` chart via an Argo CD `Application` CR, define your bcrypt-hashed admin password under `helm.values`—not `helm.parameters`—because Argo CD performs variable substitution on `parameters`, which will mangle any `$…` in your hash.
@@ -1077,6 +1143,11 @@ NAME: my-release
1077
1143
| server.autoscaling.minReplicas | int | `1` | Minimum number of replicas for the Argo CD server [HPA] |
1078
1144
| server.autoscaling.targetCPUUtilizationPercentage | int | `50` | Average CPU utilization percentage for the Argo CD server [HPA] |
1079
1145
| server.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the Argo CD server [HPA] |
Copy file name to clipboardExpand all lines: charts/argo-cd/README.md.gotmpl
+66Lines changed: 66 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -236,6 +236,72 @@ server:
236
236
enabled: true
237
237
```
238
238
239
+
### Gateway API HTTPRoute
240
+
241
+
The Gateway API provides a modern, extensible way to configure ingress traffic routing. This chart supports HTTPRoute resources as an alternative to traditional Ingress.
242
+
243
+
> **Note:**
244
+
> Gateway API support is **EXPERIMENTAL**. Support depends on your Gateway controller implementation. Some controllers may require additional configuration (e.g., BackendTLSPolicy for HTTPS backends). Refer to [Gateway API implementations](https://gateway-api.sigs.k8s.io/implementations/) for controller-specific details.
245
+
246
+
```yaml
247
+
global:
248
+
domain: argocd.example.com
249
+
250
+
server:
251
+
httproute:
252
+
enabled: true
253
+
parentRefs:
254
+
- name: example-gateway
255
+
namespace: gateway-system
256
+
sectionName: https
257
+
```
258
+
259
+
#### Gateway API with gRPC support
260
+
261
+
For deployments requiring gRPC routing, use GRPCRoute alongside HTTPRoute:
262
+
263
+
```yaml
264
+
server:
265
+
httproute:
266
+
enabled: true
267
+
parentRefs:
268
+
- name: example-gateway
269
+
namespace: gateway-system
270
+
sectionName: https
271
+
272
+
grpcroute:
273
+
enabled: true
274
+
parentRefs:
275
+
- name: example-gateway
276
+
namespace: gateway-system
277
+
sectionName: grpc
278
+
```
279
+
280
+
#### Gateway API with TLS backend
281
+
282
+
For HTTPS backends with Gateway API, you may need to configure BackendTLSPolicy (experimental, v1alpha3):
283
+
284
+
> **Warning:**
285
+
> BackendTLSPolicy is in **EXPERIMENTAL** status. Not all Gateway controllers support this resource (e.g., Cilium does not yet support it).
286
+
287
+
```yaml
288
+
configs:
289
+
params:
290
+
server.insecure: false # HTTPS backend
291
+
292
+
server:
293
+
httproute:
294
+
enabled: true
295
+
parentRefs:
296
+
- name: example-gateway
297
+
namespace: gateway-system
298
+
299
+
backendTLSPolicy:
300
+
enabled: true
301
+
hostname: argocd-server.argocd.svc.cluster.local
302
+
wellKnownCACertificates: System
303
+
```
304
+
239
305
## Setting the initial admin password via Argo CD Application CR
240
306
241
307
> **Note:** When deploying the `argo-cd` chart via an Argo CD `Application` CR, define your bcrypt-hashed admin password under `helm.values`—not`helm.parameters`—because Argo CD performs variable substitution on `parameters`, which will mangle any `$…` in your hash.
0 commit comments