What is Kubes?

Kubes is a Kubernetes deployment tool. It automates the deployment process. Kubes will:

  1. Build the docker image and push it to repo
  2. Compile Kubernetes YAML files with the Docker build image
  3. Deploy via kubectl apply on the compiled Kubernetes YAML files


  • Automation: Builds the Docker image and updates the compiled YAML files
  • Syntactic Sugar: Use an ERB/YAML or a DSL to write your Kubernetes YAML files. You can use a mix of DSL and YAML definitions in the .kubes/resources folder.
  • Layering: Use the same Kubernetes YAML to build multiple environments like dev and prod with layering.
  • Secrets: Use helpers like aws_secret, aws_ssm, and google_secret to build Kubernetes secrets.yaml from secret providers designed for it.
  • Generators: Kubes ships with a few generators to help you get building with Kubernetes quickly. See: Generator Docs.
  • CLI Customizations: You can customize the cli args.
  • Hooks: You can also run hooks before and after kubes and kubectl commands.
  • Automated Suffix Hashes: Automatically appends a suffix hash to ConfigMap and Secret resources. More details in ConfigMap and Secret docs.
  • Kustomize Support: If you’re a kustomization user, you can use it with Kubes. More details in Kustomize Support Docs.
  • Auto Context Switching: Map dev to a specific kubectl context and prod to another kubectl context and Kubes can switch them automatically so you won’t have to remember. More details in Auto Context Docs.
  • Ordering: Kubes run kubectl apply to create resources in the correct order. For deleting, it kubes will run kubectl delete in the correct reverse order. The order is also customizable.