Kafka: 4. Create the service

This documentation is part of the Automate with the CLI guide. View the full guide here: Start Kafka, retrieve its credentials, and change its configuration programmatically with the Stackhero CLI.

👋 Welcome to the Stackhero documentation!

Stackhero gives you a fully managed Kafka cloud environment, ready in minutes. Here is what you can expect:

  • No limits on message size or transfer: scale your data without worrying about caps.
  • Simple, one-click updates keep your platform current without downtime or manual work.
  • Consistent high performance and robust security on your own private, dedicated infrastructure.

If you want to move faster and reduce operational overhead, Stackhero provides Kafka cloud hosting to help you. You can have a production-ready cluster in about 5 minutes.

Here is a sample script that creates a stack, adds your Kafka service to it, waits for it to start, retrieves its configuration (including generated credentials), and then applies a new configuration.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="kafka"   # The Kafka service store name (see step 2)
instance="..."                # An instance size from step 3
region="europe"               # A region name from step 3

# Create a stack for your service (uses your default organization; add --organization if needed)
stackId=$(stackhero --format=script stack-create \
  --name="My Kafka stack")
echo "Stack created: ${stackId}"

# Add Kafka to the stack (names are resolved automatically)
serviceId=$(stackhero --format=script service-add \
  --stack="My Kafka stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service added: kafka"

# Wait for the service to be fully running (this may take a couple of minutes)
stackhero service-wait-for --service="kafka"

# Retrieve the service configuration, including generated credentials
stackhero service-configuration-get --service="kafka" --format=json