Install the Excloud CLI from the CLI installation guide, then log in:

exc login

1. Create the cluster

In the console, open console.excloud.dev/console/streams and click New cluster.

Create a Streams cluster in the Excloud console

Or create the cluster from the CLI:

exc stream create \
  --name events-prod \
  --zone_id 1 \
  --subnet_id 1 \
  --instance_type m1a.medium \
  --root_volume_size_gib 100 \
  --allowed_cidrs 203.0.113.0/24 \
  --wait

The response contains:

  • cluster.cluster_id — pin this in your config
  • cluster.public_bootstrap_endpoint — what clients connect to, e.g. events-prod.stream.excloud.co.in:9092
  • cluster.state — CREATING until the cluster is ready (RUNNING)
  • admin_username / admin_password — the admin SCRAM credential, shown only at create time
  • bootstrap — CA certificate, auth mode, and a client_properties blob

Capture the admin credential immediately. --wait keeps the command open until the cluster reaches RUNNING.

2. Get connection details

exc stream bootstrap --id <cluster_id>

Returns everything a Kafka client needs:

FieldValue
bootstrap_serversevents-prod.stream.excloud.co.in:9092
security_protocolSASL_SSL
sasl_mechanismSCRAM-SHA-512
ca_certPEM CA certificate
client_propertiesReady-to-use client.properties

Save the CA to a file and write a client.properties:

bootstrap.servers=events-prod.stream.excloud.co.in:9092
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="<admin_password>";
ssl.truststore.type=PEM
ssl.truststore.location=/path/to/excloud-stream-ca.pem

3. Don’t leave the password in your shell history

Move it into Secrets so consumers fetch it from one place:

exc secret create --path stream/events-prod/admin --from-stdin

Then in your app:

STREAM_PASSWORD=$(exc secret reveal --path stream/events-prod/admin)

4. Create a topic

exc stream topic create \
  --id <cluster_id> \
  --name orders \
  --partitions 12

5. Produce and consume

With the Kafka console tools and the client.properties from step 2:

kafka-console-producer.sh \
  --bootstrap-server events-prod.stream.excloud.co.in:9092 \
  --producer.config client.properties \
  --topic orders

kafka-console-consumer.sh \
  --bootstrap-server events-prod.stream.excloud.co.in:9092 \
  --consumer.config client.properties \
  --topic orders --from-beginning

6. Tear down

exc stream terminate --id <cluster_id> --wait

Terminate is irreversible and the stored data is lost. Make sure you’ve consumed or copied anything you need first.

Next

  • Clusters — full cluster lifecycle reference.
  • Topics — partitions, retention, cleanup policy.
  • Users & ACLs — least-privilege credentials for your apps.