|
5 | 5 | import logging
|
6 | 6 | import re
|
7 | 7 | import subprocess
|
| 8 | +import json |
8 | 9 |
|
9 | 10 | from importlib.metadata import version
|
10 | 11 |
|
@@ -172,30 +173,32 @@ def run_auth_commands(clusterconfig):
|
172 | 173 | auth = {}
|
173 | 174 | regex = r"^\$\((.*)\)$"
|
174 | 175 |
|
175 |
| - for key in ( |
176 |
| - "user", |
177 |
| - "password", |
178 |
| - "token_name", |
179 |
| - "token_value", |
180 |
| - "proxy_certificate_path", |
181 |
| - "proxy_certificate_key_path", |
182 |
| - ): |
| 176 | + keys = ["user", "password", "token_name", "token_value"] |
| 177 | + |
| 178 | + if clusterconfig["proxy_certificate"] is not None: |
| 179 | + if isinstance(clusterconfig.get("proxy_certificate"), str): |
| 180 | + keys.append("proxy_certificate") |
| 181 | + else: |
| 182 | + auth["proxy_certificate"] = clusterconfig["proxy_certificate"] |
| 183 | + |
| 184 | + for key in keys: |
183 | 185 | value = clusterconfig.get(key)
|
184 | 186 | if value is not None:
|
185 | 187 | result = re.match(regex, value)
|
186 | 188 | if result:
|
187 | 189 | value = _execute_command(result.group(1))
|
188 | 190 | auth[key] = value
|
189 | 191 |
|
190 |
| - proxy_certificate = auth.get("proxy_certificate_path") |
191 |
| - proxy_certificate_key = auth.get("proxy_certificate_key_path") |
192 |
| - if proxy_certificate != "" and proxy_certificate_key != "": |
193 |
| - auth["cert"] = (proxy_certificate, proxy_certificate_key) |
| 192 | + if "proxy_certificate" in auth and isinstance(auth["proxy_certificate"], bytes): |
| 193 | + proxy_certificate = json.loads(auth["proxy_certificate"]) |
| 194 | + auth["proxy_certificate"] = { |
| 195 | + "cert": proxy_certificate.get("cert"), |
| 196 | + "key": proxy_certificate.get("key"), |
| 197 | + } |
194 | 198 |
|
195 |
| - if "proxy_certificate_path" in auth: |
196 |
| - del auth["proxy_certificate_path"] |
197 |
| - if "proxy_certificate_key_path" in auth: |
198 |
| - del auth["proxy_certificate_key_path"] |
| 199 | + if "proxy_certificate" in auth: |
| 200 | + auth["cert"] = (auth["proxy_certificate"]["cert"], auth["proxy_certificate"]["key"]) |
| 201 | + del auth["proxy_certificate"] |
199 | 202 |
|
200 | 203 | logging.debug("Auth: %s", auth)
|
201 | 204 | # check for "incompatible" auth options
|
|
0 commit comments