About this project

kubepatch is a Kubernetes deployment tool that applies JSON Patch (RFC 6902) operations to plain YAML manifests, enabling environment-specific configurations without templating or DSLs. It keeps base manifests clean and idiomatic, while externalizing all environment-specific changes into patch files. Key features include: JSON Patch only (no string manipulation), plain Kubernetes YAML manifests (no logic or annotations), cross-environment deploys (dev, staging, prod) by selecting patch sets, common labels injection (including deep paths like pod templates and selectors), and strict env-var substitution in patch files (prefix-based, fails on unexpanded placeholders). Usage is simple: `kubepatch patch -f base/ -p patches/dev.yaml | kubectl apply -f -`. Installation options include binaries, Debian/Alpine packages, and Docker images. The patch-file format groups JSON Patch operations by application and Kubernetes object (kind/name).