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:

FieldDefaultNotes
partitionsservice defaultMore partitions = more parallelism; can be increased later, never decreased
replication_factor3Bounded by the cluster’s replica count
retention_ms604800000 (7 days)How long records are kept
cleanup_policydeletedelete (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

ActionPermission
Createstream:topic:create
Liststream:topic:list
Updatestream:topic:update
Deletestream:topic:delete

See the Policies guide.