@@ -87,25 +87,18 @@ func createOrUpdateConnectionSecretsFromClusterSecrets(ctx *workflow.Context, k8
8787 requeue = true
8888 continue
8989 }
90- // Cluster may be not ready yet, so no connection urls - skipping
91- // Note, that Atlas usually returns the not-nil connection strings with empty fields in it
92- if cs .connectionStrings == nil || cs .connectionStrings .StandardSrv == "" {
93- ctx .Log .Debugw ("Cluster is not ready yet - not creating a connection Secret" , "cluster" , cs .name )
94- requeue = true
95- continue
96- }
9790 password , err := dbUser .ReadPassword (k8sClient )
9891 if err != nil {
9992 return workflow .Terminate (workflow .DatabaseUserConnectionSecretsNotCreated , err .Error ())
10093 }
10194 data := connectionsecret.ConnectionData {
102- DBUserName : dbUser .Spec .Username ,
103- ConnURL : cs .connectionStrings .Standard ,
104- SrvConnURL : cs .connectionStrings .StandardSrv ,
105- PvtConnURL : cs .connectionStrings .Private ,
106- PvtSrvConnURL : cs .connectionStrings .PrivateSrv ,
107- Password : password ,
95+ DBUserName : dbUser .Spec .Username ,
96+ Password : password ,
97+ ConnURL : cs .connectionStrings .Standard ,
98+ SrvConnURL : cs .connectionStrings .StandardSrv ,
10899 }
100+ fillPrivateConnStrings (cs .connectionStrings , & data )
101+
109102 var secretName string
110103 if secretName , err = connectionsecret .Ensure (k8sClient , dbUser .Namespace , project .Spec .Name , project .ID (), cs .name , data ); err != nil {
111104 return workflow .Terminate (workflow .DatabaseUserConnectionSecretsNotCreated , err .Error ())
@@ -187,3 +180,16 @@ func removeStaleSecretsByUserName(k8sClient client.Client, projectID, userName s
187180 }
188181 return lastError
189182}
183+
184+ func fillPrivateConnStrings (connStrings * mongodbatlas.ConnectionStrings , data * connectionsecret.ConnectionData ) {
185+ if connStrings .Private != "" {
186+ data .PvtConnURL = connStrings .Private
187+ data .PvtSrvConnURL = connStrings .PrivateSrv
188+ }
189+
190+ if len (connStrings .PrivateEndpoint ) == 1 {
191+ pe := connStrings .PrivateEndpoint [0 ]
192+ data .PvtConnURL = pe .ConnectionString
193+ data .PvtSrvConnURL = pe .SRVConnectionString
194+ }
195+ }
0 commit comments