Update download server to serve raw binaries and drop ppc64le/s390x#174
Conversation
Replace tar.gz archives with direct binary downloads so users can curl or wget the binary directly without extracting. Binaries use clean names without version/commit hashes (e.g. kubectl-oadp_linux_amd64). LICENSE is served as a separate file. Adds release-binaries Makefile target for the download server pipeline while keeping release-archives for GitHub releases and krew. Signed-off-by: Joseph <jvaikath@redhat.com>
Remove ppc64le and s390x from build platforms, CI matrix, and multi-arch manifests. Also removes konflux-onboarding docs. Signed-off-by: Joseph <jvaikath@redhat.com>
📝 WalkthroughWalkthroughThe pull request transitions the build and distribution system from archive-based (tar.gz) to binary-based delivery. This includes removing Changes
Sequence DiagramsequenceDiagram
actor Developer
participant BuildSystem as Build System<br/>(Make)
participant Container as Container Image<br/>(Konflux/Quay)
participant Server as Download Server
participant Client as End User
Developer->>BuildSystem: Trigger build
BuildSystem->>BuildSystem: make release-binaries
BuildSystem->>BuildSystem: Generate per-binary SHA256
BuildSystem->>Container: Push binary artifacts
Client->>Server: Request download index
Server->>Server: Scan release-binaries dir
Server->>Server: Discover binaries & LICENSE
Server->>Client: Return listing with<br/>platform binaries
Client->>Server: Download kubectl-oadp_<br/>for platform
Server->>Container: Fetch binary
Server->>Client: Serve binary
Client->>Server: Download LICENSE
Server->>Container: Fetch LICENSE
Server->>Client: Serve LICENSE (text/plain)
Estimated Code Review Effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly Related PRs
Suggested Labels
Suggested Reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
cmd/downloads/templates/index.html (1)
120-128: Glob pattern assumes single binary download.The installation commands use
kubectl-oadp_*which will work correctly when users download a single binary for their platform. If a user downloads multiple binaries to the same directory, the glob would match multiple files, causingmvto fail or behave unexpectedly.This is a reasonable UX assumption for typical usage, but consider noting in the instructions to download to an empty directory or specifying the exact filename.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@cmd/downloads/templates/index.html` around lines 120 - 128, The install instructions use a glob "kubectl-oadp_*" for chmod and mv which can match multiple downloaded binaries and break the rename step; update the text and commands around the code lines showing "chmod +x kubectl-oadp_*" and "sudo mv kubectl-oadp_* /usr/local/bin/kubectl-oadp" to either instruct users to run the steps from an empty/download-specific directory or to use the explicit downloaded filename (e.g., the platform-specific kubectl-oadp_<platform> name) so the mv targets a single file; ensure the copy-button data-cmd values and visible comment line are updated to match the chosen safer approach.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@cmd/downloads/templates/index.html`:
- Around line 120-128: The install instructions use a glob "kubectl-oadp_*" for
chmod and mv which can match multiple downloaded binaries and break the rename
step; update the text and commands around the code lines showing "chmod +x
kubectl-oadp_*" and "sudo mv kubectl-oadp_* /usr/local/bin/kubectl-oadp" to
either instruct users to run the steps from an empty/download-specific directory
or to use the explicit downloaded filename (e.g., the platform-specific
kubectl-oadp_<platform> name) so the mv targets a single file; ensure the
copy-button data-cmd values and visible comment line are updated to match the
chosen safer approach.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 7e74a115-9500-411e-bba5-be53716a511e
📒 Files selected for processing (8)
.github/workflows/quay_binaries_push.yml.github/workflows/release.ymlContainerfile.downloadMakefilecmd/downloads/server.gocmd/downloads/templates/index.htmldocs/konflux-onboarding.mdkonflux.Dockerfile
💤 Files with no reviewable changes (1)
- docs/konflux-onboarding.md
Replace versioned binary names (oadp-vmdp_${VERSION}_${os}_${arch})
with clean names (oadp-vmdp_${os}_${arch}) so users can directly
curl/wget binaries without version/commit hash in the filename.
Switch from single sha256sum.txt to per-file .sha256 sidecar checksums.
Add LICENSE as a downloadable file on the download server page.
Similar to migtools/oadp-cli#174
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Michal Pryc <mpryc@redhat.com>
Replace versioned binary names (oadp-vmdp_${VERSION}_${os}_${arch})
with clean names (oadp-vmdp_${os}_${arch}) so users can directly
curl/wget binaries without version/commit hash in the filename.
Switch from single sha256sum.txt to per-file .sha256 sidecar checksums.
Add LICENSE as a downloadable file on the download server page.
Similar to migtools/oadp-cli#174
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Michal Pryc <mpryc@redhat.com>
Replace versioned binary names (oadp-vmdp_${VERSION}_${os}_${arch})
with clean names (oadp-vmdp_${os}_${arch}) so users can directly
curl/wget binaries without version/commit hash in the filename.
Switch from single sha256sum.txt to per-file .sha256 sidecar checksums.
Add LICENSE as a downloadable file on the download server page.
Similar to migtools/oadp-cli#174
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Michal Pryc <mpryc@redhat.com>
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Joeavaikath, kaovilai, mpryc The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/cherry-pick oadp-1.6 |
|
@Joeavaikath: new pull request created: #175 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Summary
can directly curl/wget the binary without extracting. Binaries use clean names
without version/commit hashes (e.g.
kubectl-oadp_linux_amd64). LICENSE isserved as a separate downloadable file.
multi-arch manifests, and release notes.
Test plan
docker build -f Containerfile.download -t oadp-downloads .//download/<binary-name>/download/LICENSE🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Chores