21
21
import datetime
22
22
from ..cluster .auth import config_check , api_config_handler
23
23
from kubernetes import client , config
24
+ from .kube_api_helpers import _kube_api_error_handling
24
25
25
26
26
27
def generate_ca_cert (days : int = 30 ):
@@ -74,6 +75,24 @@ def generate_ca_cert(days: int = 30):
74
75
return key , certificate
75
76
76
77
78
+ def get_secret_name (cluster_name , namespace , api_instance ):
79
+ label_selector = f"ray.openshift.ai/cluster-name={ cluster_name } "
80
+ try :
81
+ secrets = api_instance .list_namespaced_secret (
82
+ namespace , label_selector = label_selector
83
+ )
84
+ for secret in secrets .items :
85
+ if (
86
+ f"{ cluster_name } -ca-secret-" in secret .metadata .name
87
+ ): # Oauth secret share the same label this conditional is to make things more specific
88
+ return secret .metadata .name
89
+ else :
90
+ continue
91
+ raise KeyError (f"Unable to gather secret name for { cluster_name } " )
92
+ except Exception as e : # pragma: no cover
93
+ return _kube_api_error_handling (e )
94
+
95
+
77
96
def generate_tls_cert (cluster_name , namespace , days = 30 ):
78
97
# Create a folder tls-<cluster>-<namespace> and store three files: ca.crt, tls.crt, and tls.key
79
98
tls_dir = os .path .join (os .getcwd (), f"tls-{ cluster_name } -{ namespace } " )
@@ -85,7 +104,11 @@ def generate_tls_cert(cluster_name, namespace, days=30):
85
104
# oc get secret ca-secret-<cluster-name> -o template='{{index .data "ca.crt"}}'|base64 -d > ${TLSDIR}/ca.crt
86
105
config_check ()
87
106
v1 = client .CoreV1Api (api_config_handler ())
88
- secret = v1 .read_namespaced_secret (f"ca-secret-{ cluster_name } " , namespace ).data
107
+
108
+ # Secrets have a suffix appended to the end so we must list them and gather the secret that includes cluster_name-ca-secret-
109
+ secret_name = get_secret_name (cluster_name , namespace , v1 )
110
+ secret = v1 .read_namespaced_secret (secret_name , namespace ).data
111
+
89
112
ca_cert = secret .get ("ca.crt" )
90
113
ca_key = secret .get ("ca.key" )
91
114
0 commit comments