diff --git a/cmd/controller-manager/app/controllers.go b/cmd/controller-manager/app/controllers.go index 4180ada90..0b0a15611 100644 --- a/cmd/controller-manager/app/controllers.go +++ b/cmd/controller-manager/app/controllers.go @@ -18,7 +18,9 @@ package app import ( "fmt" + "time" + "github.com/kubesphere/pvc-autoresizer/runners" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/tools/cache" @@ -98,6 +100,8 @@ var allControllers = []string{ "job", "storagecapability", "volumesnapshot", + "pvcautoresizer", + "workloadrestart", "loginrecord", "cluster", "nsnp", @@ -348,6 +352,36 @@ func addAllControllers(mgr manager.Manager, client k8s.Client, informerFactory i addController(mgr, "volumesnapshot", volumeSnapshotController) } + // "pvc-autoresizer" + if cmOptions.IsControllerEnabled("pvc-autoresizer") { + if err := runners.SetupIndexer(mgr, false); err != nil { + return err + } + + promClient, err := runners.NewPrometheusClient("http://prometheus-k8s.kubesphere-monitoring-system:9090") + if err != nil { + return err + } + pvcAutoResizerController := runners.NewPVCAutoresizer( + promClient, + mgr.GetClient(), + ctrl.Log.WithName("pvc-autoresizer"), + 1*time.Minute, + mgr.GetEventRecorderFor("pvc-autoresizer"), + ) + addController(mgr, "pvcautoresizer", pvcAutoResizerController) + } + + if cmOptions.IsControllerEnabled("workload-Restart") { + restarter := runners.NewRestarter( + mgr.GetClient(), + ctrl.Log.WithName("workload-Restart"), + 1*time.Minute, + mgr.GetEventRecorderFor("workload-Restart"), + ) + addController(mgr, "workloadrestart", restarter) + } + // "loginrecord" controller if cmOptions.IsControllerEnabled("loginrecord") { loginRecordController := loginrecord.NewLoginRecordController( diff --git a/vendor/modules.txt b/vendor/modules.txt index 6786780ce..ecb3a5cea 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -503,6 +503,10 @@ github.com/kubernetes-csi/external-snapshotter/client/v4/informers/externalversi github.com/kubernetes-csi/external-snapshotter/client/v4/informers/externalversions/volumesnapshot/v1beta1 github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1 github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1beta1 +# github.com/kubesphere/pvc-autoresizer v0.1.1 +## explicit +github.com/kubesphere/pvc-autoresizer/metrics +github.com/kubesphere/pvc-autoresizer/runners # github.com/kubesphere/sonargo v0.0.2 => github.com/kubesphere/sonargo v0.0.2 ## explicit github.com/kubesphere/sonargo/sonar