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(helm): add Gateway API HTTPRoute support to the burrito-server (#927)
* feat(helm): add Gateway API HTTPRoute support to the burrito-server
* feat(helm): add Gateway API HTTPRoute for the burrito-controllers metrics endpoint
* fix(helm): reference named service port in HTTPRoute backendRef to match ingress
Copy file name to clipboardExpand all lines: deploy/charts/burrito/README.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,12 @@ A Helm chart for handling a complete burrito deployment
52
52
| controllers.deployment.podAnnotations | object |`{"kubectl.kubernetes.io/default-container":"burrito"}`| Annotations to be added to the pods generated by the Burrito controller deployment |
| controllers.metadata | object |`{"labels":{"app.kubernetes.io/component":"controllers","app.kubernetes.io/name":"burrito-controllers"}}`| Metadata configuration for the Burrito controller |
55
+
| controllers.metricsHttproute.apiVersion | string |`"gateway.networking.k8s.io/v1"`| Gateway API version to use for the Burrito controller metrics HTTPRoute |
56
+
| controllers.metricsHttproute.enabled | bool |`false`| Enable/Disable Gateway API HTTPRoute creation for the Burrito controller metrics endpoint (requires the Gateway API CRDs and controllers.service enabled) |
57
+
| controllers.metricsHttproute.hostnames | list |`[]`| Hostnames the HTTPRoute matches. Defaults to the controller metrics ingress host when left empty |
58
+
| controllers.metricsHttproute.metadata | object |`{"annotations":{},"labels":{}}`| Metadata configuration for the Burrito controller metrics HTTPRoute |
59
+
| controllers.metricsHttproute.parentRefs | list |`[]`| Gateways the HTTPRoute attaches to (required when metricsHttproute is enabled). Each entry follows the Gateway API parentRef schema (name, optionally namespace/sectionName) |
60
+
| controllers.metricsHttproute.rules | list |`[]`| HTTPRoute rules. Defaults to a single rule routing "/" (PathPrefix) to the burrito-controllers service when left empty |
55
61
| controllers.service.enabled | bool |`false`| Enable/Disable service creation for the Burrito controller |
56
62
| datastore.deployment.args | list |`["datastore","start"]`| Arguments to pass to the Burrito datastore container |
57
63
| datastore.deployment.command | list |`["burrito"]`| Command to run in the Burrito datastore container |
@@ -116,6 +122,12 @@ A Helm chart for handling a complete burrito deployment
116
122
| server.deployment.podAnnotations | object |`{"kubectl.kubernetes.io/default-container":"burrito"}`| Annotations to be added to the pods generated by the Burrito server deployment |
117
123
| server.deployment.ports | list |`[{"containerPort":8080,"name":"http"}]`| Server exposed port |
118
124
| server.deployment.readinessProbe | object |`{"httpGet":{"path":"/healthz","port":8080},"initialDelaySeconds":5,"periodSeconds":20}`| Server readiness probe configuration |
125
+
| server.httproute.apiVersion | string |`"gateway.networking.k8s.io/v1"`| Gateway API version to use for the Burrito server HTTPRoute |
126
+
| server.httproute.enabled | bool |`false`| Enable/Disable Gateway API HTTPRoute creation for the Burrito server (requires the Gateway API CRDs and server.service enabled) |
127
+
| server.httproute.hostnames | list |`[]`| Hostnames the HTTPRoute matches. Defaults to the server ingress host when left empty |
128
+
| server.httproute.metadata | object |`{"annotations":{},"labels":{}}`| Metadata configuration for the Burrito server HTTPRoute |
129
+
| server.httproute.parentRefs | list |`[]`| Gateways the HTTPRoute attaches to (required when httproute is enabled). Each entry follows the Gateway API parentRef schema (name, optionally namespace/sectionName) |
130
+
| server.httproute.rules | list |`[]`| HTTPRoute rules. Defaults to a single rule routing "/" (PathPrefix) to the burrito-server service when left empty |
119
131
| server.ingress | object |`{"annotations":{},"enabled":false,"host":"burrito.example.com","ingressClassName":"nginx","tls":[]}`| Ingress configuration for the Burrito server |
120
132
| server.ingress.annotations | object |`{}`| Annotations to be added to the Burrito server ingress |
121
133
| server.ingress.enabled | bool |`false`| Enable/Disable ingress creation for the Burrito server |
Copy file name to clipboardExpand all lines: deploy/charts/burrito/templates/controllers.yaml
+39Lines changed: 39 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -190,6 +190,45 @@ spec:
190
190
tls:
191
191
{{- toYaml .metricsIngress.tls | nindent 4 }}
192
192
{{- end }}
193
+
{{- if .metricsHttproute.enabled }}
194
+
{{- if not .metricsHttproute.parentRefs }}
195
+
{{- fail "controllers.metricsHttproute.enabled is set but controllers.metricsHttproute.parentRefs is empty: at least one parentRef (Gateway) is required" }}
Copy file name to clipboardExpand all lines: deploy/charts/burrito/values.yaml
+36Lines changed: 36 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -409,6 +409,24 @@ controllers:
409
409
host: burrito-controllers.example.com
410
410
# -- TLS configuration for the Burrito controller metrics ingress
411
411
tls: []
412
+
metricsHttproute:
413
+
# -- Enable/Disable Gateway API HTTPRoute creation for the Burrito controller metrics endpoint (requires the Gateway API CRDs and controllers.service enabled)
414
+
enabled: false
415
+
# -- Metadata configuration for the Burrito controller metrics HTTPRoute
416
+
metadata:
417
+
labels: {}
418
+
annotations: {}
419
+
# -- Gateway API version to use for the Burrito controller metrics HTTPRoute
420
+
apiVersion: gateway.networking.k8s.io/v1
421
+
# -- Gateways the HTTPRoute attaches to (required when metricsHttproute is enabled). Each entry follows the Gateway API parentRef schema (name, optionally namespace/sectionName)
422
+
parentRefs: []
423
+
# - name: my-gateway
424
+
# namespace: gateway-system
425
+
# sectionName: https
426
+
# -- Hostnames the HTTPRoute matches. Defaults to the controller metrics ingress host when left empty
427
+
hostnames: []
428
+
# -- HTTPRoute rules. Defaults to a single rule routing "/" (PathPrefix) to the burrito-controllers service when left empty
429
+
rules: []
412
430
413
431
server:
414
432
# -- Metadata configuration for the Burrito server
@@ -498,6 +516,24 @@ server:
498
516
host: burrito.example.com
499
517
# -- TLS configuration for the Burrito server ingress
500
518
tls: []
519
+
httproute:
520
+
# -- Enable/Disable Gateway API HTTPRoute creation for the Burrito server (requires the Gateway API CRDs and server.service enabled)
521
+
enabled: false
522
+
# -- Metadata configuration for the Burrito server HTTPRoute
523
+
metadata:
524
+
labels: {}
525
+
annotations: {}
526
+
# -- Gateway API version to use for the Burrito server HTTPRoute
527
+
apiVersion: gateway.networking.k8s.io/v1
528
+
# -- Gateways the HTTPRoute attaches to (required when httproute is enabled). Each entry follows the Gateway API parentRef schema (name, optionally namespace/sectionName)
529
+
parentRefs: []
530
+
# - name: my-gateway
531
+
# namespace: gateway-system
532
+
# sectionName: https
533
+
# -- Hostnames the HTTPRoute matches. Defaults to the server ingress host when left empty
534
+
hostnames: []
535
+
# -- HTTPRoute rules. Defaults to a single rule routing "/" (PathPrefix) to the burrito-server service when left empty
536
+
rules: []
501
537
502
538
datastore:
503
539
# -- Metadata configuration for the Burrito datastore
0 commit comments