elaunira-airflow-provider-r2index 0.3.1__tar.gz → 0.3.3__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.
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/PKG-INFO +1 -1
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/pyproject.toml +1 -1
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/hooks/r2index.py +12 -4
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/.gitignore +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/LICENSE +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/README.md +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/decorators/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/decorators/r2index.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/hooks/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/links/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/links/r2index.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/operators/__init__.py +0 -0
- {elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/src/elaunira/airflow/provider/r2index/operators/r2index.py +0 -0
{elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: elaunira-airflow-provider-r2index
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.3
|
|
4
4
|
Summary: Airflow provider for Elaunira R2Index connections
|
|
5
5
|
Project-URL: Repository, https://github.com/elaunira/elaunira-airflow-provider-r2index
|
|
6
6
|
License-Expression: MIT
|
|
@@ -175,7 +175,8 @@ class R2IndexHook(BaseHook):
|
|
|
175
175
|
from airflow.providers.hashicorp.hooks.vault import VaultHook
|
|
176
176
|
|
|
177
177
|
try:
|
|
178
|
-
|
|
178
|
+
# Note: namespace should be configured in the Vault connection's extra field
|
|
179
|
+
vault_hook = VaultHook(vault_conn_id=vault_conn_id)
|
|
179
180
|
secret_cache: dict[str, dict[str, Any]] = {}
|
|
180
181
|
|
|
181
182
|
def get_secret_value(config_key: str) -> str | None:
|
|
@@ -191,14 +192,20 @@ class R2IndexHook(BaseHook):
|
|
|
191
192
|
|
|
192
193
|
return secret_cache[path].get(key)
|
|
193
194
|
|
|
194
|
-
|
|
195
|
+
config = {
|
|
195
196
|
"index_api_url": get_secret_value("r2index_api_url"),
|
|
196
197
|
"index_api_token": get_secret_value("r2index_api_token"),
|
|
197
198
|
"r2_access_key_id": get_secret_value("r2_access_key_id"),
|
|
198
199
|
"r2_secret_access_key": get_secret_value("r2_secret_access_key"),
|
|
199
200
|
"r2_endpoint_url": get_secret_value("r2_endpoint_url"),
|
|
200
201
|
}
|
|
201
|
-
|
|
202
|
+
# Log which values are missing
|
|
203
|
+
missing = [k for k, v in config.items() if v is None]
|
|
204
|
+
if missing:
|
|
205
|
+
self.log.warning("Missing Vault secrets: %s", missing)
|
|
206
|
+
return config
|
|
207
|
+
except Exception as e:
|
|
208
|
+
self.log.error("Failed to get config from Vault: %s", e)
|
|
202
209
|
return None
|
|
203
210
|
|
|
204
211
|
def _get_config_from_connection(self) -> dict[str, str | None] | None:
|
|
@@ -233,7 +240,8 @@ class R2IndexHook(BaseHook):
|
|
|
233
240
|
"r2_secret_access_key": extra.get("r2_secret_access_key"),
|
|
234
241
|
"r2_endpoint_url": extra.get("r2_endpoint_url"),
|
|
235
242
|
}
|
|
236
|
-
except Exception:
|
|
243
|
+
except Exception as e:
|
|
244
|
+
self.log.error("Failed to get config from connection: %s", e)
|
|
237
245
|
return None
|
|
238
246
|
|
|
239
247
|
def get_conn(self) -> R2IndexClient:
|
{elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{elaunira_airflow_provider_r2index-0.3.1 → elaunira_airflow_provider_r2index-0.3.3}/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|