@@ -23,16 +23,18 @@ import (
2323 "strings"
2424
2525 mf "github.com/manifestival/manifestival"
26- "github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
27- operatorclient "github.com/tektoncd/operator/pkg/client/injection/client"
28- "github.com/tektoncd/operator/pkg/reconciler/common"
29- "github.com/tektoncd/operator/pkg/reconciler/kubernetes/tektoninstallerset/client"
30- occommon "github.com/tektoncd/operator/pkg/reconciler/openshift/common"
3126 appsv1 "k8s.io/api/apps/v1"
3227 corev1 "k8s.io/api/core/v1"
3328 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3429 k8sruntime "k8s.io/apimachinery/pkg/runtime"
3530 "knative.dev/pkg/logging"
31+
32+ "github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
33+ operatorclient "github.com/tektoncd/operator/pkg/client/injection/client"
34+ tektonConfiginformer "github.com/tektoncd/operator/pkg/client/injection/informers/operator/v1alpha1/tektonconfig"
35+ "github.com/tektoncd/operator/pkg/reconciler/common"
36+ "github.com/tektoncd/operator/pkg/reconciler/kubernetes/tektoninstallerset/client"
37+ occommon "github.com/tektoncd/operator/pkg/reconciler/openshift/common"
3638)
3739
3840const (
@@ -71,11 +73,15 @@ func OpenShiftExtension(ctx context.Context) common.Extension {
7173 logger .Fatalf ("Failed to fetch logs RBAC manifest: %v" , err )
7274 }
7375
76+ // Get TektonConfig lister to check EnableCentralTLSConfig flag
77+ tektonConfigLister := tektonConfiginformer .Get (ctx ).Lister ()
78+
7479 ext := & openshiftExtension {
7580 installerSetClient : client .NewInstallerSetClient (operatorclient .Get (ctx ).OperatorV1alpha1 ().TektonInstallerSets (),
7681 version , "results-ext" , v1alpha1 .KindTektonResult , nil ),
77- routeManifest : routeManifest ,
78- logsRBACManifest : logsRBACManifest ,
82+ routeManifest : routeManifest ,
83+ logsRBACManifest : logsRBACManifest ,
84+ tektonConfigLister : tektonConfigLister ,
7985 }
8086 return ext
8187}
@@ -84,12 +90,14 @@ type openshiftExtension struct {
8490 installerSetClient * client.InstallerSetClient
8591 routeManifest * mf.Manifest
8692 logsRBACManifest * mf.Manifest
93+ tektonConfigLister occommon.TektonConfigLister
94+ resolvedTLSConfig * occommon.TLSEnvVars
8795}
8896
89- func (oe openshiftExtension ) Transformers (comp v1alpha1.TektonComponent ) []mf.Transformer {
97+ func (oe * openshiftExtension ) Transformers (comp v1alpha1.TektonComponent ) []mf.Transformer {
9098 instance := comp .(* v1alpha1.TektonResult )
9199
92- return []mf.Transformer {
100+ transformers := []mf.Transformer {
93101 occommon .RemoveRunAsUser (),
94102 occommon .RemoveRunAsGroup (),
95103 occommon .ApplyCABundlesToDeployment ,
@@ -101,18 +109,39 @@ func (oe openshiftExtension) Transformers(comp v1alpha1.TektonComponent) []mf.Tr
101109 injectResultsAPIServiceCACert (instance .Spec .ResultsAPIProperties ),
102110 injectPostgresUpgradeSupport (),
103111 }
112+
113+ // Use TLS config resolved in PreReconcile
114+ if oe .resolvedTLSConfig != nil {
115+ transformers = append (transformers , occommon .InjectTLSEnvVars (oe .resolvedTLSConfig , "Deployment" , deploymentAPI , []string {apiContainerName }))
116+ }
117+
118+ return transformers
119+ }
120+
121+ func (oe * openshiftExtension ) GetPlatformData () string {
122+ return ""
104123}
105124
106125func (oe * openshiftExtension ) PreReconcile (ctx context.Context , tc v1alpha1.TektonComponent ) error {
126+ logger := logging .FromContext (ctx )
107127 result := tc .(* v1alpha1.TektonResult )
108- mf := mf.Manifest {}
128+ manifest := mf.Manifest {}
109129
110130 if (result .Spec .LokiStackName != "" && result .Spec .LokiStackNamespace != "" ) ||
111131 strings .EqualFold (result .Spec .LogsType , "LOKI" ) {
112- mf = mf .Append (* oe .logsRBACManifest )
132+ manifest = manifest .Append (* oe .logsRBACManifest )
113133 }
114134
115- return oe .installerSetClient .PreSet (ctx , tc , & mf , filterAndTransform ())
135+ resolvedTLS , err := occommon .ResolveCentralTLSToEnvVars (ctx , oe .tektonConfigLister )
136+ if err != nil {
137+ return err
138+ }
139+ oe .resolvedTLSConfig = resolvedTLS
140+ if oe .resolvedTLSConfig != nil {
141+ logger .Infof ("Injecting central TLS config: MinVersion=%s" , oe .resolvedTLSConfig .MinVersion )
142+ }
143+
144+ return oe .installerSetClient .PreSet (ctx , tc , & manifest , filterAndTransform ())
116145}
117146
118147func (oe openshiftExtension ) PostReconcile (ctx context.Context , tc v1alpha1.TektonComponent ) error {
@@ -130,10 +159,6 @@ func (oe openshiftExtension) PostReconcile(ctx context.Context, tc v1alpha1.Tekt
130159 return oe .installerSetClient .PostSet (ctx , tc , & manifest , filterAndTransform ())
131160}
132161
133- func (oe openshiftExtension ) GetPlatformData () string {
134- return ""
135- }
136-
137162func (oe openshiftExtension ) Finalize (ctx context.Context , tc v1alpha1.TektonComponent ) error {
138163 if err := oe .installerSetClient .CleanupPostSet (ctx ); err != nil {
139164 return err
0 commit comments