Monedula
monedula-acl-rbac-converter docs menu

monedula-acl-rbac extract

Read ACLs from a source and emit canonical acls.json. Usage and flags for monedula-acl-rbac extract.

Reference 16 of 29

Reference for monedula-acl-rbac-converter v0.10.0

Updated 2 October 2026

On this page
usage
monedula-acl-rbac extract [flags]

Read Kafka ACLs from one of nine sources and serialise them into the canonical acls.json that every downstream command consumes.

Sources (pass via --from): live Apache Kafka cluster (requires --bootstrap-server, optional --command-config) text a 'kafka-acls.sh --list' text dump (--input) json|yaml an acls.json/yaml matching schemas/acls.v1.json (--input) csv flat tabular form, RFC 4180 (--input) script a shell script of 'kafka-acls --add' invocations (--input, optional --vars) strimzi Strimzi KafkaUser CRs on disk (--input) cfk CFK Kafka + ConfluentRolebinding manifests on disk (--input) k8s a running Kubernetes cluster (--context / --namespace / --all-namespaces)

Example: monedula-acl-rbac extract --from live \ --bootstrap-server kafka.example.com:9093 \ --command-config admin.properties \ --out runs/2026-05-21T10-00-00Z/acls.json

acls.json is the only mutating output. extract.log and extract-source.json sidecars are also written for audit.

Read-only: this command does not change the cluster.

Flags

FlagTypeDefaultDescription
--fromstring live|text|json|yaml|csv|strimzi|cfk|k8s|script
--inputstring Input file path (file sources only)
--varsstring vars.yaml for the script source
--ignore-non-addbool Script source: skip --remove/--list invocations
--principal-filterstringSlice Live source: restrict by principal (repeatable)
--topic-filterstringSlice Live source: restrict by topic prefix (repeatable)
--contextstring K8s source: kubeconfig context
--namespacestring K8s source: namespace
--all-namespacesbool K8s source: walk all visible namespaces
--label-selectorstring K8s source: label selector
--kubeconfigstring K8s source: kubeconfig path override
--run-dirstring Explicit run directory
--outstring Output path; parent dir becomes the run dir
--bootstrap-serverstring Kafka bootstrap server(s) (comma-separated)
--bootstrapstring Alias for --bootstrap-server
--command-configstring Path to a Kafka client properties file

Global flags

FlagTypeDefaultDescription
--log-formatstringtextLog output format (text|json); set MONEDULA_ACL_RBAC_LOG_FORMAT to override the default.
--log-levelstringinfoLog level (debug|info|warn|error); set MONEDULA_ACL_RBAC_LOG_LEVEL to override the default.

Examples

examples
monedula-acl-rbac extract --from live --bootstrap-server kafka.example.com:9093 --command-config admin.properties --out runs/2026-05-21T10-00-00Z/acls.json
monedula-acl-rbac extract --from text --input acls.txt --out runs/2026-05-21T10-00-00Z/acls.json

Exit codes

CodeMeaning
0Success.
1Usage error: missing required flag, malformed argument, or unknown subcommand.
2Input error: unparseable ACLs or missing/malformed config (rules, principals, scopes, or vars files).
4External system error: MDS unreachable or unauthorized, Kafka unreachable or auth failure, or the Kubernetes API unreachable, unauthorized, or RBAC denied.