Repository navigation
docs(plan): admin-less Kates enhancement plan - #588
Merged
Merged
Conversation
Findings from an audit of the charts, every CLI command and the backend under a namespace-only account, five waves to make the profile first-class (install, day-2 commands, backend scope and namespaced chaos, the admin handoff, CI), and four decisions for the maintainer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011Uf5RgVD4yw8iSrbvvapWM
bmscomp
marked this pull request as ready for review
November 3, 2026 21:56
Ran kates deploy --adminless and the day-2 commands on kind as a ServiceAccount bound to admin in one namespace, on a Strimzi the admin installed. Confirms A2, A6, C1-C4, C6, C7 and D6 live, and adds F1-F10: the compliance Role skipped over a PodMonitor API the cluster does not serve (which also disables topology and the disruption guard), clean reporting success while the kept Kafka cluster keeps running, no way to size the stack through deploy, and misleading messages from detect, doctor and the disruption guard. New items 1.11-1.15, 2.11 and 3.7, and section 9 on repeating the run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011Uf5RgVD4yw8iSrbvvapWM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
plans/adminless-enhancement.md: a plan to makekates deploy --adminlessa first-class way to run Kates for an account with only namespaced rights. The plan rests on a code audit and on an end-to-end run on kind.What it rests on
A code audit of the seven charts the profile installs, every CLI command, and the backend under
rbac.scope=namespace, with file:line references.A run on kind (section 2.F), as a ServiceAccount bound to
adminin one namespace, on a Strimzi a cluster admin installed watching it.What the run confirmed live:
kafka.clean,deploy status,detect,doctor,portsandoperators listall misbehave without cluster rights.cluster alertsreads "✓ 0 critical" with 0 rules scanned.What it found that the audit missed:
cluster topology(503) and the disruption safety guard.kates cleanreports "Cluster cleaned successfully" while the whole Kafka cluster keeps running. Its Kafka CR, node pools, topics, users, pods and PVCs are markedkeep.--ha=falsechanges nothing, and MirrorMaker 2 and Connect always start 3 workers.detectsays "cluster is unreachable", the disruption guard says "no broker pods found", the version plan says "Operator → install", anddoctorrecommends Kyverno commands the account can't run.What works today: the install preflight, Kafka plus Kates plus Kafka UI in one namespace, a LOAD test (40,000 records at about 35,000 records/s), and
portsgiven the namespace flags.The plan
admin. A capability matrix, a render-then-check preflight,values-adminless.yamlper chart, the Apicurio fix, restricted Pod Security and OpenShift, real sizing knobs, and kept resources handled.cleanremoves what the charts keep.kates adminless requestandverify, and an optionalkates-tenantchart.F1 and F5 are small, high-value fixes worth shipping first. Four decisions are left for the maintainer, in section 6.
🤖 Generated with Claude Code
https://claude.ai/code/session_011Uf5RgVD4yw8iSrbvvapWM