ROX-33124: Support roxie-based deployment with deploy script#20731
Conversation
🚀 Build Images ReadyImages are ready for commit b9b5b62. To use with deploy scripts: export MAIN_IMAGE_TAG=4.12.x-302-gb9b5b62037 |
b2910ef to
343ed76
Compare
davdhacs
left a comment
There was a problem hiding this comment.
looks good. I don't like adding a ROXIE_VERSION.yaml to the root and I think the checksum is not needed, but those are my opinions and not a problem or blocking anything.
porridge
left a comment
There was a problem hiding this comment.
I also think the checksum verification is an overkill. It's not like we are worried about malicious entities injecting trojaned binaries into roxie releases, are we? IMHO built-in github.com TLS cert validation would be enough.
1114993 to
d04b960
Compare
porridge
left a comment
There was a problem hiding this comment.
Maybe add some retry flags to curl calls?
e002c27 to
b88f5b0
Compare
📝 WalkthroughSummary by CodeRabbit
WalkthroughAdds roxie as a version-pinned deployment tool. ChangesRoxie deployment integration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
|
@davdhacs & @porridge, after having completed several roxie features (stackrox/roxie#203, stackrox/roxie#204, stackrox/roxie#214), I am picking this PR up again and would like to get this merged. I have polished some parts, fleshed out the README, added a roxie-config for persisting default deployment settings, rebased from current master. Looking forward to some fresh review. :-) |
|
@mclasmeier: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. I understand the commands that are listed here. |
Co-authored-by: Marcin Owsiany <porridge@redhat.com>
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@deploy/README.md`:
- Line 31: Fix the typo in the deployment README sentence by changing “habbits”
to “habits” in the text about deploy.sh invoking roxie; update the phrasing in
the affected README content only, keeping the rest of the sentence unchanged.
- Around line 35-37: The deployment example uses an absolute path that won’t
work as written, so update the command in the README example to use the relative
script path instead. Fix the shell snippet near the USE_ROXIE_DEPLOY example by
changing the deploy.sh invocation to match the other documented examples and
keep the command consistent with the deploy/deploy.sh usage shown elsewhere.
In `@scripts/roxie.sh`:
- Around line 37-51: The host_arch function only recognizes arm64, so Linux
ARM64 machines using uname -m = aarch64 are incorrectly rejected. Update
host_arch to map both aarch64 and arm64 to arm64, keeping the existing amd64
handling and the unsupported-architecture fallback unchanged.
- Around line 100-120: In gh_download_release, add a guard after the jq lookup
and before the asset download so an empty asset_id is treated as an explicit
“asset not found” failure instead of letting curl hit a blank releases/assets
URL. Use the existing gh_download_release function variables (repo, version,
asset_name, asset_id) to emit a clear error and stop execution when no matching
asset is returned.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 5a796a10-ed3f-40fc-8d14-43b9868d8e1b
📒 Files selected for processing (6)
ROXIE_VERSIONdeploy/README.mddeploy/deploy.shdeploy/roxie-config.yamlscripts/roxie.shscripts/teardown.sh
|
@coderabbitai, please a fresh review, resolve all comments that are properly addressed. |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "=== PR Review Comments ==="
gh pr view 20731 --repo stackrox/stackrox --json reviews,reviewRequests,comments | jq '.'
echo ""
echo "=== PR Review Threads ==="
gh api graphql -f query='
{
repository(owner: "stackrox", name: "stackrox") {
pullRequest(number: 20731) {
reviewThreads(first: 50) {
nodes {
id
isResolved
isOutdated
comments(first: 10) {
nodes {
author { login }
body
path
line
createdAt
}
}
}
}
}
}
}' | jq '.'Length of output: 44881 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "=== scripts/roxie.sh ==="
cat -n scripts/roxie.sh
echo ""
echo "=== deploy/deploy.sh (new content) ==="
cat -n deploy/deploy.sh | head -100
echo ""
echo "=== ROXIE_VERSION ==="
cat ROXIE_VERSION
echo ""
echo "=== deploy/roxie-config.yaml ==="
cat deploy/roxie-config.yaml
echo ""
echo "=== scripts/teardown.sh ==="
cat scripts/teardown.sh
echo ""
echo "=== deploy/README.md ==="
cat deploy/README.mdLength of output: 19126
Here are two new observations from the fresh read:
if [[ "$os" == "darwin" ]]; then
xattr -d com.apple.quarantine "$tmp_roxie"
fiThe macOS quarantine extended attribute ( Suggested fix — swallow the error when the attribute is absent: if [[ "$os" == "darwin" ]]; then
xattr -d com.apple.quarantine "$tmp_roxie" 2>/dev/null || true
fi
-H "X-GitHub-Api-Version: 2026-03-10" \The widely-documented stable GitHub REST API version is ✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/roxie.sh`:
- Around line 74-76: The macOS quarantine removal in the install flow can fail
when the attribute is missing, causing the script to exit under set -e. Update
the Darwin branch in roxie.sh so the xattr -d com.apple.quarantine call is
treated as best-effort and does not fail the installation if the metadata is
absent. Keep the change localized to the existing os == darwin check around
$tmp_roxie.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: ac0767a5-a8b7-4857-8663-74e56d662bb9
📒 Files selected for processing (6)
ROXIE_VERSIONdeploy/README.mddeploy/deploy.shdeploy/roxie-config.yamlscripts/roxie.shscripts/teardown.sh
|
@coderabbitai, final review? |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@deploy/deploy.sh`:
- Around line 42-47: The deploy wrapper’s roxie config handling is inconsistent
because deploy/deploy.sh always injects a default --config before forwarding
arguments, so passing another --config creates duplicates. Update the deploy.sh
argument handling around the roxie.sh deploy call to either let the
caller-supplied --config override the default or only add the default when no
config was provided, and make the wrapper behavior match the roxie deploy
contract used by the examples.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: f35ca309-b654-4f33-a2e6-134326ba427d
📒 Files selected for processing (6)
ROXIE_VERSIONdeploy/README.mddeploy/deploy.shdeploy/roxie-config.yamlscripts/roxie.shscripts/teardown.sh

Description
This is for those who have
./deploy/deploy.shin their muscle memory.The roxie flow is currently opt-in via
USE_ROXIE_DEPLOY=true.User-facing documentation
Not customer facing. Internal eng docs added.
Testing and quality
Automated testing
n/a
How I validated my change
Tried deploying with
./deploy/deploy.shand teardown with./scripts/teardown.sh.