Core Concepts
Understanding the architectural model of Planbok K8s.
Tenants & Namespaces
The fundamental unit of isolation is the Tenant, which maps 1:1 to a Kubernetes Namespace.
- Hard Scope: Your Kubeconfig is strictly scoped to your namespace (
tenant-{id}). You cannot list, view, or modify resources outside of it. - Network Policy: A default `Deny-All` policy prevents your pods from communicating with other tenants' pods.
Virtual Nodes
Instead of managing raw servers, you purchase Virtual Nodes. These are abstract units of capacity (e.g., 2 vCPU, 4GB RAM) that determine your resource quota.
Buying more nodes -> Increases ResourceQuota -> Allows more Pods to be scheduled.Secrets & Vault
We adhere to a strict Zero Trust model for secrets.
- We do not store secrets in environment variables in our database.
- We integrate with HashiCorp Vault.
- You can use the
ExternalSecretCRD to inject secrets securely at runtime.
Ingress & Domains
We use Traefik as the ingress controller. Every tenant gets a wildcard subdomain *.{tenant}.k8s.planbok.io automatically.