-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[confcom] Make dependency fetching more resilient #9441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
️✔️Azure CLI Extensions Breaking Change Test
|
|
Hi @DomAyre, |
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the binary fetching mechanism in the confcom extension to improve resilience and avoid GitHub API rate limits. The changes replace dynamic GitHub API queries with pinned versions and direct CDN downloads.
Key Changes:
- Pin specific versions for all external dependencies (OPA v1.10.1, integrity-vhd v1.6, kata-containers 3.2.0.azl3.genpolicy3, cosesign1go v1.4.0)
- Replace GitHub API calls with direct GitHub CDN URLs for downloading binaries
- Refactor path handling to use
pathlibinstead ofos.path
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
lib/paths.py |
Migrated from os module to pathlib for cleaner path handling; added get_data_dir() function |
lib/opa.py |
Restructured to use pinned OPA v1.10.1 with direct CDN downloads and SHA256 checksum verification |
rootfs_proxy.py |
Simplified binary download to use pinned integrity-vhd v1.6 with direct CDN downloads |
kata_proxy.py |
Updated to fetch genpolicy binaries and data files from pinned kata-containers 3.2.0.azl3 releases |
cose_proxy.py |
Modified to download sign1util from pinned cosesign1go v1.4.0 release |
Why
The confcom extension currently relies on using the Github API to dynamically find the latest release of our dependencies which has the assets we need, this presents two issues.
How
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)