@@ -38,6 +38,8 @@ import (
3838 argocdprovisioner "github.com/argoproj-labs/argocd-operator/controllers/argocd"
3939 "github.com/argoproj-labs/argocd-operator/controllers/argoutil"
4040 notificationsprovisioner "github.com/argoproj-labs/argocd-operator/controllers/notificationsconfiguration"
41+ "github.com/argoproj-labs/argocd-operator/pkg/cacheutils"
42+ wc "github.com/argoproj-labs/argocd-operator/pkg/clientwrapper"
4143 appsv1 "github.com/openshift/api/apps/v1"
4244 configv1 "github.com/openshift/api/config/v1"
4345 console "github.com/openshift/api/console/v1"
@@ -47,11 +49,14 @@ import (
4749 operatorsv1 "github.com/operator-framework/api/pkg/operators/v1"
4850 operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
4951 monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
52+ corev1 "k8s.io/api/core/v1"
5053 crdv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
5154 "k8s.io/apimachinery/pkg/labels"
5255 utilruntime "k8s.io/apimachinery/pkg/util/runtime"
5356 clientgoscheme "k8s.io/client-go/kubernetes/scheme"
5457 ctrl "sigs.k8s.io/controller-runtime"
58+ "sigs.k8s.io/controller-runtime/pkg/cache"
59+ crclient "sigs.k8s.io/controller-runtime/pkg/client"
5560 "sigs.k8s.io/controller-runtime/pkg/client/config"
5661 controllerconfig "sigs.k8s.io/controller-runtime/pkg/config"
5762 "sigs.k8s.io/controller-runtime/pkg/healthz"
@@ -157,12 +162,22 @@ func main() {
157162 Controller : controllerconfig.Controller {
158163 SkipNameValidation : & skipControllerNameValidation ,
159164 },
165+ Cache : cache.Options {
166+ Scheme : scheme ,
167+ ByObject : map [crclient.Object ]cache.ByObject {
168+ & corev1.Secret {}: {Transform : cacheutils .StripSecretDataTranform ()},
169+ & corev1.ConfigMap {}: {Transform : cacheutils .StripConfigMapDataTransform ()},
170+ },
171+ },
160172 })
161173 if err != nil {
162174 setupLog .Error (err , "unable to start manager" )
163175 os .Exit (1 )
164176 }
165177
178+ liveClient , _ := crclient .New (ctrl .GetConfigOrDie (), crclient.Options {Scheme : mgr .GetScheme ()})
179+ client := wc .NewClientWrapper (mgr .GetClient (), liveClient )
180+
166181 registerComponentOrExit (mgr , console .AddToScheme )
167182 registerComponentOrExit (mgr , routev1 .AddToScheme ) // Adding the routev1 api
168183 registerComponentOrExit (mgr , operatorsv1 .AddToScheme )
@@ -186,7 +201,7 @@ func main() {
186201 }
187202
188203 if err = (& controllers.ReconcileGitopsService {
189- Client : mgr . GetClient () ,
204+ Client : client ,
190205 Scheme : mgr .GetScheme (),
191206 DisableDefaultInstall : strings .ToLower (os .Getenv (common .DisableDefaultInstallEnvVar )) == "true" ,
192207 }).SetupWithManager (mgr ); err != nil {
@@ -195,15 +210,15 @@ func main() {
195210 }
196211
197212 if err = (& controllers.ReconcileArgoCDRoute {
198- Client : mgr . GetClient () ,
213+ Client : client ,
199214 Scheme : mgr .GetScheme (),
200215 }).SetupWithManager (mgr ); err != nil {
201216 setupLog .Error (err , "unable to create controller" , "controller" , "Argo CD route" )
202217 os .Exit (1 )
203218 }
204219
205220 if err = (& controllers.ArgoCDMetricsReconciler {
206- Client : mgr . GetClient () ,
221+ Client : client ,
207222 Scheme : mgr .GetScheme (),
208223 }).SetupWithManager (mgr ); err != nil {
209224 setupLog .Error (err , "unable to create controller" , "controller" , "Argo CD metrics" )
@@ -225,7 +240,7 @@ func main() {
225240 argocdprovisioner .Register (openshift .ReconcilerHook , openshift .BuilderHook )
226241
227242 if err = (& argocdprovisioner.ReconcileArgoCD {
228- Client : mgr . GetClient () ,
243+ Client : client ,
229244 Scheme : mgr .GetScheme (),
230245 LabelSelector : labelSelectorFlag ,
231246 K8sClient : k8sClient ,
@@ -251,7 +266,7 @@ func main() {
251266 }
252267
253268 if err = (& rolloutManagerProvisioner.RolloutManagerReconciler {
254- Client : mgr . GetClient () ,
269+ Client : client ,
255270 Scheme : mgr .GetScheme (),
256271 OpenShiftRoutePluginLocation : getArgoRolloutsOpenshiftRouteTrafficManagerPath (),
257272 NamespaceScopedArgoRolloutsController : isNamespaceScoped ,
@@ -262,7 +277,7 @@ func main() {
262277 }
263278
264279 if err = (& notificationsprovisioner.NotificationsConfigurationReconciler {
265- Client : mgr . GetClient () ,
280+ Client : client ,
266281 Scheme : mgr .GetScheme (),
267282 }).SetupWithManager (mgr ); err != nil {
268283 setupLog .Error (err , "unable to create controller" , "controller" , "Notifications Configuration" )
0 commit comments