streams
Topics
Topics are managed from the Excloud CLI; Excloud applies the change to Kafka and tracks the desired state for you.
Topics are managed through the Excloud CLI. Each command applies the change to Kafka through the Admin API and records the desired state, so the topic survives broker restarts.
Create
exc stream topic create \
--id <cluster_id> \
--name orders \
--partitions 12 \
--replication_factor 3 \
--retention_ms 604800000 \
--cleanup_policy delete
Required: name.
Optional, with defaults applied when omitted:
| Field | Default | Notes |
|---|---|---|
partitions | service default | More partitions = more parallelism; can be increased later, never decreased |
replication_factor | 3 | Bounded by the clusterโs replica count |
retention_ms | 604800000 (7 days) | How long records are kept |
cleanup_policy | delete | delete (time/size retention) or compact (keep latest per key) |
List
exc stream topic list --id <cluster_id>
Returns the service-managed topics with their partition count, replication factor, retention, and cleanup policy.
Update
exc stream topic patch \
--id <cluster_id> \
--name orders \
--partitions 24 \
--retention_ms 1209600000 \
--cleanup_policy compact
All fields are optional โ send only what you want to change. Partition count can be increased but not decreased; lowering it is rejected by Kafka.
Delete
exc stream topic delete --id <cluster_id> --name orders
Deletes the topic through the Admin API and marks the service state inactive. The records in the topic are removed.
Required permissions
| Action | Permission |
|---|---|
| Create | stream:topic:create |
| List | stream:topic:list |
| Update | stream:topic:update |
| Delete | stream:topic:delete |
See the Policies guide.