Skip to content

Commit cee048a

Browse files
authored
Merge branch 'master' into GITOPS-9592-Local-Admin-UI-test-with-Playwright
2 parents 36cc94d + d4b8418 commit cee048a

25 files changed

Lines changed: 4244 additions & 162 deletions

bundle/manifests/argoproj.io_analysisruns.yaml

Lines changed: 395 additions & 12 deletions
Large diffs are not rendered by default.

bundle/manifests/argoproj.io_analysistemplates.yaml

Lines changed: 395 additions & 12 deletions
Large diffs are not rendered by default.

bundle/manifests/argoproj.io_clusteranalysistemplates.yaml

Lines changed: 395 additions & 12 deletions
Large diffs are not rendered by default.

bundle/manifests/argoproj.io_experiments.yaml

Lines changed: 375 additions & 8 deletions
Large diffs are not rendered by default.

bundle/manifests/argoproj.io_rolloutmanagers.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,19 @@ spec:
263263
description: NamespaceScoped lets you specify if RolloutManager has
264264
to watch a namespace or the whole cluster
265265
type: boolean
266+
networkPolicy:
267+
description: |-
268+
NetworkPolicy controls whether the operator should create NetworkPolicy resources.
269+
if empty, the default is to create network policies
270+
properties:
271+
enabled:
272+
default: true
273+
description: |-
274+
Enabled defines whether NetworkPolicy resources should be created for this instance.
275+
When enabled, the operator will reconcile NetworkPolicies for components.
276+
When disabled, the operator will remove any previously-created NetworkPolicies.
277+
type: boolean
278+
type: object
266279
nodePlacement:
267280
description: NodePlacement defines NodeSelectors and Taints for Rollouts
268281
workloads

bundle/manifests/argoproj.io_rollouts.yaml

Lines changed: 399 additions & 11 deletions
Large diffs are not rendered by default.

bundle/manifests/gitops-operator.clusterserviceversion.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ metadata:
190190
capabilities: Deep Insights
191191
console.openshift.io/plugins: '["gitops-plugin"]'
192192
containerImage: quay.io/redhat-developer/gitops-operator
193-
createdAt: "2026-04-24T14:56:46Z"
193+
createdAt: "2026-05-27T11:59:10Z"
194194
description: Enables teams to adopt GitOps principles for managing cluster configurations
195195
and application delivery across hybrid multi-cluster Kubernetes environments.
196196
features.operators.openshift.io/disconnected: "true"
@@ -629,6 +629,7 @@ spec:
629629
- get
630630
- update
631631
- apiGroups:
632+
- eks.amazonaws.com
632633
- elbv2.k8s.aws
633634
resources:
634635
- targetgroupbindings

cmd/main.go

Lines changed: 65 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func main() {
133133
ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts)))
134134

135135
if err := util.InspectCluster(); err != nil {
136-
setupLog.Info("unable to inspect cluster")
136+
setupLog.Error(err, "unable to inspect cluster")
137137
}
138138

139139
disableHTTP2 := func(c *tls.Config) {
@@ -198,18 +198,52 @@ func main() {
198198
client = mgr.GetClient()
199199
}
200200

201-
registerComponentOrExit(mgr, console.AddToScheme)
202-
registerComponentOrExit(mgr, routev1.AddToScheme) // Adding the routev1 api
203-
registerComponentOrExit(mgr, operatorsv1.AddToScheme)
204-
registerComponentOrExit(mgr, operatorsv1alpha1.AddToScheme)
201+
// Setup Scheme for OpenShift Console if available (verified by InspectCluster)
202+
if util.IsConsoleAPIFound() {
203+
registerComponentOrExit(mgr, console.AddToScheme)
204+
}
205+
206+
// Setup Scheme for OpenShift Route if available (verified by InspectCluster)
207+
if util.IsRouteAPIFound() {
208+
registerComponentOrExit(mgr, routev1.AddToScheme)
209+
}
210+
211+
// Setup Scheme for Prometheus Operator if available (verified by InspectCluster)
212+
if util.IsMonitoringAPIFound() {
213+
registerComponentOrExit(mgr, monitoringv1.AddToScheme)
214+
}
215+
216+
// Setup Scheme for OLM if available (verified by InspectCluster)
217+
if util.IsOLMAPIFound() {
218+
registerComponentOrExit(mgr, operatorsv1.AddToScheme)
219+
registerComponentOrExit(mgr, operatorsv1alpha1.AddToScheme)
220+
}
221+
205222
registerComponentOrExit(mgr, argov1alpha1api.AddToScheme)
206223
registerComponentOrExit(mgr, argov1beta1api.AddToScheme)
207-
registerComponentOrExit(mgr, configv1.AddToScheme)
208-
registerComponentOrExit(mgr, monitoringv1.AddToScheme)
224+
225+
// Setup Scheme for OpenShift Config if available
226+
if util.IsConfigAPIFound() {
227+
registerComponentOrExit(mgr, configv1.AddToScheme)
228+
}
229+
209230
registerComponentOrExit(mgr, rolloutManagerApi.AddToScheme)
210-
registerComponentOrExit(mgr, templatev1.AddToScheme)
211-
registerComponentOrExit(mgr, appsv1.AddToScheme)
212-
registerComponentOrExit(mgr, oauthv1.AddToScheme)
231+
232+
// Setup Scheme for OpenShift Template if available (verified by InspectCluster)
233+
if util.IsTemplateAPIFound() {
234+
registerComponentOrExit(mgr, templatev1.AddToScheme)
235+
}
236+
237+
// Setup Scheme for OpenShift Apps if available (verified by InspectCluster)
238+
if util.IsAppsAPIFound() {
239+
registerComponentOrExit(mgr, appsv1.AddToScheme)
240+
}
241+
242+
// Setup Scheme for OpenShift OAuth if available (verified by InspectCluster)
243+
if util.IsOAuthAPIFound() {
244+
registerComponentOrExit(mgr, oauthv1.AddToScheme)
245+
}
246+
213247
registerComponentOrExit(mgr, crdv1.AddToScheme)
214248

215249
// Start webhook only if ENABLE_CONVERSION_WEBHOOK is set
@@ -229,21 +263,30 @@ func main() {
229263
os.Exit(1)
230264
}
231265

232-
if err = (&controllers.ReconcileArgoCDRoute{
233-
Client: client,
234-
Scheme: mgr.GetScheme(),
235-
}).SetupWithManager(mgr); err != nil {
236-
setupLog.Error(err, "unable to create controller", "controller", "Argo CD route")
237-
os.Exit(1)
266+
if util.IsRouteAPIFound() {
267+
if err = (&controllers.ReconcileArgoCDRoute{
268+
Client: client,
269+
Scheme: mgr.GetScheme(),
270+
}).SetupWithManager(mgr); err != nil {
271+
setupLog.Error(err, "unable to create controller", "controller", "Argo CD route")
272+
os.Exit(1)
273+
}
274+
} else {
275+
setupLog.Info("Route API not found, skipping ReconcileArgoCDRoute controller setup")
238276
}
239277

240-
if err = (&controllers.ArgoCDMetricsReconciler{
241-
Client: client,
242-
Scheme: mgr.GetScheme(),
243-
}).SetupWithManager(mgr); err != nil {
244-
setupLog.Error(err, "unable to create controller", "controller", "Argo CD metrics")
245-
os.Exit(1)
278+
if util.IsMonitoringAPIFound() {
279+
if err = (&controllers.ArgoCDMetricsReconciler{
280+
Client: client,
281+
Scheme: mgr.GetScheme(),
282+
}).SetupWithManager(mgr); err != nil {
283+
setupLog.Error(err, "unable to create controller", "controller", "Argo CD metrics")
284+
os.Exit(1)
285+
}
286+
} else {
287+
setupLog.Info("Monitoring API not found, skipping Argo CD metrics controller setup")
246288
}
289+
247290
// Check the label selector format eg. "foo=bar"
248291
if _, err := labels.Parse(labelSelectorFlag); err != nil {
249292
setupLog.Error(err, "error parsing the labelSelector '%s'.", labelSelectorFlag)

0 commit comments

Comments
 (0)