Kafka: 4. Create the service

This documentation is part of the Automate with the CLI guide. You can view the complete guide here: Start Kafka, retrieve its credentials, and modify its configuration programmatically using the Stackhero CLI.

👋 Welcome to the Stackhero documentation!

Stackhero makes it easy to set up a fully managed Kafka cloud solution. Here’s what you can expect:

  • Unlimited message size and transfers to support your data growth.
  • Effortless updates – apply the latest improvements with a single click.
  • High-level performance and enhanced security, all powered by your own private, dedicated VM.

If you want to save time and streamline your processes, try Stackhero’s Kafka cloud hosting. You can get started in around 5 minutes!

Below is an example 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 organisation; 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 operational (this may take a few minutes)
stackhero service-wait-for --service="kafka"

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