Skip to content

test: update operator-user ACL e2e for the config|get grant - #355

Closed
matka12 wants to merge 1 commit into
valkey-io:mainfrom
matka12:fix-e2e-config-get
Closed

test: update operator-user ACL e2e for the config|get grant#355
matka12 wants to merge 1 commit into
valkey-io:mainfrom
matka12:fix-e2e-config-get

Conversation

@matka12

@matka12 matka12 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Main's e2e suite is currently red: the run for #341's merge commit fails in verifying denied commands fail for operator user:

expected all 6 disallowed commands to be denied but got: ... (5 NOPERM; CONFIG GET * succeeds)
Expected <int>: 5 to equal <int>: 6

#341 granted the _operator user +config|get for auditability, but the denied-commands e2e still expects CONFIG GET * to return NOPERM. Every PR branch inherits the failure (hit it on #333).

Changes

  • CONFIG GET maxmemory added to the allowed-commands check, covering the new grant positively.
  • The denied-list slot is replaced with FLUSHALL, which no grant covers. CONFIG SET deliberately not used: +config|set is also granted, so neither CONFIG subcommand belongs in the denied list.

valkey-io#341 granted the _operator user +config|get for auditability, but the
denied-commands e2e still lists CONFIG GET among the commands expected
to return NOPERM - the command now succeeds, the NOPERM count comes up
one short, and the suite fails on main.

Move CONFIG GET to the allowed-commands check and replace the denied
slot with FLUSHALL, which no grant covers (+config|set is also granted,
so neither CONFIG subcommand belongs in the denied list).

Signed-off-by: Matan David <matan.david@eon.io>
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@matka12, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 9 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 484f3635-b0e7-44ff-8b37-b04cba553cfa

📥 Commits

Reviewing files that changed from the base of the PR and between 19d2d6d and 013ec5f.

📒 Files selected for processing (1)
  • test/e2e/valkeycluster_test.go

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates the operator ACL E2E coverage to verify that CONFIG GET maxmemory succeeds under the existing +config|get permission and that destructive FLUSHALL remains denied. The tagged E2E package compiles successfully, and source checks confirm the updated command lists match the configured ACL.

No defects were identified.

T-Rex validation blocked

Live ACL verification is blocked by missing tools: kind, kubectl, docker or podman, and valkey-cli or redis-cli. Without these tools, a Valkey Cluster cannot be provisioned and authenticated _operator commands cannot be executed. Configure VMs

Confidence Score: 5/5

The change is safe to merge based on the compiled E2E coverage and ACL/source checks.

No defect was identified in the updated command coverage. Live cluster execution was unavailable, but the blocked environment does not indicate a product failure.

Files Needing Attention: No files need follow-up attention.

T-Rex T-Rex Logs

What T-Rex did

  • Validated the updated ACL against the E2E sources by running the validation script, confirming +config|get is present, CONFIG GET maxmemory is allowed, FLUSHALL is denied, and the end-to-end build completed; a live Valkey Cluster ACL request could not be run because the required Kubernetes, container-runtime, and Valkey-client tools are unavailable.
  • Compared the before and after captures to track test coverage and noted that before capture the main did not test the allowed CONFIG GET maxmemory or the FLUSHALL path, while after capture the ACL contains +config|get; the allowed flow tests CONFIG GET maxmemory, the denied flow tests FLUSHALL, and the tagged E2E compilation exits 0; the runtime probe reported that required executables are missing.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "test: update operator-user ACL e2e for t..." | Re-trigger Greptile

@sandeepkunusoth

Copy link
Copy Markdown
Member

i already opened PR #351

// CONFIG GET is intentionally absent: the _operator user is
// granted +config|get for auditability (#341), covered by the
// allowed-commands check above (+config|set is granted too,
// so neither CONFIG subcommand belongs here).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove this comment, I don't see why we would specifically call out CONFIG GET and not any of the other commands in this list.

@jdheyburn

Copy link
Copy Markdown
Collaborator

I merged #351 instead as it didn't contain the comment. Thanks for raising this!

@jdheyburn jdheyburn closed this Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants