ROB-523 docs: namespace-scoped RBAC guide (restore + how-it-works)#2114
Conversation
Re-adds the page removed just before #2110 merged, now with a 'How it works' section (ClusterRole vs binding scope, rendered RoleBinding manifest, cluster-scoped caveat, can-i nuance). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
✅ Docker image ready for
Use this tag to pull the image for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/robusta-runner:db474b0
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/robusta-runner:db474b0 me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:db474b0
docker push me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:db474b0Patch Helm values in one line: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set runner.image=me-west1-docker.pkg.dev/robusta-development/development/robusta-runner-dev:db474b0 |
WalkthroughAdds a new documentation page about namespace-scoped RBAC, links it into the setup-robusta docs index, and documents the binding model, limits, verification commands, and runner scope notes. ChangesRBAC Namespace Scoping Docs
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@docs/setup-robusta/rbac-namespace-scoping.rst`:
- Around line 37-38: The wording in the namespace-scoping docs overstates the
security outcome by calling it “fully restricted” even though the runner remains
cluster-wide later in the page; update the sentence in the affected docs section
to use the more accurate phrasing “namespace-scoped, read-only deployment” and
keep the surrounding reference to the read-only runner consistent.
- Around line 96-100: Rephrase the `can-i` explanation in the section around the
`kubectl auth can-i list nodes` example so it explicitly says the check is
namespace-scoped when `-n default` is used. Make clear in the same paragraph
that `can-i` may return `yes` for `nodes` inside `default`, but the `holmes-sa`
ServiceAccount still cannot perform a real cluster-scoped `kubectl get nodes`
without a cluster-wide binding.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: d0159d7c-746d-4709-9d69-1033a7725df8
📒 Files selected for processing (2)
docs/setup-robusta/index.rstdocs/setup-robusta/rbac-namespace-scoping.rst
…hart SA + ClusterRole) Works with the released chart (no new Helm value): create RoleBindings that reuse the chart's ServiceAccount and ClusterRole, then remove the cluster-wide ClusterRoleBinding. Documents the helm-upgrade recreate caveat. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Forbidden errors only name the denied namespace, never the allowed ones, so Holmes cannot infer its RBAC scope. Add a section + example global instruction listing the bound namespaces. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Restores the RBAC namespace-scoping guide (
docs/setup-robusta/rbac-namespace-scoping.rst) and itsindex.rsttoctree entry.This page was added in #2110 but removed in two commits right before that PR merged (
e45a5d90"Delete rbac-namespace-scoping.rst" +ca8f0398"Update index.rst"), so it never made it ontomaster. The runner read-only guide and therunner.overrideClusterRoleschart change from #2110 are already merged; only this page was dropped.What's in the page
holmes.roleBindingNamespaces(list of namespaces → namespacedRoleBindingper namespace instead of a cluster-wideClusterRoleBinding).RoleBindingmanifest, why cluster-scoped resources (e.g.nodes) are not granted, and thekubectl auth can-icaveat.Related
Depends on the Holmes chart value
holmes.roleBindingNamespacesfrom HolmesGPT/holmesgpt#2257 (open).🤖 Generated with Claude Code