kubernetes-watch 0.1.4__py3-none-any.whl → 0.1.5__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.
- kube_watch/modules/logic/load.py +15 -0
- kube_watch/modules/providers/vault.py +28 -6
- {kubernetes_watch-0.1.4.dist-info → kubernetes_watch-0.1.5.dist-info}/METADATA +1 -1
- {kubernetes_watch-0.1.4.dist-info → kubernetes_watch-0.1.5.dist-info}/RECORD +6 -6
- {kubernetes_watch-0.1.4.dist-info → kubernetes_watch-0.1.5.dist-info}/LICENSE +0 -0
- {kubernetes_watch-0.1.4.dist-info → kubernetes_watch-0.1.5.dist-info}/WHEEL +0 -0
kube_watch/modules/logic/load.py
CHANGED
|
@@ -4,5 +4,20 @@ logger = get_run_logger()
|
|
|
4
4
|
|
|
5
5
|
def load_secrets_to_env(data):
|
|
6
6
|
for key, value in data.items():
|
|
7
|
+
if key in os.environ:
|
|
8
|
+
del os.environ[key]
|
|
7
9
|
os.environ[key] = value
|
|
8
10
|
# logger.info(f"ENV VAR: {key} loaded")
|
|
11
|
+
|
|
12
|
+
def load_env_from_file(filepath):
|
|
13
|
+
with open(filepath, "r") as f:
|
|
14
|
+
for line in f:
|
|
15
|
+
# Remove whitespace and ignore comments
|
|
16
|
+
line = line.strip()
|
|
17
|
+
if line and not line.startswith('#'):
|
|
18
|
+
key, value = line.split('=', 1)
|
|
19
|
+
# Remove the environment variable if it already exists
|
|
20
|
+
if key in os.environ:
|
|
21
|
+
del os.environ[key]
|
|
22
|
+
# Set the new value
|
|
23
|
+
os.environ[key] = value
|
|
@@ -108,12 +108,33 @@ def generate_new_secret_id(vault_client, role_name, vault_path, env_var_name):
|
|
|
108
108
|
"""
|
|
109
109
|
Generates new secret_id. Note an admin role is required for this.
|
|
110
110
|
"""
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
try:
|
|
112
|
+
# Write directly to the Vault endpoint to create the secret ID with num_uses
|
|
113
|
+
# response = vault_client.write(
|
|
114
|
+
# f"auth/approle/{vault_path}/role/{role_name}/secret-id",
|
|
115
|
+
# )
|
|
116
|
+
response = vault_client.auth.approle.generate_secret_id(
|
|
117
|
+
role_name=role_name,
|
|
118
|
+
mount_point=f'approle/{vault_path}'
|
|
119
|
+
)
|
|
120
|
+
# Check if the response contains the secret ID
|
|
121
|
+
if response and 'data' in response:
|
|
122
|
+
secret_id = response['data']['secret_id']
|
|
123
|
+
secret_id_accessor = response['data']['secret_id_accessor']
|
|
124
|
+
logger.info("Generated a new secret ID with usage buffer.")
|
|
125
|
+
return {env_var_name: secret_id, f"{env_var_name}_ACCESSOR": secret_id_accessor}
|
|
126
|
+
else:
|
|
127
|
+
logger.error("No secret ID returned in the response.")
|
|
128
|
+
raise RuntimeError("Failed to generate new secret ID: No content returned.")
|
|
129
|
+
except hvac.exceptions.InvalidRequest as e:
|
|
130
|
+
logger.error("Error generating new secret ID: %s", str(e))
|
|
131
|
+
raise RuntimeError("Failed to generate new secret ID.") from e
|
|
132
|
+
# new_secret_response = vault_client.auth.approle.generate_secret_id(
|
|
133
|
+
# role_name=role_name,
|
|
134
|
+
# mount_point=f'approle/{vault_path}'
|
|
135
|
+
# )
|
|
115
136
|
|
|
116
|
-
return { env_var_name : new_secret_response['data']['secret_id'] }
|
|
137
|
+
# return { env_var_name : new_secret_response['data']['secret_id'] }
|
|
117
138
|
|
|
118
139
|
|
|
119
140
|
|
|
@@ -147,7 +168,8 @@ def clean_secret_ids(vault_client, role_name, secret_id_env, vault_path, has_kub
|
|
|
147
168
|
|
|
148
169
|
Note: secret_id_env is a dictionary. The key, VAULT_SECRET_ID, has the secret_id value.
|
|
149
170
|
"""
|
|
150
|
-
secret_id = secret_id_env.get("
|
|
171
|
+
secret_id = secret_id_env.get("VAULT_SECRET_ID_ACCESSOR")
|
|
172
|
+
|
|
151
173
|
if has_kube_secret_updated:
|
|
152
174
|
secret_ids_path = f'auth/approle/{vault_path}/role/{role_name}/secret-id'
|
|
153
175
|
try:
|
|
@@ -12,7 +12,7 @@ kube_watch/modules/clusters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
|
12
12
|
kube_watch/modules/clusters/kube.py,sha256=Fje6-vUA1KQ4x8T6cUYJT_eVwUYw-dR71h95ixSLqLM,7767
|
|
13
13
|
kube_watch/modules/logic/actions.py,sha256=lt7OkSw6m2ZQe2SfENUsjZeD8vdpvfoE4laEkv9veEA,2471
|
|
14
14
|
kube_watch/modules/logic/checks.py,sha256=CFIMVURKJP5Y3mByyJkFCrJBlVUjTG2XixiwoRquXN4,157
|
|
15
|
-
kube_watch/modules/logic/load.py,sha256=
|
|
15
|
+
kube_watch/modules/logic/load.py,sha256=8b5Y_iRTB6c7LY1-9wQjOrl_oW4JyVp5bjwh169frkU,804
|
|
16
16
|
kube_watch/modules/logic/merge.py,sha256=vwc2TwcGU-vH5W0bFXzAzOMHt36ksdS4if1c4IbTeXs,926
|
|
17
17
|
kube_watch/modules/logic/scheduler.py,sha256=-p5qh3FnEQ1jlkaY0Lrj9U-vau1b07NYAXBP6M09yoU,3517
|
|
18
18
|
kube_watch/modules/logic/trasnform.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -22,12 +22,12 @@ kube_watch/modules/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
22
22
|
kube_watch/modules/providers/aws.py,sha256=yvxVwL7seuvxpGR2ZCrmWEMKh9hesWdPTC6LvW7Bi9E,8585
|
|
23
23
|
kube_watch/modules/providers/git.py,sha256=h3rcn1FhU82nF52Ol9YHyFk4cvPxxaz_AxHnip8OXPY,1183
|
|
24
24
|
kube_watch/modules/providers/github.py,sha256=WCpZIKHr4U0a4El1leXkaCv1jznf9ob5xHVeTNSpNG0,5338
|
|
25
|
-
kube_watch/modules/providers/vault.py,sha256=
|
|
25
|
+
kube_watch/modules/providers/vault.py,sha256=mPSjI5p1ycwXl6XFQNLohJ1rK_z_iT3QA9RJB1O3cpI,7381
|
|
26
26
|
kube_watch/standalone/metarecogen/ckan_to_gn.py,sha256=FBiv6McWh4hqV6Bz08zGLzEIe4v1-D3FawjBKYbV7Ms,4767
|
|
27
27
|
kube_watch/watch/__init__.py,sha256=6Ay9P_Ws7rP7ZaIrFRZtp_1uwVK4ZDmkkNhFyqPNQIU,61
|
|
28
28
|
kube_watch/watch/helpers.py,sha256=T0xDSCfrW7NrmQzgIzOiojQzu_HesajMb7S_AX-tt98,6431
|
|
29
29
|
kube_watch/watch/workflow.py,sha256=h0b_P_kfiPxqTFHZ6o2HkDkNaUBOwv1DKJnwEMMVXaI,4203
|
|
30
|
-
kubernetes_watch-0.1.
|
|
31
|
-
kubernetes_watch-0.1.
|
|
32
|
-
kubernetes_watch-0.1.
|
|
33
|
-
kubernetes_watch-0.1.
|
|
30
|
+
kubernetes_watch-0.1.5.dist-info/LICENSE,sha256=StyinJRmy--Pc2vQbRToZSN4sjSVg3zccMFrktVcrEw,1096
|
|
31
|
+
kubernetes_watch-0.1.5.dist-info/METADATA,sha256=GiDXVvgzxWV6zfK3VeEgqXTzRKSAKHan0Y4HML37Br0,4969
|
|
32
|
+
kubernetes_watch-0.1.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
33
|
+
kubernetes_watch-0.1.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|