88 "github.com/spf13/viper"
99 corev1 "k8s.io/api/core/v1"
1010 "k8s.io/apimachinery/pkg/runtime"
11+ "k8s.io/apimachinery/pkg/types"
1112 utilruntime "k8s.io/apimachinery/pkg/util/runtime"
1213 clientgoscheme "k8s.io/client-go/kubernetes/scheme"
1314 ctrl "sigs.k8s.io/controller-runtime"
@@ -30,7 +31,10 @@ func init() {
3031func Start (ctx context.Context ) error {
3132 setupLog := log .FromContext (ctx )
3233 setupLog .Info ("Starting barman cloud instance plugin" )
34+
3335 podName := viper .GetString ("pod-name" )
36+ clusterName := viper .GetString ("cluster-name" )
37+ namespace := viper .GetString ("namespace" )
3438
3539 controllerOptions := ctrl.Options {
3640 Scheme : scheme ,
@@ -40,6 +44,7 @@ func Start(ctx context.Context) error {
4044 & corev1.Secret {},
4145 & barmancloudv1.ObjectStore {},
4246 & cnpgv1.Cluster {},
47+ & cnpgv1.Backup {},
4348 },
4449 },
4550 },
@@ -51,10 +56,11 @@ func Start(ctx context.Context) error {
5156 return err
5257 }
5358
59+ customCacheClient := extendedclient .NewExtendedClient (mgr .GetClient ())
60+
5461 if err := mgr .Add (& CNPGI {
55- Client : extendedclient .NewExtendedClient (mgr .GetClient ()),
56- InstanceName : podName ,
57- // TODO: improve
62+ Client : customCacheClient ,
63+ InstanceName : podName ,
5864 PGDataPath : viper .GetString ("pgdata" ),
5965 PGWALPath : path .Join (viper .GetString ("pgdata" ), "pg_wal" ),
6066 SpoolDirectory : viper .GetString ("spool-directory" ),
@@ -64,6 +70,19 @@ func Start(ctx context.Context) error {
6470 return err
6571 }
6672
73+ if err := mgr .Add (& RetentionPolicyRunnable {
74+ Client : customCacheClient ,
75+ Recorder : mgr .GetEventRecorderFor ("policy-runnable" ),
76+ ClusterKey : types.NamespacedName {
77+ Namespace : namespace ,
78+ Name : clusterName ,
79+ },
80+ PodName : podName ,
81+ }); err != nil {
82+ setupLog .Error (err , "unable to policy enforcement runnable" )
83+ return err
84+ }
85+
6786 if err := mgr .Start (ctx ); err != nil {
6887 return err
6988 }
0 commit comments