baraka-akeyless opened a new pull request, #64754:
URL: https://github.com/apache/airflow/pull/64754

   ## Summary
   
   Add a new community provider for [Akeyless Vault 
Platform](https://www.akeyless.io/) — a SaaS-based secrets management and 
zero-trust access platform.
   
   ### Components
   
   | Component | Class | Description |
   |---|---|---|
   | **Hook** | `AkeylessHook` | Interact with Akeyless — static, dynamic, and 
rotated secrets; item CRUD |
   | **Connection type** | `akeyless` | Custom UI fields for 8 authentication 
methods |
   | **Secrets Backend** | `AkeylessBackend` | Source Airflow Connections, 
Variables, and Config from Akeyless |
   
   ### Authentication methods supported
   
   API Key, AWS IAM, GCP, Azure AD, Universal Identity (UID), JWT/OIDC, 
Kubernetes, Certificate
   
   ### Hook capabilities
   
   - `get_secret_value` / `get_secret_values` — static secrets
   - `get_dynamic_secret_value` — just-in-time credentials (databases, cloud, 
K8s)
   - `get_rotated_secret_value` — auto-rotated credentials
   - `create_secret` / `update_secret_value` / `delete_item`
   - `list_items` / `describe_item`
   
   ### Secrets Backend
   
   Drop-in replacement pattern identical to the HashiCorp Vault backend — 
stores Connections (URI or JSON), Variables, and Config under configurable 
Akeyless paths.
   
   ### Dependencies
   
   - `akeyless>=5.0.0` (Apache 2.0, ~350K monthly PyPI downloads)
   - Optional: `akeyless_cloud_id` for AWS/GCP/Azure cloud-based auth
   
   ### Changes outside `providers/akeyless/`
   
   - `pyproject.toml`: added `akeyless` extra, workspace member, uv source, 
mypy paths, all-providers dep
   - `.github/boring-cyborg.yml`: `provider:akeyless` label mapping
   - `.github/CODEOWNERS`: `/providers/akeyless/` ownership
   - `docs/spelling_wordlist.txt`: added `Akeyless`/`akeyless`
   
   ## Test plan
   
   - [ ] Unit tests pass for hook (`tests/unit/akeyless/hooks/test_akeyless.py` 
— 10 tests)
   - [ ] Unit tests pass for secrets backend 
(`tests/unit/akeyless/secrets/test_akeyless.py` — 19 tests)
   - [ ] Client validation tests pass (auth type validation, missing params)
   - [ ] Static checks pass (`prek run --from-ref main`)
   - [ ] mypy passes (`prek --stage manual mypy-providers --all-files`)
   - [ ] Documentation builds successfully
   - [ ] Example DAG loads without import errors
   
   
   Made with [Cursor](https://cursor.com)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to