kubernetes-watch 0.1.4__tar.gz → 0.1.5__tar.gz

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.
Files changed (34) hide show
  1. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/PKG-INFO +1 -1
  2. kubernetes_watch-0.1.5/kube_watch/modules/logic/load.py +23 -0
  3. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/providers/vault.py +28 -6
  4. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/pyproject.toml +1 -1
  5. kubernetes_watch-0.1.4/kube_watch/modules/logic/load.py +0 -8
  6. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/LICENSE +0 -0
  7. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/README.md +0 -0
  8. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/__init__.py +0 -0
  9. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/enums/__init__.py +0 -0
  10. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/enums/kube.py +0 -0
  11. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/enums/logic.py +0 -0
  12. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/enums/providers.py +0 -0
  13. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/enums/workflow.py +0 -0
  14. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/models/__init__.py +0 -0
  15. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/models/common.py +0 -0
  16. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/models/workflow.py +0 -0
  17. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/__init__.py +0 -0
  18. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/clusters/__init__.py +0 -0
  19. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/clusters/kube.py +0 -0
  20. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/logic/actions.py +0 -0
  21. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/logic/checks.py +0 -0
  22. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/logic/merge.py +0 -0
  23. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/logic/scheduler.py +0 -0
  24. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/logic/trasnform.py +0 -0
  25. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/mock/__init__.py +0 -0
  26. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/mock/mock_generator.py +0 -0
  27. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/providers/__init__.py +0 -0
  28. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/providers/aws.py +0 -0
  29. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/providers/git.py +0 -0
  30. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/modules/providers/github.py +0 -0
  31. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/standalone/metarecogen/ckan_to_gn.py +0 -0
  32. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/watch/__init__.py +0 -0
  33. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/watch/helpers.py +0 -0
  34. {kubernetes_watch-0.1.4 → kubernetes_watch-0.1.5}/kube_watch/watch/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kubernetes-watch
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary:
5
5
  Author: bmotevalli
6
6
  Author-email: b.motevalli@gmail.com
@@ -0,0 +1,23 @@
1
+ import os
2
+ from prefect import get_run_logger
3
+ logger = get_run_logger()
4
+
5
+ def load_secrets_to_env(data):
6
+ for key, value in data.items():
7
+ if key in os.environ:
8
+ del os.environ[key]
9
+ os.environ[key] = value
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
- new_secret_response = vault_client.auth.approle.generate_secret_id(
112
- role_name=role_name,
113
- mount_point=f'approle/{vault_path}'
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("VAULT_SECRET_ID")
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:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "kubernetes-watch"
3
- version = "0.1.4"
3
+ version = "0.1.5"
4
4
  description = ""
5
5
  authors = ["bmotevalli <b.motevalli@gmail.com>"]
6
6
  packages = [{include = "kube_watch"}]
@@ -1,8 +0,0 @@
1
- import os
2
- from prefect import get_run_logger
3
- logger = get_run_logger()
4
-
5
- def load_secrets_to_env(data):
6
- for key, value in data.items():
7
- os.environ[key] = value
8
- # logger.info(f"ENV VAR: {key} loaded")