Skip to content

roxactl — the CLI

roxactl talks to the broker over gRPC (port 50051) — Roxa's own data plane, independent of the Kafka protocol. The binary ships inside the docker image (docker exec roxa roxactl …).

Global flags

--endpoint <URL>      the broker address (default http://127.0.0.1:50051)
--user / --password   data-plane credentials (when [[auth.users]] is enabled)
--tls-ca <PEM>        the root certificate (enables TLS; endpoint https://…)
--tls-cert/--tls-key  the client certificate (mTLS)
--tls-domain <name>   the expected name in the server certificate

Commands

Topics

bash
roxactl topic create <name> [--partitions N] [--retention-bytes N] [--retention-ms N]
roxactl topic list
roxactl topic describe <name>
roxactl topic delete <name>

Messages

bash
roxactl produce <topic> [--partition P] [--key K] <values...>
roxactl consume <topic> [--partition 0] [--from 0] [--max 100]

Offsets and the cluster

bash
roxactl offset commit <group> <topic> <partition> <offset>
roxactl offset list
roxactl cluster status [--assignments]

Examples

bash
# production with authentication:
roxactl --endpoint http://SERVER:50051 --user app --password <pass> \
        topic create demo --partitions 3

# over TLS:
roxactl --endpoint https://SERVER:50051 --tls-ca ca.pem topic list

# retention: 1 GiB and 7 days per topic
roxactl topic create events --partitions 3 \
        --retention-bytes 1073741824 --retention-ms 604800000