Skip to content

docs(book): install Kates for compliance checks, with or without cluster admin - #569

Merged
bmscomp merged 3 commits into
mainfrom
docs/compliance-adminless-install
Oct 31, 2026
Merged

bmscomp merged 3 commits into
mainfrom
docs/compliance-adminless-install

Conversation

@bmscomp

@bmscomp bmscomp commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

The compliance chapter gains Installing Kates for Compliance Checks. It opens with a table comparing the two installs and a shared KafkaUser. The KafkaUser comes with the ACLs a check needs and the Kates API's own topics and groups. Then there are two subsections.

With Cluster Admin

  • kates deploy for the whole stack. On a Kafka cluster that's already running, the chart's default rbac.scope=cluster, with the password copied from Strimzi's Secret.
  • What the ClusterRole reads: nodes, so any zoneLabel works, and PodMonitors in every namespace.
  • The ClusterRole also holds chaos's writes, which a check never uses. A check-only install can use the namespace scope, even with admin rights.

Without Cluster Admin, in four steps:

  1. The owner grants the reads: the Role and the optional node grant.
  2. You install with plain Helm and rbac.scope=namespace.
  3. Reach the API and check. This includes the 503 a check gets before the Role exists.
  4. What the scope changes: EndpointSlice and rack zones, unlabelled nodes, the node grant making a rule readable rather than true, PodMonitors and topics.

The section ends with a Try it and how to remove the install.

Tested on the admin-less Kind lab:

  • A payments install from an account with edit only.
  • A cluster-scope install by the lab's admin.

Both used the commands as written, and every output in the section comes from those runs.

Fix in the Deployment Guide. The ACL list gains Read on the group kates-dlq-consumer. Without it, the Kates API logged a GroupAuthorizationException about every 30 seconds.

scripts/check-book-style.sh passes, and the new figure renders with mmdc. CI renders the book.

… cluster admin

A new section walks a team with edit in its own namespace through checking
a Kafka cluster it doesn't administer, on any Kubernetes cluster: the owner's
read-only Role and optional node grant, a plain Helm install with
rbac.scope=namespace and the values that name the cluster, reaching the API
with kates ports, and what the namespace scope changes in a report.
Every command ran on an admin-less Kind lab: a second Kates installed into
payments from an account with edit there, the owner's KafkaUser, Role and
node grant applied as written. The section now shows the KafkaUser with the
ACLs a check needs, who does what, a figure of the grants, the real outputs
(lint, check, the 503 before the Role, the zone detail), what the node grant
changes, a Try it and how to remove it, on the lab's real names.

The run found the Kates API polls its dead-letter queue as the group
kates-dlq-consumer, which the Deployment Guide's ACL list left out.
The section becomes Installing Kates for Compliance Checks: a table of the
two installs, the KafkaUser both need, With Cluster Admin (kates deploy, or
the chart's default rbac.scope=cluster on a running Kafka, zones and
PodMonitors read cluster-wide, and the ClusterRole's chaos writes a check
never uses) and Without Cluster Admin, the tested admin-less steps. The admin
outputs come from a cluster-scope install on the same Kind lab.
@bmscomp bmscomp changed the title docs(book): install Kates without cluster admin, in the compliance chapter docs(book): install Kates for compliance checks, with or without cluster admin Oct 31, 2026
@bmscomp
bmscomp merged commit 365c0f1 into main Oct 31, 2026
57 checks passed
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.

1 participant