Skip to content

Commit 0267187

Browse files
committed
feat(operator): automatically adopt generated resources
Automatically adopt resources generated by OLM during operator installation. Any CSV installed via Subscription is adopted by an operator named after the subscribed package and install namespace; other resources with OwnerReferences or OLM-style owner labels referencing component CSVs are transitively adopted.
1 parent c3bcd2e commit 0267187

33 files changed

+1728
-231
lines changed

cmd/olm/manager.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func Manager(ctx context.Context) (ctrl.Manager, error) {
3838
if feature.Gate.Enabled(feature.OperatorLifecycleManagerV2) {
3939
setupLog.Info(fmt.Sprintf("feature enabled: %v", feature.OperatorLifecycleManagerV2))
4040

41-
reconciler, err := operators.NewOperatorReconciler(
41+
operatorReconciler, err := operators.NewOperatorReconciler(
4242
mgr.GetClient(),
4343
ctrl.Log.WithName("controllers").WithName("operator"),
4444
mgr.GetScheme(),
@@ -65,9 +65,23 @@ func Manager(ctx context.Context) (ctrl.Manager, error) {
6565
}
6666
setupLog.Info("v2alpha1 CRDs installed")
6767

68-
if err = reconciler.SetupWithManager(mgr); err != nil {
68+
if err = operatorReconciler.SetupWithManager(mgr); err != nil {
6969
return nil, err
7070
}
71+
72+
adoptionReconciler, err := operators.NewAdoptionReconciler(
73+
mgr.GetClient(),
74+
ctrl.Log.WithName("controllers").WithName("adoption"),
75+
mgr.GetScheme(),
76+
)
77+
if err != nil {
78+
return nil, err
79+
}
80+
81+
if err = adoptionReconciler.SetupWithManager(mgr); err != nil {
82+
return nil, err
83+
}
84+
7185
}
7286

7387
setupLog.Info("manager configured")

0 commit comments

Comments
 (0)