@@ -25,12 +25,6 @@ import (
2525 "strings"
2626
2727 "github.com/argoproj/argo-cd/v3/util/env"
28- appsv1 "github.com/openshift/api/apps/v1"
29- configv1 "github.com/openshift/api/config/v1"
30- oauthv1 "github.com/openshift/api/oauth/v1"
31- routev1 "github.com/openshift/api/route/v1"
32- templatev1 "github.com/openshift/api/template/v1"
33- monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
3428 "k8s.io/client-go/kubernetes"
3529 "sigs.k8s.io/controller-runtime/pkg/cache"
3630 "sigs.k8s.io/controller-runtime/pkg/client/config"
@@ -40,6 +34,7 @@ import (
4034 "github.com/argoproj-labs/argocd-operator/common"
4135 "github.com/argoproj-labs/argocd-operator/controllers/argocd"
4236 "github.com/argoproj-labs/argocd-operator/controllers/argocdexport"
37+ operatorscheme "github.com/argoproj-labs/argocd-operator/schema"
4338
4439 metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
4540
@@ -52,13 +47,10 @@ import (
5247 "go.uber.org/zap/zapcore"
5348 "k8s.io/apimachinery/pkg/labels"
5449 "k8s.io/apimachinery/pkg/runtime"
55- utilruntime "k8s.io/apimachinery/pkg/util/runtime"
56- clientgoscheme "k8s.io/client-go/kubernetes/scheme"
5750 ctrl "sigs.k8s.io/controller-runtime"
5851 "sigs.k8s.io/controller-runtime/pkg/healthz"
5952 "sigs.k8s.io/controller-runtime/pkg/log/zap"
6053
61- v1alpha1 "github.com/argoproj-labs/argocd-operator/api/v1alpha1"
6254 v1beta1 "github.com/argoproj-labs/argocd-operator/api/v1beta1"
6355 "github.com/argoproj-labs/argocd-operator/version"
6456 //+kubebuilder:scaffold:imports
6961 setupLog = ctrl .Log .WithName ("setup" )
7062)
7163
72- func init () {
73- utilruntime .Must (clientgoscheme .AddToScheme (scheme ))
74-
75- utilruntime .Must (v1alpha1 .AddToScheme (scheme ))
76- utilruntime .Must (v1beta1 .AddToScheme (scheme ))
77- //+kubebuilder:scaffold:scheme
78- }
79-
8064func printVersion () {
8165 setupLog .Info (fmt .Sprintf ("Go Version: %s" , goruntime .Version ()))
8266 setupLog .Info (fmt .Sprintf ("Go OS/Arch: %s/%s" , goruntime .GOOS , goruntime .GOARCH ))
@@ -190,65 +174,15 @@ func main() {
190174
191175 setupLog .Info ("Registering Components." )
192176
193- // Setup Scheme for all resources
194- if err := v1alpha1 .AddToScheme (mgr .GetScheme ()); err != nil {
195- setupLog .Error (err , "" )
196- os .Exit (1 )
197- }
198-
199- if err := v1beta1 .AddToScheme (mgr .GetScheme ()); err != nil {
200- setupLog .Error (err , "" )
201- os .Exit (1 )
202- }
203-
204- // Setup Scheme for Prometheus if available.
205- if argocd .IsPrometheusAPIAvailable () {
206- if err := monitoringv1 .AddToScheme (mgr .GetScheme ()); err != nil {
207- setupLog .Error (err , "" )
208- os .Exit (1 )
209- }
210- }
211-
212- // Setup Scheme for OpenShift Routes if available.
213- if argocd .IsRouteAPIAvailable () {
214- if err := routev1 .Install (mgr .GetScheme ()); err != nil {
215- setupLog .Error (err , "" )
216- os .Exit (1 )
217- }
218- }
219-
220- // Set up the scheme for openshift config if available
221- if argocd .IsVersionAPIAvailable () {
222- if err := configv1 .Install (mgr .GetScheme ()); err != nil {
223- setupLog .Error (err , "" )
224- os .Exit (1 )
225- }
226- }
227-
228- // Setup Schemes for SSO if template instance is available.
229- if argocd .CanUseKeycloakWithTemplate () {
230- setupLog .Info ("Keycloak instance can be managed using OpenShift Template" )
231- if err := templatev1 .Install (mgr .GetScheme ()); err != nil {
232- setupLog .Error (err , "" )
233- os .Exit (1 )
234- }
235- if err := appsv1 .Install (mgr .GetScheme ()); err != nil {
236- setupLog .Error (err , "" )
237- os .Exit (1 )
238- }
239- if err := oauthv1 .Install (mgr .GetScheme ()); err != nil {
240- setupLog .Error (err , "" )
241- os .Exit (1 )
242- }
243- } else {
244- setupLog .Info ("Keycloak instance cannot be managed using OpenShift Template, as DeploymentConfig/Template API is not present" )
245- }
177+ // Setup Scheme for all resources using the centralized scheme package
178+ operatorscheme .SetupScheme (mgr .GetScheme ())
246179
247180 k8sClient , err := initK8sClient ()
248181 if err != nil {
249182 setupLog .Error (err , "Failed to initialize Kubernetes client" )
250183 os .Exit (1 )
251184 }
185+
252186 if err = (& argocd.ReconcileArgoCD {
253187 Client : mgr .GetClient (),
254188 Scheme : mgr .GetScheme (),
0 commit comments