Deploy Redpanda with the redpanda template
Deploy Redpanda with the redpanda template
Stand up Redpanda, an open-source Kafka-API streaming broker, on a single Quake AI instance using the validated OpenTofu template redpanda. You apply the template, create a topic, produce and consume a test message, and open Redpanda Console when it is enabled.
Redpanda is the streaming-ingestion layer in a data pipeline. You run it yourself; this is a self-hosted broker you operate, not a hosted streaming service.
Monthly cost estimate
Pricing calculator ↗Sized as a custom package on shared vCPU.
Monthly total for the required template above. Use the configurator below to add optional pieces and see the total update.
What each resource is for
Redpanda broker
s1a.small · 2 shared vCPU, 2 GiB RAM, 0.5 Gbps
Runs Redpanda in Docker with Kafka-API streaming and optional Redpanda Console.
Single-node profile on 2 vCPU and 2 GiB RAM for light ingestion; size up for higher throughput or longer log retention.
Compute shown per role at custom-package rates ($29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM). The headline above is the billed total: the cheaper of a named plan and the custom package, plus add-ons.
Included in baseline
s1a.small
2 shared vCPU, 2 GiB RAM, 0.5 Gbps
Compute + RAM rate basis
2 vCPU + 2 GiB RAM at $29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM (regular). Totals apply the flat −$5/mo package promotion.
Block storage (80 GiB)
80 GiB at $0.08/GiB/mo
Public IP (included)
1 included with the custom package
Package promotional discount
Flat −$5.00/mo on the custom package (same promotion as named plans).
Included at no charge
These line items are zero on Quake AI. Many other providers meter them separately.
Data transfer (inbound and outbound)
Unlimited data transfer on every plan; Quake AI does not meter per-GB egress.
AWS, GCP, and Azure meter outbound transfer per GB. DigitalOcean and Hetzner include an allowance on compute plans, then charge overage.
Learn morePrivate networking
Private networks, subnets, Neutron routers, and security groups are included with the plan.
VPC objects are usually free to create elsewhere, but NAT gateways bill hourly plus per-GB processed. Quake AI uses router SNAT with no separate NAT line item.
Control-plane API requests
OpenStack API calls for provisioning and management are included.
Some managed services on other clouds meter API calls or charge for premium control-plane features.
Pricing data last validated: . For current rates, check quake.ai/pricing.
Prerequisites#
You need:
- OpenTofu 1.6.0 or later (or Terraform 1.6.0 or later) installed locally.
- Your OpenStack credentials sourced into the shell (
source openrc.sh). See the OpenStack CLI guide. - An SSH keypair that already exists in your project. Record its name for the
key_namevariable. - A copy of the
redpandatemplate directory from the template reference page.
Step 1: Set the variables and apply the template#
Copy the template's example variables file and open it:
cp terraform.tfvars.example terraform.tfvarsSet key_name to the SSH keypair already in your project. Leave client_allowed_cidr at its default if you will run the smoke test over SSH; set it to YOUR_IP/32 only when you need direct Kafka access from your workstation.
Initialize the working directory, preview the plan, and apply:
tofu init
tofu plan
tofu applyOpenTofu provisions a private network, a router, a security group, a block volume mounted at /var/lib/redpanda/data, an instance, and a floating IP. On first boot, cloud-init formats and mounts the data volume, installs Docker Engine, and starts Redpanda from a compose file.
When the apply finishes, read the outputs:
tofu outputRecord floating_ip, kafka_bootstrap, and console_url (when Console is enabled).
Step 2: Create a topic and run a smoke test#
cloud-init takes a minute or two after the instance reaches ACTIVE. SSH to the host and confirm the containers are running:
ssh ubuntu@YOUR_FLOATING_IP "sudo docker ps --filter name=redpanda"Create a topic, produce one message, and consume it with rpk inside the broker container:
ssh ubuntu@YOUR_FLOATING_IP <<'EOF'
cd /opt/redpanda
sudo docker compose exec redpanda rpk topic create smoke-test
echo 'hello-redpanda' | sudo docker compose exec -T redpanda rpk topic produce smoke-test -k smoke-key
sudo docker compose exec redpanda rpk topic consume smoke-test -n 1
EOFThe consume command prints the record your producer sent. External clients use the same topic name against kafka_bootstrap from the template outputs once you open client_allowed_cidr to their source addresses or place the broker behind your private network.
Step 3: Open Redpanda Console (optional)#
When enable_console is true (the default), open console_url in your browser. Console lists brokers, topics, and consumer groups. If the page does not load from your workstation, tunnel port 8080 over SSH:
ssh -L 8080:localhost:8080 ubuntu@YOUR_FLOATING_IPThen open http://localhost:8080. Confirm the smoke-test topic appears in the Topics view.
What you built#
- Applied the
redpandatemplate to provision a network, security group, data volume, instance, and floating IP, and let cloud-init install Docker and start Redpanda - Created a topic and ran a produce/consume smoke test with
rpkinside the broker container - Browsed the cluster in Redpanda Console when Console is enabled
Scope of this deployment#
This template runs a single-node Redpanda broker on one VM, not a multi-broker Kafka cluster. The instance is CPU-only and runs in one region. You operate the broker, Docker, and the data volume yourself: back them up, patch them, and watch disk use as retention grows. For production throughput or fault tolerance, size the instance up, add TLS and SASL, and plan a multi-broker layout outside this single-VM template.
Next steps#
- Redpanda template: the template reference, parameters, and resource map
- Airflow template: orchestrate jobs that read from and write to your topics
- Airbyte template: sync database changelogs into Kafka-compatible topics
- Security hardening checklist: tighten SSH access and listener exposure before you serve real traffic
Clean up#
When you no longer need the deployment, destroy everything the template created:
tofu destroyBecause topic logs live on the attached volume, tofu destroy removes retained messages along with the infrastructure. Export any topics you want to keep before you destroy.
See Also
Instances
Prerequisite
Migrate a Docker container app from AWS to Quake AI
Shares: Docker, Containers
Deploy Airbyte with the airbyte template
Shares: Docker, Containers
Deploy Airflow with the airflow template
Shares: Docker, Containers
Deploy Umami with the analytics-umami template
Shares: Docker, Containers