Skip to content

feat(local-dev): add auto-detection for K3s/Minikube and fix storage …#7024

Open
Parthtiw710 wants to merge 1 commit into
pipe-cd:masterfrom
Parthtiw710:feature/k3s-minikube-local-support
Open

feat(local-dev): add auto-detection for K3s/Minikube and fix storage …#7024
Parthtiw710 wants to merge 1 commit into
pipe-cd:masterfrom
Parthtiw710:feature/k3s-minikube-local-support

Conversation

@Parthtiw710

Copy link
Copy Markdown

What this PR does / why we need it:

This PR simplifies the local development setup of PipeCD. Instead of having to configure extra registries or manually troubleshoot permission blocks on different Kubernetes providers, developers can now deploy to Kind, K3s, K3d, or Minikube with just one direct command:

make run/pipecd

Specifically:

  1. Dynamic Cluster Detection in Makefile: Automatically detects the active Kubernetes cluster context/kubelet version and sideloads the Docker image into the local cluster's container cache (k3s ctr or minikube image load) instead of pushing to a hardcoded local registry.
  2. Permission Denied volume fix: Injects initContainers for Redis, MySQL, and MinIO to change folder ownership when using host-mounted local storage volumes (localStorageVolumes).
  3. Build context optimization: Adds a .dockerignore file in the root to ignore local build artifacts and heavy web/node_modules, keeping local builds fast.
  4. Self-Healing Web dependencies: Automatically runs make update/web-deps on the first setup run of make run/pipecd if web/node_modules is missing.
  5. Documentation updates: Updates CONTRIBUTING.md and contributing.md to guide new developers on running development builds on any local cluster setup.

Closes #7023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(local-dev): local development setup fails on all non-Kind Kubernetes clusters (K3s, Minikube, K3d)

1 participant