Skip to content

docs(roles): say which operations a role allowlist can grant - #685

Merged
dawsontoth merged 4 commits into
mainfrom
docs/role-allowlist-grantable-operations
Sep 28, 2026
Merged

dawsontoth merged 4 commits into
mainfrom
docs/role-allowlist-grantable-operations

Conversation

@dawsontoth

@dawsontoth dawsontoth commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Companion to HarperFast/harper#2809, which makes a role's operations allowlist grant deploy_component, restart_service, set_configuration, the status operations, and the other operations it silently refused (their authorization entries had no API name, so the allowlist checked a handler name no role can list).

Version badge: harper#2809 merged after v5.3.0-beta.2, which is still the newest tag, so the change ships in v5.3.0.

Verification

prettier --check passes on the three changed files, and CI's Format, Lint, TypeScript and Workflow Tests checks pass. The Docusaurus build passes inside Deploy PR Preview; only that job's upload to the preview host has failed, on the host's storage (out of disk quota, then a missing blob), not on this change.

🤖 Generated with Claude Code

A role's operations allowlist could list deploy_component,
restart_service, set_configuration, the status operations, and a dozen
more without ever being granted them; harper core now grants them as
listed. Document the canonical-name rule for aliased operations, the
super_user operations a listing still cannot grant, the upgrade effect
in the 5.3 release notes, and a least-privilege deploy role next to the
OIDC trust-policy scope.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the documentation and release notes for Harper v5.3.0 to clarify operation permissions. It highlights that twenty previously restricted operations, such as deploy_component, can now be granted by listing them, enabling least-privilege CI deployment. It also details how aliased operations are handled and lists operations that remain restricted. The review feedback suggests splitting a security warning regarding literal credentials into separate sentences to improve readability and ensure critical security advice is easily scannable.

Comment thread reference/operations-api/operations.md Outdated
dawsontoth and others added 2 commits September 25, 2026 12:20
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dawsontoth
dawsontoth marked this pull request as ready for review September 25, 2026 19:41
@dawsontoth
dawsontoth requested a review from a team as a code owner September 25, 2026 19:41

@cb1kenobi cb1kenobi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

No confirmed blocking issues were found on the changed lines. The existing readability concern was addressed and is not repeated.

—
Reviewed 78167fa

@kriszyp kriszyp left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Reviewed with Codex

Comment thread reference/users-and-roles/overview.md Outdated

@cb1kenobi cb1kenobi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

No new blocking findings were found. The existing permission-validation concern is already raised on the affected code path and is not repeated.

—
Reviewed 78167fa

…nted it

add_role and alter_role check only that each operations entry is a known
name, so a role can hold catchup, get_backup, or a secrets-store operation;
the call is what gets refused. Earlier releases likewise stored a listing of
deploy_component and the other nineteen while refusing the call.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@cb1kenobi cb1kenobi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The latest commit fixes the allowlist-storage wording already raised on the users-and-roles overview. The docs now say a role can store a known non-grantable name while the call is still refused, and that the twenty previously silent operations are granted as listed on upgrade. The literal-token caveat remains its own sentence. No remaining blocking contradiction was found on the changed lines.

—
Reviewed cf1e886

@dawsontoth
dawsontoth merged commit 0c7ca98 into main Sep 28, 2026
12 of 13 checks passed
@dawsontoth
dawsontoth deleted the docs/role-allowlist-grantable-operations branch September 28, 2026 11:42
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