@@ -34,9 +34,9 @@ func (s *secretsRepositoryBackend) CreateRepository(ctx context.Context, reposit
3434		},
3535	}
3636
37- 	s .repositoryToSecret (repository , repositorySecret )
37+ 	updatedSecret   :=   s .repositoryToSecret (repository , repositorySecret )
3838
39- 	_ , err  :=  s .db .createSecret (ctx , repositorySecret )
39+ 	_ , err  :=  s .db .createSecret (ctx , updatedSecret )
4040	if  err  !=  nil  {
4141		if  apierrors .IsAlreadyExists (err ) {
4242			hasLabel , err  :=  s .hasRepoTypeLabel (secName )
@@ -142,9 +142,9 @@ func (s *secretsRepositoryBackend) UpdateRepository(ctx context.Context, reposit
142142		return  nil , err 
143143	}
144144
145- 	s .repositoryToSecret (repository , repositorySecret )
145+ 	updatedSecret   :=   s .repositoryToSecret (repository , repositorySecret )
146146
147- 	_ , err  =  s .db .kubeclientset .CoreV1 ().Secrets (s .db .ns ).Update (ctx , repositorySecret , metav1.UpdateOptions {})
147+ 	_ , err  =  s .db .kubeclientset .CoreV1 ().Secrets (s .db .ns ).Update (ctx , updatedSecret , metav1.UpdateOptions {})
148148	if  err  !=  nil  {
149149		return  nil , err 
150150	}
@@ -187,9 +187,9 @@ func (s *secretsRepositoryBackend) CreateRepoCreds(ctx context.Context, repoCred
187187		},
188188	}
189189
190- 	s .repoCredsToSecret (repoCreds , repoCredsSecret )
190+ 	updatedSecret   :=   s .repoCredsToSecret (repoCreds , repoCredsSecret )
191191
192- 	_ , err  :=  s .db .createSecret (ctx , repoCredsSecret )
192+ 	_ , err  :=  s .db .createSecret (ctx , updatedSecret )
193193	if  err  !=  nil  {
194194		if  apierrors .IsAlreadyExists (err ) {
195195			return  nil , status .Errorf (codes .AlreadyExists , "repository credentials %q already exists" , repoCreds .URL )
@@ -237,9 +237,9 @@ func (s *secretsRepositoryBackend) UpdateRepoCreds(ctx context.Context, repoCred
237237		return  nil , err 
238238	}
239239
240- 	s .repoCredsToSecret (repoCreds , repoCredsSecret )
240+ 	updatedSecret   :=   s .repoCredsToSecret (repoCreds , repoCredsSecret )
241241
242- 	repoCredsSecret , err  =  s .db .kubeclientset .CoreV1 ().Secrets (s .db .ns ).Update (ctx , repoCredsSecret , metav1.UpdateOptions {})
242+ 	repoCredsSecret , err  =  s .db .kubeclientset .CoreV1 ().Secrets (s .db .ns ).Update (ctx , updatedSecret , metav1.UpdateOptions {})
243243	if  err  !=  nil  {
244244		return  nil , err 
245245	}
@@ -323,73 +323,75 @@ func (s *secretsRepositoryBackend) GetAllOCIRepoCreds(_ context.Context) ([]*app
323323}
324324
325325func  secretToRepository (secret  * corev1.Secret ) (* appsv1.Repository , error ) {
326+ 	secretCopy  :=  secret .DeepCopy ()
327+ 
326328	repository  :=  & appsv1.Repository {
327- 		Name :                       string (secret .Data ["name" ]),
328- 		Repo :                       string (secret .Data ["url" ]),
329- 		Username :                   string (secret .Data ["username" ]),
330- 		Password :                   string (secret .Data ["password" ]),
331- 		BearerToken :                string (secret .Data ["bearerToken" ]),
332- 		SSHPrivateKey :              string (secret .Data ["sshPrivateKey" ]),
333- 		TLSClientCertData :          string (secret .Data ["tlsClientCertData" ]),
334- 		TLSClientCertKey :           string (secret .Data ["tlsClientCertKey" ]),
335- 		Type :                       string (secret .Data ["type" ]),
336- 		GithubAppPrivateKey :        string (secret .Data ["githubAppPrivateKey" ]),
337- 		GitHubAppEnterpriseBaseURL : string (secret .Data ["githubAppEnterpriseBaseUrl" ]),
338- 		Proxy :                      string (secret .Data ["proxy" ]),
339- 		NoProxy :                    string (secret .Data ["noProxy" ]),
340- 		Project :                    string (secret .Data ["project" ]),
341- 		GCPServiceAccountKey :       string (secret .Data ["gcpServiceAccountKey" ]),
342- 	}
343- 
344- 	insecureIgnoreHostKey , err  :=  boolOrFalse (secret , "insecureIgnoreHostKey" )
329+ 		Name :                       string (secretCopy .Data ["name" ]),
330+ 		Repo :                       string (secretCopy .Data ["url" ]),
331+ 		Username :                   string (secretCopy .Data ["username" ]),
332+ 		Password :                   string (secretCopy .Data ["password" ]),
333+ 		BearerToken :                string (secretCopy .Data ["bearerToken" ]),
334+ 		SSHPrivateKey :              string (secretCopy .Data ["sshPrivateKey" ]),
335+ 		TLSClientCertData :          string (secretCopy .Data ["tlsClientCertData" ]),
336+ 		TLSClientCertKey :           string (secretCopy .Data ["tlsClientCertKey" ]),
337+ 		Type :                       string (secretCopy .Data ["type" ]),
338+ 		GithubAppPrivateKey :        string (secretCopy .Data ["githubAppPrivateKey" ]),
339+ 		GitHubAppEnterpriseBaseURL : string (secretCopy .Data ["githubAppEnterpriseBaseUrl" ]),
340+ 		Proxy :                      string (secretCopy .Data ["proxy" ]),
341+ 		NoProxy :                    string (secretCopy .Data ["noProxy" ]),
342+ 		Project :                    string (secretCopy .Data ["project" ]),
343+ 		GCPServiceAccountKey :       string (secretCopy .Data ["gcpServiceAccountKey" ]),
344+ 	}
345+ 
346+ 	insecureIgnoreHostKey , err  :=  boolOrFalse (secretCopy , "insecureIgnoreHostKey" )
345347	if  err  !=  nil  {
346348		return  repository , err 
347349	}
348350	repository .InsecureIgnoreHostKey  =  insecureIgnoreHostKey 
349351
350- 	insecure , err  :=  boolOrFalse (secret , "insecure" )
352+ 	insecure , err  :=  boolOrFalse (secretCopy , "insecure" )
351353	if  err  !=  nil  {
352354		return  repository , err 
353355	}
354356	repository .Insecure  =  insecure 
355357
356- 	enableLfs , err  :=  boolOrFalse (secret , "enableLfs" )
358+ 	enableLfs , err  :=  boolOrFalse (secretCopy , "enableLfs" )
357359	if  err  !=  nil  {
358360		return  repository , err 
359361	}
360362	repository .EnableLFS  =  enableLfs 
361363
362- 	enableOCI , err  :=  boolOrFalse (secret , "enableOCI" )
364+ 	enableOCI , err  :=  boolOrFalse (secretCopy , "enableOCI" )
363365	if  err  !=  nil  {
364366		return  repository , err 
365367	}
366368	repository .EnableOCI  =  enableOCI 
367369
368- 	insecureOCIForceHTTP , err  :=  boolOrFalse (secret , "insecureOCIForceHttp" )
370+ 	insecureOCIForceHTTP , err  :=  boolOrFalse (secretCopy , "insecureOCIForceHttp" )
369371	if  err  !=  nil  {
370372		return  repository , err 
371373	}
372374	repository .InsecureOCIForceHttp  =  insecureOCIForceHTTP 
373375
374- 	githubAppID , err  :=  intOrZero (secret , "githubAppID" )
376+ 	githubAppID , err  :=  intOrZero (secretCopy , "githubAppID" )
375377	if  err  !=  nil  {
376378		return  repository , err 
377379	}
378380	repository .GithubAppId  =  githubAppID 
379381
380- 	githubAppInstallationID , err  :=  intOrZero (secret , "githubAppInstallationID" )
382+ 	githubAppInstallationID , err  :=  intOrZero (secretCopy , "githubAppInstallationID" )
381383	if  err  !=  nil  {
382384		return  repository , err 
383385	}
384386	repository .GithubAppInstallationId  =  githubAppInstallationID 
385387
386- 	forceBasicAuth , err  :=  boolOrFalse (secret , "forceHttpBasicAuth" )
388+ 	forceBasicAuth , err  :=  boolOrFalse (secretCopy , "forceHttpBasicAuth" )
387389	if  err  !=  nil  {
388390		return  repository , err 
389391	}
390392	repository .ForceHttpBasicAuth  =  forceBasicAuth 
391393
392- 	useAzureWorkloadIdentity , err  :=  boolOrFalse (secret , "useAzureWorkloadIdentity" )
394+ 	useAzureWorkloadIdentity , err  :=  boolOrFalse (secretCopy , "useAzureWorkloadIdentity" )
393395	if  err  !=  nil  {
394396		return  repository , err 
395397	}
@@ -398,86 +400,92 @@ func secretToRepository(secret *corev1.Secret) (*appsv1.Repository, error) {
398400	return  repository , nil 
399401}
400402
401- func  (s  * secretsRepositoryBackend ) repositoryToSecret (repository  * appsv1.Repository , secret  * corev1.Secret ) {
402- 	if  secret .Data  ==  nil  {
403- 		secret .Data  =  make (map [string ][]byte )
404- 	}
405- 
406- 	updateSecretString (secret , "name" , repository .Name )
407- 	updateSecretString (secret , "project" , repository .Project )
408- 	updateSecretString (secret , "url" , repository .Repo )
409- 	updateSecretString (secret , "username" , repository .Username )
410- 	updateSecretString (secret , "password" , repository .Password )
411- 	updateSecretString (secret , "bearerToken" , repository .BearerToken )
412- 	updateSecretString (secret , "sshPrivateKey" , repository .SSHPrivateKey )
413- 	updateSecretBool (secret , "enableOCI" , repository .EnableOCI )
414- 	updateSecretBool (secret , "insecureOCIForceHttp" , repository .InsecureOCIForceHttp )
415- 	updateSecretString (secret , "tlsClientCertData" , repository .TLSClientCertData )
416- 	updateSecretString (secret , "tlsClientCertKey" , repository .TLSClientCertKey )
417- 	updateSecretString (secret , "type" , repository .Type )
418- 	updateSecretString (secret , "githubAppPrivateKey" , repository .GithubAppPrivateKey )
419- 	updateSecretInt (secret , "githubAppID" , repository .GithubAppId )
420- 	updateSecretInt (secret , "githubAppInstallationID" , repository .GithubAppInstallationId )
421- 	updateSecretString (secret , "githubAppEnterpriseBaseUrl" , repository .GitHubAppEnterpriseBaseURL )
422- 	updateSecretBool (secret , "insecureIgnoreHostKey" , repository .InsecureIgnoreHostKey )
423- 	updateSecretBool (secret , "insecure" , repository .Insecure )
424- 	updateSecretBool (secret , "enableLfs" , repository .EnableLFS )
425- 	updateSecretString (secret , "proxy" , repository .Proxy )
426- 	updateSecretString (secret , "noProxy" , repository .NoProxy )
427- 	updateSecretString (secret , "gcpServiceAccountKey" , repository .GCPServiceAccountKey )
428- 	updateSecretBool (secret , "forceHttpBasicAuth" , repository .ForceHttpBasicAuth )
429- 	updateSecretBool (secret , "useAzureWorkloadIdentity" , repository .UseAzureWorkloadIdentity )
430- 	addSecretMetadata (secret , s .getSecretType ())
403+ func  (s  * secretsRepositoryBackend ) repositoryToSecret (repository  * appsv1.Repository , secret  * corev1.Secret ) * corev1.Secret  {
404+ 	secretCopy  :=  secret .DeepCopy ()
405+ 
406+ 	if  secretCopy .Data  ==  nil  {
407+ 		secretCopy .Data  =  make (map [string ][]byte )
408+ 	}
409+ 
410+ 	updateSecretString (secretCopy , "name" , repository .Name )
411+ 	updateSecretString (secretCopy , "project" , repository .Project )
412+ 	updateSecretString (secretCopy , "url" , repository .Repo )
413+ 	updateSecretString (secretCopy , "username" , repository .Username )
414+ 	updateSecretString (secretCopy , "password" , repository .Password )
415+ 	updateSecretString (secretCopy , "bearerToken" , repository .BearerToken )
416+ 	updateSecretString (secretCopy , "sshPrivateKey" , repository .SSHPrivateKey )
417+ 	updateSecretBool (secretCopy , "enableOCI" , repository .EnableOCI )
418+ 	updateSecretBool (secretCopy , "insecureOCIForceHttp" , repository .InsecureOCIForceHttp )
419+ 	updateSecretString (secretCopy , "tlsClientCertData" , repository .TLSClientCertData )
420+ 	updateSecretString (secretCopy , "tlsClientCertKey" , repository .TLSClientCertKey )
421+ 	updateSecretString (secretCopy , "type" , repository .Type )
422+ 	updateSecretString (secretCopy , "githubAppPrivateKey" , repository .GithubAppPrivateKey )
423+ 	updateSecretInt (secretCopy , "githubAppID" , repository .GithubAppId )
424+ 	updateSecretInt (secretCopy , "githubAppInstallationID" , repository .GithubAppInstallationId )
425+ 	updateSecretString (secretCopy , "githubAppEnterpriseBaseUrl" , repository .GitHubAppEnterpriseBaseURL )
426+ 	updateSecretBool (secretCopy , "insecureIgnoreHostKey" , repository .InsecureIgnoreHostKey )
427+ 	updateSecretBool (secretCopy , "insecure" , repository .Insecure )
428+ 	updateSecretBool (secretCopy , "enableLfs" , repository .EnableLFS )
429+ 	updateSecretString (secretCopy , "proxy" , repository .Proxy )
430+ 	updateSecretString (secretCopy , "noProxy" , repository .NoProxy )
431+ 	updateSecretString (secretCopy , "gcpServiceAccountKey" , repository .GCPServiceAccountKey )
432+ 	updateSecretBool (secretCopy , "forceHttpBasicAuth" , repository .ForceHttpBasicAuth )
433+ 	updateSecretBool (secretCopy , "useAzureWorkloadIdentity" , repository .UseAzureWorkloadIdentity )
434+ 	addSecretMetadata (secretCopy , s .getSecretType ())
435+ 
436+ 	return  secretCopy 
431437}
432438
433439func  (s  * secretsRepositoryBackend ) secretToRepoCred (secret  * corev1.Secret ) (* appsv1.RepoCreds , error ) {
440+ 	secretCopy  :=  secret .DeepCopy ()
441+ 
434442	repository  :=  & appsv1.RepoCreds {
435- 		URL :                        string (secret .Data ["url" ]),
436- 		Username :                   string (secret .Data ["username" ]),
437- 		Password :                   string (secret .Data ["password" ]),
438- 		BearerToken :                string (secret .Data ["bearerToken" ]),
439- 		SSHPrivateKey :              string (secret .Data ["sshPrivateKey" ]),
440- 		TLSClientCertData :          string (secret .Data ["tlsClientCertData" ]),
441- 		TLSClientCertKey :           string (secret .Data ["tlsClientCertKey" ]),
442- 		Type :                       string (secret .Data ["type" ]),
443- 		GithubAppPrivateKey :        string (secret .Data ["githubAppPrivateKey" ]),
444- 		GitHubAppEnterpriseBaseURL : string (secret .Data ["githubAppEnterpriseBaseUrl" ]),
445- 		GCPServiceAccountKey :       string (secret .Data ["gcpServiceAccountKey" ]),
446- 		Proxy :                      string (secret .Data ["proxy" ]),
447- 		NoProxy :                    string (secret .Data ["noProxy" ]),
448- 	}
449- 
450- 	enableOCI , err  :=  boolOrFalse (secret , "enableOCI" )
443+ 		URL :                        string (secretCopy .Data ["url" ]),
444+ 		Username :                   string (secretCopy .Data ["username" ]),
445+ 		Password :                   string (secretCopy .Data ["password" ]),
446+ 		BearerToken :                string (secretCopy .Data ["bearerToken" ]),
447+ 		SSHPrivateKey :              string (secretCopy .Data ["sshPrivateKey" ]),
448+ 		TLSClientCertData :          string (secretCopy .Data ["tlsClientCertData" ]),
449+ 		TLSClientCertKey :           string (secretCopy .Data ["tlsClientCertKey" ]),
450+ 		Type :                       string (secretCopy .Data ["type" ]),
451+ 		GithubAppPrivateKey :        string (secretCopy .Data ["githubAppPrivateKey" ]),
452+ 		GitHubAppEnterpriseBaseURL : string (secretCopy .Data ["githubAppEnterpriseBaseUrl" ]),
453+ 		GCPServiceAccountKey :       string (secretCopy .Data ["gcpServiceAccountKey" ]),
454+ 		Proxy :                      string (secretCopy .Data ["proxy" ]),
455+ 		NoProxy :                    string (secretCopy .Data ["noProxy" ]),
456+ 	}
457+ 
458+ 	enableOCI , err  :=  boolOrFalse (secretCopy , "enableOCI" )
451459	if  err  !=  nil  {
452460		return  repository , err 
453461	}
454462	repository .EnableOCI  =  enableOCI 
455463
456- 	insecureOCIForceHTTP , err  :=  boolOrFalse (secret , "insecureOCIForceHttp" )
464+ 	insecureOCIForceHTTP , err  :=  boolOrFalse (secretCopy , "insecureOCIForceHttp" )
457465	if  err  !=  nil  {
458466		return  repository , err 
459467	}
460468	repository .InsecureOCIForceHttp  =  insecureOCIForceHTTP 
461469
462- 	githubAppID , err  :=  intOrZero (secret , "githubAppID" )
470+ 	githubAppID , err  :=  intOrZero (secretCopy , "githubAppID" )
463471	if  err  !=  nil  {
464472		return  repository , err 
465473	}
466474	repository .GithubAppId  =  githubAppID 
467475
468- 	githubAppInstallationID , err  :=  intOrZero (secret , "githubAppInstallationID" )
476+ 	githubAppInstallationID , err  :=  intOrZero (secretCopy , "githubAppInstallationID" )
469477	if  err  !=  nil  {
470478		return  repository , err 
471479	}
472480	repository .GithubAppInstallationId  =  githubAppInstallationID 
473481
474- 	forceBasicAuth , err  :=  boolOrFalse (secret , "forceHttpBasicAuth" )
482+ 	forceBasicAuth , err  :=  boolOrFalse (secretCopy , "forceHttpBasicAuth" )
475483	if  err  !=  nil  {
476484		return  repository , err 
477485	}
478486	repository .ForceHttpBasicAuth  =  forceBasicAuth 
479487
480- 	useAzureWorkloadIdentity , err  :=  boolOrFalse (secret , "useAzureWorkloadIdentity" )
488+ 	useAzureWorkloadIdentity , err  :=  boolOrFalse (secretCopy , "useAzureWorkloadIdentity" )
481489	if  err  !=  nil  {
482490		return  repository , err 
483491	}
@@ -486,31 +494,35 @@ func (s *secretsRepositoryBackend) secretToRepoCred(secret *corev1.Secret) (*app
486494	return  repository , nil 
487495}
488496
489- func  (s  * secretsRepositoryBackend ) repoCredsToSecret (repoCreds  * appsv1.RepoCreds , secret  * corev1.Secret ) {
490- 	if  secret .Data  ==  nil  {
491- 		secret .Data  =  make (map [string ][]byte )
492- 	}
493- 
494- 	updateSecretString (secret , "url" , repoCreds .URL )
495- 	updateSecretString (secret , "username" , repoCreds .Username )
496- 	updateSecretString (secret , "password" , repoCreds .Password )
497- 	updateSecretString (secret , "bearerToken" , repoCreds .BearerToken )
498- 	updateSecretString (secret , "sshPrivateKey" , repoCreds .SSHPrivateKey )
499- 	updateSecretBool (secret , "enableOCI" , repoCreds .EnableOCI )
500- 	updateSecretBool (secret , "insecureOCIForceHttp" , repoCreds .InsecureOCIForceHttp )
501- 	updateSecretString (secret , "tlsClientCertData" , repoCreds .TLSClientCertData )
502- 	updateSecretString (secret , "tlsClientCertKey" , repoCreds .TLSClientCertKey )
503- 	updateSecretString (secret , "type" , repoCreds .Type )
504- 	updateSecretString (secret , "githubAppPrivateKey" , repoCreds .GithubAppPrivateKey )
505- 	updateSecretInt (secret , "githubAppID" , repoCreds .GithubAppId )
506- 	updateSecretInt (secret , "githubAppInstallationID" , repoCreds .GithubAppInstallationId )
507- 	updateSecretString (secret , "githubAppEnterpriseBaseUrl" , repoCreds .GitHubAppEnterpriseBaseURL )
508- 	updateSecretString (secret , "gcpServiceAccountKey" , repoCreds .GCPServiceAccountKey )
509- 	updateSecretString (secret , "proxy" , repoCreds .Proxy )
510- 	updateSecretString (secret , "noProxy" , repoCreds .NoProxy )
511- 	updateSecretBool (secret , "forceHttpBasicAuth" , repoCreds .ForceHttpBasicAuth )
512- 	updateSecretBool (secret , "useAzureWorkloadIdentity" , repoCreds .UseAzureWorkloadIdentity )
513- 	addSecretMetadata (secret , s .getRepoCredSecretType ())
497+ func  (s  * secretsRepositoryBackend ) repoCredsToSecret (repoCreds  * appsv1.RepoCreds , secret  * corev1.Secret ) * corev1.Secret  {
498+ 	secretCopy  :=  secret .DeepCopy ()
499+ 
500+ 	if  secretCopy .Data  ==  nil  {
501+ 		secretCopy .Data  =  make (map [string ][]byte )
502+ 	}
503+ 
504+ 	updateSecretString (secretCopy , "url" , repoCreds .URL )
505+ 	updateSecretString (secretCopy , "username" , repoCreds .Username )
506+ 	updateSecretString (secretCopy , "password" , repoCreds .Password )
507+ 	updateSecretString (secretCopy , "bearerToken" , repoCreds .BearerToken )
508+ 	updateSecretString (secretCopy , "sshPrivateKey" , repoCreds .SSHPrivateKey )
509+ 	updateSecretBool (secretCopy , "enableOCI" , repoCreds .EnableOCI )
510+ 	updateSecretBool (secretCopy , "insecureOCIForceHttp" , repoCreds .InsecureOCIForceHttp )
511+ 	updateSecretString (secretCopy , "tlsClientCertData" , repoCreds .TLSClientCertData )
512+ 	updateSecretString (secretCopy , "tlsClientCertKey" , repoCreds .TLSClientCertKey )
513+ 	updateSecretString (secretCopy , "type" , repoCreds .Type )
514+ 	updateSecretString (secretCopy , "githubAppPrivateKey" , repoCreds .GithubAppPrivateKey )
515+ 	updateSecretInt (secretCopy , "githubAppID" , repoCreds .GithubAppId )
516+ 	updateSecretInt (secretCopy , "githubAppInstallationID" , repoCreds .GithubAppInstallationId )
517+ 	updateSecretString (secretCopy , "githubAppEnterpriseBaseUrl" , repoCreds .GitHubAppEnterpriseBaseURL )
518+ 	updateSecretString (secretCopy , "gcpServiceAccountKey" , repoCreds .GCPServiceAccountKey )
519+ 	updateSecretString (secretCopy , "proxy" , repoCreds .Proxy )
520+ 	updateSecretString (secretCopy , "noProxy" , repoCreds .NoProxy )
521+ 	updateSecretBool (secretCopy , "forceHttpBasicAuth" , repoCreds .ForceHttpBasicAuth )
522+ 	updateSecretBool (secretCopy , "useAzureWorkloadIdentity" , repoCreds .UseAzureWorkloadIdentity )
523+ 	addSecretMetadata (secretCopy , s .getRepoCredSecretType ())
524+ 
525+ 	return  secretCopy 
514526}
515527
516528func  (s  * secretsRepositoryBackend ) getRepositorySecret (repoURL , project  string , allowFallback  bool ) (* corev1.Secret , error ) {
0 commit comments