<Home>
← All templates
database / DEPLOYMENT PRESET

Apache Kafka

Single-node Kafka broker in KRaft mode with persistent storage, reachable only inside the project environment.

Before you start

  • Internal only. Clients in the same application use main:9092; clients in other applications must join a shared virtual network segment with the Kafka application and connect to the advertised address main.<application namespace>.svc.cluster.local:9092 (copy it from the network inspector). Hakopod forbids public TCP, so Kafka is not reachable from outside the cluster.
  • No authentication: PLAINTEXT listener, no SASL and no TLS. This is acceptable only because the service is cluster-internal.
  • Persistent storage; one broker, so replication factors are 1 and there is no fault tolerance
  • Memory depends on the Kafka heap option (default 1 GiB, up to 4 GiB). The compute profile limits the container to 4916 MiB and requests 2458 MiB, which covers the 4 GiB heap plus JVM overhead; the node must have that much free memory. Choose 512 MiB or 1 GiB on small hosts only if the node can still schedule the 2458 MiB request. No Kafka UI is bundled, because it would need a public route and has no authentication by default

Configuration that needs your attention

KRaft combined broker and controller; the cluster ID is a fixed, non-secret constant documented in the README.

The broker advertises main.<its own namespace>.svc.cluster.local:9092, read from the pod's DNS search domain at start, so clients in any application on a shared network reach it. Outside Kubernetes it falls back to main. SASL and TLS are not configured.

Use this preset

  1. Open the Catalog in your own Hakopod dashboard and select Apache Kafka.
  2. Choose the project, environment, and application name. Set the required values and secret references.
  3. Review the generated configuration, resource requests, networking, and storage plan.
  4. Deploy, then inspect readiness and logs. Configure backups for persistent data before relying on the service.

Read the upstream setup documentation ↗

View native TOML and setup notes ↗

Pinned container image

docker.io/apache/kafka:4.4.0@sha256:833b867a9585a141da455dc2b57431c65cbccb27f11c91f694444cca9f777e0f

The catalog pins this image for reproducibility. Review upstream updates and compatibility before changing it.