Features by edition
The table on roxa.dev/en/pricing is a short overview for a quick comparison. This page keeps the same sections but expands every row into concrete capabilities, with links to the pages that describe them in detail.
| Symbol | Meaning |
|---|---|
| ✓ | included in this edition |
| — | not included |
| soon | in development; a purchased license enables it automatically once it ships |
Community is not a trial
The free edition covers a real production workload on a single node: the same broker, the same Kafka compatibility, the same S3 storage, the same web console. Paid editions add capabilities for teams and scale — they do not "unlock" a crippled core.
Broker core and Kafka compatibility
| Capability | Community | Pro | Enterprise | Details |
|---|---|---|---|---|
| Kafka wire protocol: ApiVersions, Metadata, Produce, Fetch, ListOffsets | ✓ | ✓ | ✓ | Compatibility |
| RecordBatch v2, CRC32C, monotonic offsets — order within a partition is guaranteed | ✓ | ✓ | ✓ | Compatibility |
| Consumer groups: FindCoordinator, Join/Sync, Heartbeat, Leave, rebalance | ✓ | ✓ | ✓ | Compatibility |
| Offset storage: OffsetCommit / OffsetFetch | ✓ | ✓ | ✓ | |
| Idempotent producers: InitProducerId, PID + sequence, deduplication | ✓ | ✓ | ✓ | within a producer session |
| Compression: gzip, snappy, lz4, zstd | ✓ | ✓ | ✓ | |
| Key-based routing with murmur2 — parity with Kafka partitioning | ✓ | ✓ | ✓ | |
| Works with stock clients (kcat/librdkafka and everything built on it) | ✓ | ✓ | ✓ | Client examples |
| Topics: create, describe, delete, partition count | ✓ | ✓ | ✓ | roxactl |
| Changing a topic on the fly: retention, increasing the partition count | ✓ | ✓ | ✓ | roxactl topic alter |
| gRPC data plane: a native protocol on the same broker | ✓ | ✓ | ✓ | roxactl |
Rust SDK (roxa-client): producer / consumer / admin | ✓ | ✓ | ✓ | Rust SDK |
Storage and durability
| Capability | Community | Pro | Enterprise | Details |
|---|---|---|---|---|
| Diskless: segments in S3 / MinIO object storage | ✓ | ✓ | ✓ | serve.toml |
| Local filesystem as the storage backend (start with zero external services) | ✓ | ✓ | ✓ | Quickstart |
| At-least-once: the producer is acknowledged only after a durable write | ✓ | ✓ | ✓ | Guarantees |
| Per-topic durability mode: buffered or direct writes | ✓ | ✓ | ✓ | |
| WAL and recovery after an unclean shutdown | ✓ | ✓ | ✓ | |
| Per-topic retention: by size and by time | ✓ | ✓ | ✓ | Retention |
Observability
| Capability | Community | Pro | Enterprise | Details |
|---|---|---|---|---|
| Web console: overview, topics, consumer groups and lag | ✓ | ✓ | ✓ | admin.toml |
| Browsing and publishing messages straight from the console | ✓ | ✓ | ✓ | admin.toml |
| Live console updates without reloading the page (SSE) | ✓ | ✓ | ✓ | |
| Component diagnostics and cluster state | ✓ | ✓ | ✓ | available to the admin role |
| License card in the console | ✓ | ✓ | ✓ | Licensing |
Prometheus metrics on a separate port (/metrics) | ✓ | ✓ | ✓ | serve.toml |
| Web console in Russian and English | ✓ | ✓ | ✓ | |
| Advanced monitoring and alerts | — | soon | soon |
Security and access
| Capability | Community | Pro | Enterprise | Details |
|---|---|---|---|---|
| TLS on the gRPC and Kafka ports | ✓ | ✓ | ✓ | TLS and security |
| mTLS — client certificate verification | ✓ | ✓ | ✓ | TLS and security |
| SASL/PLAIN for Kafka clients | ✓ | ✓ | ✓ | Authentication |
| Basic authentication over gRPC (roxactl, SDK) | ✓ | ✓ | ✓ | |
Data-plane roles: admin, manager, writer, viewer | ✓ | ✓ | ✓ | checked on every request |
| Web console sign-in: argon2 password hashes, CSPRNG sessions with a 24 h TTL | ✓ | ✓ | ✓ | admin.toml |
Per-topic ACL: exact names and prefixes (orders-*) for manager/writer/viewer | — | ✓ | ✓ | Authentication |
The ACL also scopes topic management: a manager cannot touch someone else's topic | — | ✓ | ✓ | create / alter / delete |
| Visibility filtering: other teams' topics appear neither in listings nor in Kafka Metadata | — | ✓ | ✓ | a consequence of the ACL |
Dynamic users without restarting the broker: the "Access" tab, roxactl user | — | ✓ | ✓ | Authentication |
| SASL/SCRAM, mTLS-CN as an identity, audit log | — | soon | soon | |
| SSO / OIDC / SAML | — | — | soon |
What exactly requires a license
Roles work in every edition, Community included: [[auth.users]] takes admin/manager/writer/viewer, and they genuinely restrict operations. A license is required for per-topic ACLs (the topics field) and for dynamic users. If topics shows up in a Community config, the broker refuses to start and says so — a security configuration must never degrade silently.
Operations
| Capability | Community | Pro | Enterprise | Details |
|---|---|---|---|---|
| Runs as a single container, no ZooKeeper and no external databases | ✓ | ✓ | ✓ | Quickstart |
| Production stack via docker compose (broker + console + MinIO) | ✓ | ✓ | ✓ | Production stack |
| Layered configuration: file, environment variables, flags | ✓ | ✓ | ✓ | serve.toml |
| Backup and restore procedure | ✓ | ✓ | ✓ | Backup |
| Version upgrades without data loss | ✓ | ✓ | ✓ | Upgrading |
| Troubleshooting for common problems | ✓ | ✓ | ✓ | Troubleshooting |
| Air-gapped operation: offline license checks, no phone-home | ✓ | ✓ | ✓ | Licensing |
| Backup / restore automation | — | soon | soon |
Scale
| Capability | Community | Pro | Enterprise | Details |
|---|---|---|---|---|
| A single node as real production | ✓ | ✓ | ✓ | |
| HA / cluster / multi-node | — | — | soon | |
| Multi-tenancy | — | — | soon | |
| Quotas and per-client rate limiting | — | — | soon |
License and support
| Community | Pro | Enterprise | |
|---|---|---|---|
| Price | free | 150,000 ₽ per installation | on request |
| How long the purchased version runs | — | perpetually | perpetually |
| Update window included | — | 1 year, then ≈25%/year to renew | per agreement |
| Support | community | standard | priority / SLA |
| License verification | not required | offline, Ed25519 | offline, Ed25519 |
How the two independent axes — the right to run and the update window — work, and why a purchased version never turns into a pumpkin, is explained under Licensing.
Not available in any edition yet
An honest list — these are not gated behind a tier, they do not exist at all. If any of them blocks your scenario, tell us: priorities follow real requests.
- Transactions and exactly-once semantics.
- Log compaction (retention is by size and time).
- Kafka Connect, Schema Registry.
- ACLs at the Kafka protocol level (authentication is SASL/PLAIN; roles and ACLs live at the broker level).
Next steps
- Try it for free — quickstart in a minute.
- See the paid capabilities live — request a demo stand.
- Questions about terms — via support.