Skip to content

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.

SymbolMeaning
✓included in this edition
—not included
soonin 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 ​

CapabilityCommunityProEnterpriseDetails
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 ​

CapabilityCommunityProEnterpriseDetails
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 ​

CapabilityCommunityProEnterpriseDetails
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—soonsoon

Security and access ​

CapabilityCommunityProEnterpriseDetails
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—soonsoon
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 ​

CapabilityCommunityProEnterpriseDetails
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—soonsoon

Scale ​

CapabilityCommunityProEnterpriseDetails
A single node as real production✓✓✓
HA / cluster / multi-node——soon
Multi-tenancy——soon
Quotas and per-client rate limiting——soon

License and support ​

CommunityProEnterprise
Pricefree150,000 ₽ per installationon request
How long the purchased version runs—perpetuallyperpetually
Update window included—1 year, then ≈25%/year to renewper agreement
Supportcommunitystandardpriority / SLA
License verificationnot requiredoffline, Ed25519offline, 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 ​