Merge pull request #3635 from Infisical/daniel/k8s-generator-fix

fix(k8s): disable clustergenerator watching in namespace scoped installations
This commit is contained in:
Daniel Hougaard
2025-05-20 23:52:43 +04:00
committed by GitHub
2 changed files with 21 additions and 12 deletions
@@ -30,7 +30,7 @@ import (
// InfisicalSecretReconciler reconciles a InfisicalSecret object
type InfisicalPushSecretReconciler struct {
client.Client
IsNamespaceScoped bool
BaseLogger logr.Logger
Scheme *runtime.Scheme
}
@@ -249,19 +249,26 @@ func (r *InfisicalPushSecretReconciler) SetupWithManager(mgr ctrl.Manager) error
},
}
return ctrl.NewControllerManagedBy(mgr).
controllerManager := ctrl.NewControllerManagedBy(mgr).
For(&secretsv1alpha1.InfisicalPushSecret{}, builder.WithPredicates(
specChangeOrDelete,
)).
Watches(
&source.Kind{Type: &corev1.Secret{}},
handler.EnqueueRequestsFromMapFunc(r.findPushSecretsForSecret),
).
Watches(
)
if !r.IsNamespaceScoped {
r.BaseLogger.Info("Watching ClusterGenerators for non-namespace scoped operator")
controllerManager.Watches(
&source.Kind{Type: &secretsv1alpha1.ClusterGenerator{}},
handler.EnqueueRequestsFromMapFunc(r.findPushSecretsForClusterGenerator),
).
Complete(r)
)
} else {
r.BaseLogger.Info("Not watching ClusterGenerators for namespace scoped operator")
}
return controllerManager.Complete(r)
}
func (r *InfisicalPushSecretReconciler) findPushSecretsForClusterGenerator(o client.Object) []reconcile.Request {
@@ -277,6 +284,7 @@ func (r *InfisicalPushSecretReconciler) findPushSecretsForClusterGenerator(o cli
}
requests := []reconcile.Request{}
for _, pushSecret := range pushSecrets.Items {
if pushSecret.Spec.Push.Generators != nil {
for _, generator := range pushSecret.Spec.Push.Generators {
+1
View File
@@ -102,6 +102,7 @@ func main() {
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
BaseLogger: ctrl.Log,
IsNamespaceScoped: namespace != "",
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "InfisicalPushSecret")
os.Exit(1)