Add support for GA/1.0.0 release of the Kubernetes Gateway API - gateway.networking.k8s.io/v1
Hello!
- Vote on this issue by adding a 👍 reaction
- If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)
Issue details
The first GA version of the k8s Gateway API was released 4 months ago: https://github.com/kubernetes-sigs/gateway-api/releases/tag/v1.0.0. Sounds like the right time to add support for this API.
At the moment, when using the k8s @pulumi/kubernetes/apiextensions/customResource class, there is no means of accessing for example the status field of the Gateway, or the FQDN assigned by the implementation (available via .status.addresses[0].value).
Affected area/feature
Thanks for pointing this out @tedvanderveen; we'll try to get this on the roadmap.
Thanks for putting it on the roadmap @mjeffryes. Please be aware that this missing k8s API support is currently blocking effective usage of quite a few implementation already using it: see https://gateway-api.sigs.k8s.io/implementations ATM my customer is using the new Azure Application Gateway for Containers in a PoC, it's on the list of implementations I mentioned above, that depend on the k8s Gateway API. AWS has similar implementation that also depends on k8s Gateway API: https://github.com/aws/aws-application-networking-k8s?tab=readme-ov-file#aws-gateway-api-controller-for-vpc-lattice
@tedvanderveen As we consider incorporating these add-on resources into the Pulumi Kubernetes provider, you have the option to utilize crd2pulumi for generating typed resources corresponding to the desired Gateway API CRDs. This approach would enable you to access the status subresources of the Gateway API CRs as a workaround.
Thanks for the hint, @rquitales . Unfortunately, when I run the command crd2pulumi -n gateway-api-crd-v1.yaml I get
panic: fatal: error An assertion has failed: could not parse Pulumi package. source error: could not import spec: <nil>: #/types/kubernetes:gateway.networking.k8s.io%2Fv1:GatewaySpecListenersAllowedRoutes/properties/namespaces/default: type kubernetes:gateway.networking.k8s.io/v1:GatewaySpecListenersAllowedRoutesNamespaces cannot have a constant value; only booleans, integers, numbers and strings may have constant values; , and 43 other diagnostic(s)
Am I using the tool wrong? The YAML file is the one from https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml.
OK, I see there's an issue for it https://github.com/pulumi/crd2pulumi/issues/61