Depend on azure-keyvault-secrets directly, dropping unused Azure packages - #401
Merged
Merged
Conversation
…ages The Azure Key Vault credential plugin only uses azure.keyvault.secrets (SecretClient) and azure.identity, but requirements pulled the azure-keyvault meta-package, which also installs azure-keyvault-certificates and azure-keyvault-keys (both unused). Those older pins, plus the old secrets pin, were the only consumers of the deprecated azure-common. Replace the meta-package with a direct azure-keyvault-secrets>=4.11.0 dependency. pip-compile drops four packages from requirements.txt: azure-keyvault (meta), azure-keyvault-certificates, azure-keyvault-keys, and azure-common; azure-keyvault-secrets moves 4.7.0 -> 4.11.0. No change to azure-core, azure-identity, or msal. Removes the now-orphaned license files (and a stray MIT source tarball that was never required). Regenerated with requirements/updater.sh inside the awx container. Verified: test_licenses and test_credential_plugins pass.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates Ascender’s Python dependency set to depend directly on the Azure Key Vault Secrets client library rather than the azure-keyvault meta-package, reducing the installed/audited surface area and removing a deprecated transitive dependency (azure-common).
Changes:
- Replace
azure-keyvaultmeta-package with a directazure-keyvault-secrets>=4.11.0requirement (compiled to==4.11.0inrequirements.txt). - Drop unused Azure Key Vault subpackages (
azure-keyvault-keys,azure-keyvault-certificates) and the deprecated transitive dependencyazure-common. - Remove now-orphaned license artifacts for the removed dependencies (and the stray
azure-keyvault-secrets-4.8.0.tar.gzfile).
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| requirements/requirements.in | Switches from azure-keyvault to azure-keyvault-secrets>=4.11.0 with explanatory comments. |
| requirements/requirements.txt | Regenerated pins: removes azure-keyvault* meta/subpackages and azure-common; adds azure-keyvault-secrets==4.11.0. |
| licenses/azure-keyvault.txt | Removes orphaned license file for removed meta-package. |
| licenses/azure-keyvault-keys.txt | Removes orphaned license file for removed unused dependency. |
| licenses/azure-keyvault-certificates.txt | Removes orphaned license file for removed unused dependency. |
| licenses/azure-common.txt | Removes orphaned license file for removed deprecated transitive dependency. |
| licenses/azure-keyvault-secrets-4.8.0.tar.gz | Removes unused/stray source tarball artifact. |
cigamit
approved these changes
Jun 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SUMMARY
The Azure Key Vault credential plugin (
awx/main/credential_plugins/azure_kv.py) only usesazure.keyvault.secrets(SecretClient) andazure.identity(ClientSecretCredential,AzureAuthorityHosts). Butrequirements.inasked for theazure-keyvaultmeta-package, which also installsazure-keyvault-certificatesandazure-keyvault-keys- neither of which is imported anywhere in the codebase. Those packages (at their old pins) plus the oldazure-keyvault-secretspin were the only things still pulling in the deprecatedazure-common.This replaces the meta-package with a direct
azure-keyvault-secrets>=4.11.0dependency. Re-compiling drops four packages fromrequirements.txt:No change to
azure-core,azure-identity, ormsal. Also removes the four orphanedlicenses/*.txtfiles and a strayazure-keyvault-secrets-4.8.0.tar.gzsource tarball that was never required (the package is MIT, so no source distribution is needed).The value of this change is surface reduction: fewer packages to install, audit, and maintain, and the removal of a deprecated transitive dependency.
The API surface the plugin uses (
SecretClient(credential, vault_url),.get_secret(name, version),ClientSecretCredential(...)) is stable across the 4.x line, so the 4.7 → 4.11 bump is non-breaking.ISSUE TYPE
COMPONENT NAME
ASCENDER VERSION
ADDITIONAL INFORMATION
requirements.txtregenerated withrequirements/updater.sh runinside the awx container (pip-compile), per the documented process.