Skip to content

Commit 0407481

Browse files
committed
downstream memory optimization
Signed-off-by: Anand Kumar Singh <anandrkskd@gmail.com>
1 parent ad62d76 commit 0407481

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

cmd/main.go

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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")

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.24.6
44

55
require (
66
github.com/argoproj-labs/argo-rollouts-manager v0.0.7-0.20251105123110-0c547c7a7765
7-
github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251104052658-38b9581ce39a
7+
github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251105202113-2a10f87771b9
88
github.com/argoproj/argo-cd/v3 v3.1.8
99
github.com/argoproj/gitops-engine v0.7.1-0.20250905160054-e48120133eec
1010
github.com/go-logr/logr v1.4.3

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI
3131
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
3232
github.com/argoproj-labs/argo-rollouts-manager v0.0.7-0.20251105123110-0c547c7a7765 h1:zVN+W/nQrRB/kB63YcvcCseuiE//sEzNw6Oa8rqiFOs=
3333
github.com/argoproj-labs/argo-rollouts-manager v0.0.7-0.20251105123110-0c547c7a7765/go.mod h1:WPyZkNHZjir/OTt8mrRwcUZKe1euHrHPJsRv1Wp/F/0=
34-
github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251104052658-38b9581ce39a h1:MruEtChFnhTI8Owa1Boqo7BChWxnVRkyhN1/dsg/VgQ=
35-
github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251104052658-38b9581ce39a/go.mod h1:ABtgKWsvMlUp6Xys8BVi0CHKdT9ZoFP+rYCqRsY0wvg=
34+
github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251105202113-2a10f87771b9 h1:v/iZr/sGwdHoqIcdSVZKoXaJ/ivv+2u85OFjyNGLDH0=
35+
github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20251105202113-2a10f87771b9/go.mod h1:ABtgKWsvMlUp6Xys8BVi0CHKdT9ZoFP+rYCqRsY0wvg=
3636
github.com/argoproj/argo-cd/v3 v3.1.8 h1:NkLPiRI5qGkV+q1EN3O7/0Wb9O/MVl62vadKteZqMUw=
3737
github.com/argoproj/argo-cd/v3 v3.1.8/go.mod h1:ZHb/LOz/hr88VWMJiVTd8DGYL7MheHCAT8S6DgYOBFo=
3838
github.com/argoproj/gitops-engine v0.7.1-0.20250905160054-e48120133eec h1:rNAwbRQFvRIuW/e2bU+B10mlzghYXsnwZedYeA7Drz4=

0 commit comments

Comments
 (0)