@@ -10,17 +10,14 @@ import (
1010 sourcev1 "github.com/fluxcd/source-controller/api/v1"
1111 "github.com/openmcp-project/controller-utils/pkg/clusters"
1212 "github.com/sirupsen/logrus"
13+ apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1314 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1415
15- ocmcli "github.com/openmcp-project/bootstrapper/internal/ocm-cli"
16-
1716 "github.com/openmcp-project/bootstrapper/internal/component"
1817 cfg "github.com/openmcp-project/bootstrapper/internal/config"
19-
2018 "github.com/openmcp-project/bootstrapper/internal/flux_deployer"
19+ ocmcli "github.com/openmcp-project/bootstrapper/internal/ocm-cli"
2120 "github.com/openmcp-project/bootstrapper/internal/util"
22-
23- apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2421)
2522
2623type EsoDeployer struct {
@@ -63,7 +60,7 @@ func (d *EsoDeployer) DeployWithComponentManager(ctx context.Context, componentM
6360 return fmt .Errorf ("failed to get external-secrets-operator-chart resource: %w" , err )
6461 }
6562 d .log .Info ("Deploying OCIRepo for ESO chart." )
66- if err = deployRepo (ctx , d , esoChartRes , esoChartRepoName ); err != nil {
63+ if err = d . deployRepo (ctx , esoChartRes , esoChartRepoName ); err != nil {
6764 return fmt .Errorf ("failed to create helm chart repo: %w" , err )
6865 }
6966
@@ -72,28 +69,33 @@ func (d *EsoDeployer) DeployWithComponentManager(ctx context.Context, componentM
7269 return fmt .Errorf ("failed to get external-secrets-operator-image resource: %w" , err )
7370 }
7471 d .log .Info ("Deploying OCIRepo for ESO image." )
75- if err = deployRepo (ctx , d , esoImageRes , esoImageRepoName ); err != nil {
72+ if err = d . deployRepo (ctx , esoImageRes , esoImageRepoName ); err != nil {
7673 return fmt .Errorf ("failed to create helm image repo: %w" , err )
7774 }
7875
7976 d .log .Info ("Deploying HelmRelease for ESO." )
80- if err = deployHelmRelease (ctx , d , esoImageRes ); err != nil {
77+ if err = d . deployHelmRelease (ctx , esoImageRes ); err != nil {
8178 return fmt .Errorf ("failed to deploy helm release: %w" , err )
8279 }
8380
8481 d .log .Info ("Done." )
8582 return nil
8683}
8784
88- func deployHelmRelease (ctx context.Context , d * EsoDeployer , res * ocmcli.Resource ) error {
89- name , _ , _ , err := util .ParseImageVersionAndTag (* res .Access .ImageReference )
85+ func ( d * EsoDeployer ) deployHelmRelease (ctx context.Context , res * ocmcli.Resource ) error {
86+ name , tag , _ , err := util .ParseImageVersionAndTag (* res .Access .ImageReference )
9087 if err != nil {
9188 return fmt .Errorf ("failed to parse image resource: %w" , err )
9289 }
9390
9491 values := map [string ]any {
95- "image" : map [string ]any {"repository" : name },
92+ "image" : map [string ]any {
93+ "repository" : name ,
94+ "tag" : tag ,
95+ },
9696 }
97+ values ["imagePullSecrets" ] = d .Config .ExternalSecrets .ImagePullSecrets
98+
9799 encoded , err := json .Marshal (values )
98100 if err != nil {
99101 return fmt .Errorf ("failed to marshal ESO Helm values: %w" , err )
@@ -122,8 +124,8 @@ func deployHelmRelease(ctx context.Context, d *EsoDeployer, res *ocmcli.Resource
122124 return util .CreateOrUpdate (ctx , d .platformCluster , helmRelease )
123125}
124126
125- func deployRepo (ctx context.Context , d * EsoDeployer , res * ocmcli.Resource , repoName string ) error {
126- imageName , tag , digest , err := util .ParseImageVersionAndTag (* res .Access .ImageReference )
127+ func ( d * EsoDeployer ) deployRepo (ctx context.Context , res * ocmcli.Resource , repoName string ) error {
128+ name , tag , digest , err := util .ParseImageVersionAndTag (* res .Access .ImageReference )
127129 if err != nil {
128130 return err
129131 }
@@ -134,12 +136,13 @@ func deployRepo(ctx context.Context, d *EsoDeployer, res *ocmcli.Resource, repoN
134136 Namespace : flux_deployer .FluxSystemNamespace ,
135137 },
136138 Spec : sourcev1.OCIRepositorySpec {
137- URL : fmt .Sprintf ("oci://%s" , imageName ),
139+ URL : fmt .Sprintf ("oci://%s" , name ),
138140 Reference : & sourcev1.OCIRepositoryRef {
139141 Tag : tag ,
140142 Digest : digest ,
141143 },
142- Timeout : & metav1.Duration {Duration : 1 * time .Minute },
144+ Timeout : & metav1.Duration {Duration : 1 * time .Minute },
145+ SecretRef : & d .Config .ExternalSecrets .RepositorySecretRef ,
143146 },
144147 }
145148 return util .CreateOrUpdate (ctx , d .platformCluster , ociRepo )
0 commit comments