Skip to content

Local Dev Clusters

helm-me works seamlessly with local Kubernetes clusters like kind, minikube, and k3d.

Image Loading

Local clusters can't pull from remote registries by default. Use image load to push images directly:

# Build your image locally
docker build -t my-backend:latest ./backend

# Load it into the cluster
helm-me image load my-backend:latest

This works with:

  • kind — uses kind load docker-image
  • minikube — uses minikube image load
  • k3d — uses k3d image import

Pull Policy

Set pull_policy: Never for local images:

components:
  backend:
    image: my-backend:latest
    pull_policy: Never
    port: 8000

Or in Python:

from helm_me import PullPolicy

backend = web(
    image=image("my-backend:latest", pull_policy=PullPolicy.NEVER),
    port=8000,
)

Full Local Workflow

# Build
docker build -t my-app:dev .

# Load into kind
helm-me image load my-app:dev --context kind-my-cluster

# Deploy
helm-me deploy deploy.yaml --yes

# Debug
helm-me ops logs backend -f
helm-me ops shell backend