Declaratively deploy your Kubernetes manifests, Kustomize configs, and Charts as Helm releases in one shot
Go to file
Nathan Vecchiarelli 373e750642 added support for environment variables, adding value files during runtime and a global kube-context flag to pass down to helm 2017-04-11 19:55:23 -04:00
helmexec added support for environment variables, adding value files during runtime and a global kube-context flag to pass down to helm 2017-04-11 19:55:23 -04:00
state added support for environment variables, adding value files during runtime and a global kube-context flag to pass down to helm 2017-04-11 19:55:23 -04:00
vendor vendor: add deps 2016-11-22 12:37:41 -05:00
Dockerfile container: add helm 2016-11-22 21:40:24 -05:00
Makefile build: add container distribution 2016-11-22 21:30:25 -05:00
README.md build: add container distribution 2016-11-22 21:30:25 -05:00
circle.yml build: add docker login 2016-11-22 21:40:50 -05:00
main.go added support for environment variables, adding value files during runtime and a global kube-context flag to pass down to helm 2017-04-11 19:55:23 -04:00

README.md

helmfile CircleCI

Deploy Kubernetes Helm Charts

Docker Repository on Quay

about

Helmfile is a declarative spec for deploying helm charts. It lets you...

  • Keep a directory of chart value files and maintain changes in version control.
  • Apply CI/CD to configuration changes.
  • Periodically sync to avoid skew in environments.

To avoid upgrades for each iteration of helm, the helmfile executable delegates to helm - as a result, helm must be installed.

The default helmfile is charts.yaml:

repositories:
  - name: roboll
    url: http://roboll.io/charts

charts:
  - name: vault                          # helm deployment name
    namespace: vault                     # target namespace
    chart: roboll/vault-secret-manager   # chart reference
    values: [ vault.yaml ]               # value files (--values)
    set:                                 # values (--set)
      - name: address
        value: https://vault.example.com

install

go get github.com/roboll/helmfile or releases or container

usage

NAME:
   helmfile

USAGE:
   helmfile [global options] command [command options] [arguments...]

VERSION:
   0.0.0

COMMANDS:
     repos    sync repositories from state file (helm repo add && help repo update)
     charts   sync charts from state file (helm repo upgrade --install)
     sync     sync all resources from state file (repos && charts)
     delete   delete charts from state file (helm delete)
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --file FILE, -f FILE  load config from FILE (default: "charts.yaml")
   --quiet, -q           silence output
   --help, -h            show help
   --version, -v         print the version