Skip to main content
This is the single checklist to run before installing the data plane on Kubernetes. Nothing on this page is Popsink-specific configuration — it is what the cluster, the network and your Popsink account have to provide first.

Cluster

Those are floor values for a working install, not a sizing exercise. Connector workers run as pods in the same namespace and are the part that grows with your workload — how many connectors, tables and subscriptions a single deployment holds is covered in Sizing and limits.
The chart can render an Ingress (ingress.enabled, off by default) but it never installs an ingress controller. You need your own, plus a DNS record pointing at it, before the data plane is reachable.

Storage

Retention can also run on PostgreSQL instead of S3. It is simpler to operate, but it does not scale the same way and it rules out the optional stream browser — there is no bucket to browse.

Network

The control plane never reaches into your cluster: every exchange is initiated outbound by the data plane. Control plane and data plane documents exactly which metadata crosses that boundary. Reaching a source database that is not on the cluster’s network is a separate problem, solved with a tunnel rather than a firewall rule — see Tunnels and private connectivity.

From Popsink

Two things must be in your hands before you start:

A registry token

A Google Artifact Registry service-account JSON. Every Popsink image is pulled from a private registry and the control plane holds no copy of this credential.

A control-plane account

On https://control-plane.popsink.com, or on your own control plane. It is what issues the deployment’s identity.

Not on Kubernetes?

Single VM

One machine, no Kubernetes knowledge required. 4 vCPU, 16 GB RAM, ~30 GB disk, plus an external database and S3 bucket.

Deployment options

SaaS, BYOC, on-premises and air-gapped compared.