Skip to content

How it works

Ownkube is a control plane that provisions and manages Kubernetes infrastructure inside your own AWS account. Your code, containers, databases, and traffic never leave your VPC.

The Ownkube control plane sends configuration intent to your AWS account, where your VPC, Kubernetes cluster, apps, and databases run.The Ownkube control plane sends configuration intent to your AWS account, where your VPC, Kubernetes cluster, apps, and databases run.

The control plane only ever receives configuration intent: “deploy this image, with these env vars, at this scale”. The actual rollout happens through a role Ownkube assumes in your AWS account. Application data, logs, and runtime state stay inside your VPC.

ComponentWhere it runsWho owns it
Your applicationsYour AWS account, inside your VPCYou
Your databasesYour AWS account, inside your VPCYou
Functions (beta)Your AWS account, tied to an account + region, not a clusterYou
Container imagesYour registry (Amazon ECR, GitHub-built, or a public image)You
Secrets + env varsYour cluster’s Kubernetes secret storeYou, encrypted at rest
Cluster configurationOwnkube control planeOwnkube (intent only, no app data)
User accounts + billingOwnkube control planeOwnkube
  1. Connect your cloud

    Connect your AWS account in the AWS onboarding flow. A CloudFormation stack creates a least-privilege IAM role in your account that Ownkube assumes via a unique external ID. No root credentials, no access keys.

    See Connect your AWS account for the full walkthrough.

  2. Provision infrastructure

    Create a cluster from your dashboard. Ownkube provisions standard AWS resources inside your VPC: VPC, subnets, EKS control plane (Production), or EC2 + K3s on one AWS instance (Starter), IAM, load balancers.

    See Clusters for the EKS vs K3s split.

  3. Deploy your workloads

    Push an image to a connected registry, pick a tag in the create-deployment flow from your dashboard, and Ownkube rolls it out. Rolling updates, health checks, and zero-downtime rollouts are handled for you.

    See Deployments.

You can run both in the same organization. Dev workloads on a free Starter cluster (you only pay AWS for the small EC2 instance), production on EKS.

You create a deployment in the dashboard, the control plane stores it and applies the configuration to your cluster, which pulls the image and reports healthy status back.You create a deployment in the dashboard, the control plane stores it and applies the configuration to your cluster, which pulls the image and reports healthy status back.

Every config change (new image tag, env var update, autoscaling change) triggers a rolling update. New containers start and pass health checks before old containers receive traffic or terminate.

Least-privilege IAM

The CloudFormation stack creates a single IAM role scoped to operations Ownkube actually performs: EKS, EC2, VPC, IAM role-passing, CloudFormation, S3, and a handful of read-only describe actions. No admin access, no access keys.

No data egress

Ownkube never receives application data, logs, request bodies, or database rows. The control plane only handles configuration and status. Every runtime byte stays in your VPC.

Encryption everywhere

Data is encrypted at rest (AWS KMS) and in transit (TLS). Secrets in env vars are stored in the cluster’s Kubernetes secret store, never in the Ownkube database in plaintext.

Vanilla infrastructure

Your cluster is standard Kubernetes. No proprietary APIs, no custom runtimes, no Ownkube-only abstractions baked in. If you ever want to manage a cluster outside the Ownkube dashboard, you can.

Disconnect anytime

If you remove Ownkube’s IAM role, your cluster keeps running. You own the VPC, the cluster, the nodes, and the data. Ownkube stops managing. It doesn’t take anything down.