Expose safe permission details for RKE2 deployment denials #115
No reviewers
Labels
No labels
app-migration
bug
ci-cd
cluster
Documentation
duplicate
enhancement
gpu
invalid
networking
question
security
Storage
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Homelab/workflows!115
Loading…
Reference in a new issue
No description provided.
Delete branch "kiyi/rke2-denial-diagnostics"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Controller deploy 5012 passed permission probes but UDS archive deployment failed with only
kubernetes_authorization. The captured CLI error was discarded, and the Loki search did not surface the denied operation.Parse standard Kubernetes Forbidden errors into up to three distinct permission summaries: verb, resource, API group and namespace/cluster scope. Every emitted value is allowlisted; unknown values become fixed placeholders. Usernames, object names, trailing reasons, command arguments and raw output remain withheld. No RBAC, admission policy, credentials, workflow inputs or check names change.
Validation: 99 RKE2/channel/release-tag regressions passed, including 11 diagnostic tests for private-value leakage, malformed errors, ANSI output, namespaced/cluster/subresource denials, deduplication and bounded output. Ruff F, diff checks and the active Gitleaks 8.30.1 hook passed.
After review, release and promote the library to
stable-v1, then request approval for a fresh owning controller deploy retry. The existing signed controller bundle does not need rebuilding for this logging change. The denied operation and any permission correction remain unverified until that run.Reviewed authenticated head
749f6fa510. The changed RKE2 diagnostic path strips ANSI sequences, limits each captured stream to its final 128 KiB, parses Forbidden permissions within each stream, emits only fixed allowlisted verbs/resource-group pairs/scopes, deduplicates and caps summaries at three, and continues withholding raw CLI output, arguments and input from CommandError. I inspected the changed diagnostic tests and delivery documentation, and traced the deploy command through the existing signed-bundle/security/preflight path. This is diagnostic-only; it does not change UDS package selection, RBAC, admission, routing, or policy gates. No source blocker found. Source approval does not establish a successful deployment or identify the denial from run 5012. Workflow acceptance, repository security, and Library checks are pending at review time; all required gates must pass before merge, and a fresh owning deploy retry requires separate operator approval after library promotion.CI at submission: pending. This is a source-review approval, not a scan verdict; required checks still block merge.