in cmd/aws-application-networking-k8s/main.go [97:140]
func checkRequiredCRDs(mgr ctrl.Manager) error {
// Add or update the required CRDs when new CRDs are added to the project
requiredCRDs := []schema.GroupVersionKind{
{
Group: gwv1.GroupVersion.Group,
Version: gwv1.GroupVersion.Version,
Kind: "Gateway",
},
{
Group: gwv1.GroupVersion.Group,
Version: gwv1.GroupVersion.Version,
Kind: "GatewayClass",
},
{
Group: gwv1.GroupVersion.Group,
Version: gwv1.GroupVersion.Version,
Kind: "HTTPRoute",
},
{
Group: gwv1.GroupVersion.Group,
Version: gwv1.GroupVersion.Version,
Kind: "GRPCRoute",
},
{
Group: gwv1alpha2.GroupVersion.Group,
Version: gwv1alpha2.GroupVersion.Version,
Kind: "TLSRoute",
},
}
missingCRDs := make([]string, 0, len(requiredCRDs))
for _, crd := range requiredCRDs {
ok, err := k8s.IsGVKSupported(mgr, crd.GroupVersion().String(), crd.Kind)
if err != nil {
return fmt.Errorf("error checking required CRD %s: %w", crd, err)
}
if !ok {
missingCRDs = append(missingCRDs, crd.String())
}
}
if len(missingCRDs) > 0 {
return fmt.Errorf("missing required CRDs: %s", strings.Join(missingCRDs, ", "))
}
return nil
}