xenoslib 0.1.29.19__py3-none-any.whl → 0.1.29.20__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- xenoslib/about.py +1 -1
- xenoslib/extend.py +12 -5
- {xenoslib-0.1.29.19.dist-info → xenoslib-0.1.29.20.dist-info}/METADATA +1 -1
- {xenoslib-0.1.29.19.dist-info → xenoslib-0.1.29.20.dist-info}/RECORD +7 -7
- {xenoslib-0.1.29.19.dist-info → xenoslib-0.1.29.20.dist-info}/WHEEL +0 -0
- {xenoslib-0.1.29.19.dist-info → xenoslib-0.1.29.20.dist-info}/licenses/LICENSE +0 -0
- {xenoslib-0.1.29.19.dist-info → xenoslib-0.1.29.20.dist-info}/top_level.txt +0 -0
xenoslib/about.py
CHANGED
xenoslib/extend.py
CHANGED
|
@@ -221,10 +221,11 @@ class ConfigLoader(SingletonWithArgs):
|
|
|
221
221
|
with open(config_file_path, "r") as f:
|
|
222
222
|
self._raw_config = yaml.safe_load(f) or {}
|
|
223
223
|
|
|
224
|
-
if
|
|
225
|
-
self.
|
|
224
|
+
if vault_secret_id is not None:
|
|
225
|
+
self.vault_secret_id = vault_secret_id
|
|
226
|
+
self._check_and_renew_vault_client()
|
|
226
227
|
|
|
227
|
-
def _init_vault_client(self
|
|
228
|
+
def _init_vault_client(self):
|
|
228
229
|
"""Initialize and authenticate the Vault client (imports hvac on demand).
|
|
229
230
|
|
|
230
231
|
Args:
|
|
@@ -252,11 +253,17 @@ class ConfigLoader(SingletonWithArgs):
|
|
|
252
253
|
raise KeyError("Missing required Vault configuration in config.yml")
|
|
253
254
|
|
|
254
255
|
self.vault_client = hvac.Client(url=vault_url, namespace=vault_space)
|
|
255
|
-
self.vault_client.auth.approle.login(role_id=vault_role_id, secret_id=vault_secret_id)
|
|
256
|
+
self.vault_client.auth.approle.login(role_id=vault_role_id, secret_id=self.vault_secret_id)
|
|
256
257
|
except Exception as e:
|
|
257
258
|
self.vault_client = None
|
|
258
259
|
raise Exception(f"Failed to initialize Vault client: {str(e)}")
|
|
259
260
|
|
|
261
|
+
def _check_and_renew_vault_client(self):
|
|
262
|
+
# 检查当前Token的状态,包括过期时间和可续租性
|
|
263
|
+
if not self.vault_client or not self.vault_client.is_authenticated():
|
|
264
|
+
# 如果当前Token无效,则重新认证
|
|
265
|
+
self._init_vault_client()
|
|
266
|
+
|
|
260
267
|
def get(self, section, key_name, use_cache=True):
|
|
261
268
|
"""Retrieve a configuration value.
|
|
262
269
|
|
|
@@ -366,5 +373,5 @@ if __name__ == "__main__":
|
|
|
366
373
|
|
|
367
374
|
# This will only work if you provide a valid Vault secret ID
|
|
368
375
|
# and hvac package is installed
|
|
369
|
-
config_with_vault = ConfigLoader("config.yml", vault_secret_id="
|
|
376
|
+
config_with_vault = ConfigLoader("config.yml", vault_secret_id=os.getenv("VAULT_CF_LANDSCAPES_SECRET_ID"))
|
|
370
377
|
print("With Vault:", config_with_vault.get("cis", "cis_client_id"))
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
xenoslib/__init__.py,sha256=vlMWwdD2gTb9ztpm_orYAm_Y0Be0Es64ifvMQwrE1jU,310
|
|
2
2
|
xenoslib/__main__.py,sha256=UpD3pl4l5ZUFxK6FzNMWRb1AZpEnwerulSFoPb_Pdgw,307
|
|
3
|
-
xenoslib/about.py,sha256=
|
|
3
|
+
xenoslib/about.py,sha256=Yhb221d11ub4QlkU3wk-QgB78z6OiAQxsdt4-oME9iA,232
|
|
4
4
|
xenoslib/base.py,sha256=rAXk71AsnWvQ7MaSad5Xxd9Lwucp-cZc15yyqoV5Dk4,12440
|
|
5
5
|
xenoslib/dev.py,sha256=R6iwKuu-xvaYiBOUyP2gpePyvXss17TOZaCmQEihPCw,1236
|
|
6
|
-
xenoslib/extend.py,sha256=
|
|
6
|
+
xenoslib/extend.py,sha256=H4hboMLkrb5fMlacHU6ubay9mhB0Mj-b9an7JtTc5EA,12811
|
|
7
7
|
xenoslib/linux.py,sha256=EFCQBq_JsmNJc3wGlJlzH9W0tjOA7sSwx0u62R5Ut2k,1318
|
|
8
8
|
xenoslib/mail.py,sha256=pkC4gpMSxKbuvNR-0CdwbJQEJNbBCp5oEYAJS-uxq9s,7286
|
|
9
9
|
xenoslib/mock.py,sha256=iNIplO7clejqLWfpY4r0WQH5BULy9dCoolDenZEci0c,3572
|
|
10
10
|
xenoslib/onedrive.py,sha256=-bJJ8Cd_RjJSlDynYqKoZlFKE1HHM34l6NXOQrWOwtg,7783
|
|
11
11
|
xenoslib/win_trayicon.py,sha256=7GJwX3c2CS1XWQjsyDK5EfM-MmEHdzPJCTX2sGpWmuU,13115
|
|
12
12
|
xenoslib/windows.py,sha256=lUTD7TowaPqYHgIL6b-GM9PLd-VyJNNGzkzC3K9vOxo,4080
|
|
13
|
-
xenoslib-0.1.29.
|
|
14
|
-
xenoslib-0.1.29.
|
|
15
|
-
xenoslib-0.1.29.
|
|
16
|
-
xenoslib-0.1.29.
|
|
17
|
-
xenoslib-0.1.29.
|
|
13
|
+
xenoslib-0.1.29.20.dist-info/licenses/LICENSE,sha256=lF6hjufhiR-xAje_Wo7ogxV5phz2d5TgkfL5SGshujg,1066
|
|
14
|
+
xenoslib-0.1.29.20.dist-info/METADATA,sha256=teavyrzU2slZ_48TtUOLaqyu_bB2rR_bwuemi_sDB1s,914
|
|
15
|
+
xenoslib-0.1.29.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
16
|
+
xenoslib-0.1.29.20.dist-info/top_level.txt,sha256=Rfm4GdW0NyA2AHDNUF2wFQOfAo53mAPibddSHGd3X60,9
|
|
17
|
+
xenoslib-0.1.29.20.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|