@@ -976,13 +976,12 @@ func CreateCluster(request *msgs.CreateClusterRequest, ns, pgouser string) msgs.
976976 // save the S3 credentials in a single map so it can be used to either create a new
977977 // secret or update an existing one
978978 s3Credentials := map [string ][]byte {
979- util .BackRestRepoSecretKeyAWSS3KeyAWSS3CACert : backrestS3CACert ,
980979 util .BackRestRepoSecretKeyAWSS3KeyAWSS3Key : []byte (request .BackrestS3Key ),
981980 util .BackRestRepoSecretKeyAWSS3KeyAWSS3KeySecret : []byte (request .BackrestS3KeySecret ),
982981 util .BackRestRepoSecretKeyAWSS3KeyGCSKey : backrestGCSKey ,
983982 }
984983
985- _ , err = apiserver .Clientset .CoreV1 ().Secrets (request .Namespace ).
984+ backrestSecret , err : = apiserver .Clientset .CoreV1 ().Secrets (request .Namespace ).
986985 Get (ctx , secretName , metav1.GetOptions {})
987986
988987 switch {
@@ -1019,6 +1018,15 @@ func CreateCluster(request *msgs.CreateClusterRequest, ns, pgouser string) msgs.
10191018 resp .Status .Msg = fmt .Sprintf ("could not query if backrest repo secret exits: %s" , err )
10201019 return resp
10211020 default :
1021+ // if an "aws-s3-ca.crt" file is already in the Secret and "backrestS3CACert" is empty
1022+ // (indicating that a custom CA wasn't provided), then ensure it is included when
1023+ // updating the Secret
1024+ if _ , ok :=
1025+ backrestSecret .Data [util .BackRestRepoSecretKeyAWSS3KeyAWSS3CACert ]; ok &&
1026+ len (backrestS3CACert ) == 0 {
1027+ s3Credentials [util .BackRestRepoSecretKeyAWSS3KeyAWSS3CACert ] =
1028+ backrestSecret .Data [util .BackRestRepoSecretKeyAWSS3KeyAWSS3CACert ]
1029+ }
10221030 // the pgBackRest repo config secret already exists, update any provided
10231031 // S3 credential information
10241032 err = updateRepoSecret (apiserver .Clientset , secretName , request .Namespace , s3Credentials )
0 commit comments