From 5c3445d88ffafa14cb521598dc1f625d928087d6 Mon Sep 17 00:00:00 2001 From: aThorp96 Date: Mon, 27 Jan 2025 09:57:20 -0500 Subject: [PATCH] Apply TargetNamespace to Dashboard contaner args --- pkg/reconciler/kubernetes/tektondashboard/reconcile.go | 1 + .../testdata/test-dashboard-transformer-updated.yaml | 6 +++--- pkg/reconciler/kubernetes/tektondashboard/transform.go | 5 ++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/reconciler/kubernetes/tektondashboard/reconcile.go b/pkg/reconciler/kubernetes/tektondashboard/reconcile.go index 588dd55a76..472930df9c 100644 --- a/pkg/reconciler/kubernetes/tektondashboard/reconcile.go +++ b/pkg/reconciler/kubernetes/tektondashboard/reconcile.go @@ -113,6 +113,7 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, td *v1alpha1.TektonDashb // and hence deleting the component in the integration tests, targetNamespace was getting deleted. Hence // filtering out the namespace here manifest = manifest.Filter(mf.Not(mf.ByKind("Namespace"))) + if err := r.installerSetClient.MainSet(ctx, td, &manifest, filterAndTransform(r.extension)); err != nil { msg := fmt.Sprintf("Main Reconcilation failed: %s", err.Error()) logger.Error(msg) diff --git a/pkg/reconciler/kubernetes/tektondashboard/testdata/test-dashboard-transformer-updated.yaml b/pkg/reconciler/kubernetes/tektondashboard/testdata/test-dashboard-transformer-updated.yaml index c3f5ebe539..1c6e7562ef 100644 --- a/pkg/reconciler/kubernetes/tektondashboard/testdata/test-dashboard-transformer-updated.yaml +++ b/pkg/reconciler/kubernetes/tektondashboard/testdata/test-dashboard-transformer-updated.yaml @@ -404,15 +404,15 @@ spec: app.kubernetes.io/name: dashboard app.kubernetes.io/part-of: tekton-dashboard app.kubernetes.io/version: v0.48.0 - operator.tekton.dev/deployment-spec-applied-hash: 0d7e625dccc2efab4493c409bdc71e88 + operator.tekton.dev/deployment-spec-applied-hash: e521024acd6c6a280dc53fb4de0a6725 name: tekton-dashboard spec: containers: - args: - --port=9097 - --logout-url= - - --pipelines-namespace=tekton-pipelines - - --triggers-namespace=tekton-pipelines + - --pipelines-namespace=foo-ns + - --triggers-namespace=foo-ns - --read-only=false - --log-level=info - --log-format=json diff --git a/pkg/reconciler/kubernetes/tektondashboard/transform.go b/pkg/reconciler/kubernetes/tektondashboard/transform.go index fbdecc098f..717a694f38 100644 --- a/pkg/reconciler/kubernetes/tektondashboard/transform.go +++ b/pkg/reconciler/kubernetes/tektondashboard/transform.go @@ -33,6 +33,8 @@ const ( func filterAndTransform(extension common.Extension) client.FilterAndTransform { return func(ctx context.Context, manifest *mf.Manifest, comp v1alpha1.TektonComponent) (*mf.Manifest, error) { dashboard := comp.(*v1alpha1.TektonDashboard) + targetNamespace := dashboard.Spec.GetTargetNamespace() + images := common.ToLowerCaseKeys(common.ImagesFromEnv(common.DashboardImagePrefix)) @@ -42,6 +44,7 @@ func filterAndTransform(extension common.Extension) client.FilterAndTransform { common.AddConfiguration(dashboard.Spec.Config), common.AddDeploymentRestrictedPSA(), common.DeploymentImages(images), + common.ReplaceNamespaceInDeploymentArgs([]string{dashboardDeploymentName}, targetNamespace), } trns = append(trns, extra...) if dashboard.Spec.ExternalLogs != "" { @@ -54,7 +57,7 @@ func filterAndTransform(extension common.Extension) client.FilterAndTransform { // additional options transformer // always execute as last transformer, so that the values in options will be final update values on the manifests - if err := common.ExecuteAdditionalOptionsTransformer(ctx, manifest, dashboard.Spec.GetTargetNamespace(), dashboard.Spec.Dashboard.Options); err != nil { + if err := common.ExecuteAdditionalOptionsTransformer(ctx, manifest, targetNamespace, dashboard.Spec.Dashboard.Options); err != nil { return &mf.Manifest{}, err }