Skip to content

Commit

Permalink
chore: require CRDs to be present when respective controllers are ena…
Browse files Browse the repository at this point in the history
…bled (#739)
  • Loading branch information
pmalek authored Oct 11, 2024
1 parent 5cc7aee commit cc142f4
Show file tree
Hide file tree
Showing 2 changed files with 143 additions and 0 deletions.
18 changes: 18 additions & 0 deletions api/v1alpha1/gvrs.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,21 @@ func AIGatewayGVR() schema.GroupVersionResource {
Resource: "aigateways",
}
}

// KongPluginInstallationGVR returns current package KongPluginInstallation GVR.
func KongPluginInstallationGVR() schema.GroupVersionResource {
return schema.GroupVersionResource{
Group: SchemeGroupVersion.Group,
Version: SchemeGroupVersion.Version,
Resource: "kongplugininstallations",
}
}

// KonnectExtensionGVR returns current package KonnectExtension GVR.
func KonnectExtensionGVR() schema.GroupVersionResource {
return schema.GroupVersionResource{
Group: SchemeGroupVersion.Group,
Version: SchemeGroupVersion.Version,
Resource: "konnectextensions",
}
}
125 changes: 125 additions & 0 deletions modules/manager/controller_setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@ func SetupControllers(mgr manager.Manager, c *Config) (map[string]ControllerDef,
Condition: c.GatewayControllerEnabled || c.DataPlaneBlueGreenControllerEnabled || c.DataPlaneControllerEnabled,
GVRs: []schema.GroupVersionResource{
operatorv1beta1.DataPlaneGVR(),
operatorv1alpha1.KongPluginInstallationGVR(),
},
},
{
Expand All @@ -225,6 +226,7 @@ func SetupControllers(mgr manager.Manager, c *Config) (map[string]ControllerDef,
Version: gatewayv1.SchemeGroupVersion.Version,
Resource: "gateways",
},
operatorv1alpha1.KongPluginInstallationGVR(),
},
},
{
Expand All @@ -233,7 +235,130 @@ func SetupControllers(mgr manager.Manager, c *Config) (map[string]ControllerDef,
operatorv1alpha1.AIGatewayGVR(),
},
},
{
Condition: c.KongPluginInstallationControllerEnabled,
GVRs: []schema.GroupVersionResource{
operatorv1alpha1.KongPluginInstallationGVR(),
},
},
{
Condition: c.KonnectControllersEnabled,
GVRs: []schema.GroupVersionResource{
operatorv1alpha1.KonnectExtensionGVR(),
{
Group: konnectv1alpha1.SchemeGroupVersion.Group,
Version: konnectv1alpha1.SchemeGroupVersion.Version,
Resource: "konnectgatewaycontrolplanes",
},
{
Group: konnectv1alpha1.SchemeGroupVersion.Group,
Version: konnectv1alpha1.SchemeGroupVersion.Version,
Resource: "konnectapiauthconfigurations",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcacertificates",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcertificates",
},
{
Group: configurationv1beta1.SchemeGroupVersion.Group,
Version: configurationv1beta1.SchemeGroupVersion.Version,
Resource: "kongconsumergroups",
},
{
Group: configurationv1.SchemeGroupVersion.Group,
Version: configurationv1.SchemeGroupVersion.Version,
Resource: "kongconsumers",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcredentialacls",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcredentialapikeys",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcredentialbasicauths",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcredentialhmacs",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongcredentialjwts",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongdataplaneclientcertificates",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongkeys",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongkeysets",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongpluginbindings",
},
{
Group: configurationv1.SchemeGroupVersion.Group,
Version: configurationv1.SchemeGroupVersion.Version,
Resource: "kongplugins",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongroutes",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongservices",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongsnis",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongtargets",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongupstreams",
},
{
Group: configurationv1alpha1.SchemeGroupVersion.Group,
Version: configurationv1alpha1.SchemeGroupVersion.Version,
Resource: "kongvaults",
},
},
},
}

checker := k8sutils.CRDChecker{Client: mgr.GetClient()}
for _, check := range crdChecks {
if !check.Condition {
Expand Down

0 comments on commit cc142f4

Please sign in to comment.