Skip to content

Commit c70571c

Browse files
committed
feat(helm): add opt-in Gateway API CRDs to Helm chart
Bundles upstream Gateway API v1.5.1 standard and experimental CRDs as opt-in via crds.gatewayAPI.standard.enabled / experimental.enabled (both default false). Raw YAML lives in config/crd/gateway/upstream/ and is copied to helm/files/ by make crds, so verify-crds.sh catches drift automatically.
1 parent c37dac8 commit c70571c

7 files changed

Lines changed: 79245 additions & 0 deletions

File tree

Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ MOVE_AGA_CRDS = mkdir -p config/crd/aga && mv config/crd/bases/aga.k8s.aws_* con
2727
# Copy combined Gateway API CRDs from bases directory to helm directory
2828
COPY_GATEWAY_CRDS_TO_HELM = cp config/crd/gateway/gateway-crds.yaml helm/aws-load-balancer-controller/crds/gateway-crds.yaml
2929

30+
# Copy upstream Gateway API CRDs to helm files directory
31+
COPY_STANDARD_GATEWAY_CRDS_TO_HELM = cp config/crd/gateway/upstream/standard-install.yaml helm/aws-load-balancer-controller/files/standard-gatewayapi-crds.yaml
32+
COPY_EXPERIMENTAL_GATEWAY_CRDS_TO_HELM = cp config/crd/gateway/upstream/experimental-install.yaml helm/aws-load-balancer-controller/files/experimental-gatewayapi-crds.yaml
33+
3034

3135
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
3236
ifeq (,$(shell go env GOBIN))
@@ -90,6 +94,8 @@ crds: manifests
9094
echo '---' > config/crd/gateway/gateway-crds.yaml
9195
$(KUSTOMIZE) build config/crd/gateway >> config/crd/gateway/gateway-crds.yaml
9296
$(COPY_GATEWAY_CRDS_TO_HELM)
97+
$(COPY_STANDARD_GATEWAY_CRDS_TO_HELM)
98+
$(COPY_EXPERIMENTAL_GATEWAY_CRDS_TO_HELM)
9399
$(KUSTOMIZE) build config/crd/aga > config/crd/aga/aga-crds.yaml
94100
echo '---' > config/crd/aga/aga-crds.yaml
95101
$(KUSTOMIZE) build config/crd/aga >> config/crd/aga/aga-crds.yaml

config/crd/gateway/upstream/experimental-install.yaml

Lines changed: 22084 additions & 0 deletions
Large diffs are not rendered by default.

config/crd/gateway/upstream/standard-install.yaml

Lines changed: 17527 additions & 0 deletions
Large diffs are not rendered by default.

helm/aws-load-balancer-controller/files/experimental-gatewayapi-crds.yaml

Lines changed: 22084 additions & 0 deletions
Large diffs are not rendered by default.

helm/aws-load-balancer-controller/files/standard-gatewayapi-crds.yaml

Lines changed: 17527 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{{- if .Values.crds.gatewayAPI.standard.enabled }}
2+
{{ .Files.Get "files/standard-gatewayapi-crds.yaml" }}
3+
{{- end }}
4+
{{- if .Values.crds.gatewayAPI.experimental.enabled }}
5+
{{ .Files.Get "files/experimental-gatewayapi-crds.yaml" }}
6+
{{- end }}

helm/aws-load-balancer-controller/values.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,3 +515,14 @@ loadBalancerClass:
515515

516516
# creator will disable helm default labels, so you can only add yours
517517
# creator: "me"
518+
519+
# crds controls installation of Kubernetes standard Gateway API CRDs.
520+
# These are opt-in (default: false) to avoid conflicting with existing installations.
521+
# standard: used for L7 (HTTP/TLS) routing
522+
# experimental: used for L4 (TCP/UDP) routing and experimental features
523+
crds:
524+
gatewayAPI:
525+
standard:
526+
enabled: false
527+
experimental:
528+
enabled: false

0 commit comments

Comments
 (0)