The Kubernetes Package Manager
Go to file
Matt Butcher 578ba71b10 Merge pull request #939 from technosophos/feat/937-helm-get-hooks
feat(helm): add 'helm get hooks'.
2016-07-07 15:18:30 -06:00
_proto feat(*): add version to release 2016-07-06 17:01:34 -06:00
cmd feat(helm): add 'helm get hooks'. 2016-07-07 13:51:19 -06:00
docs Merge pull request #916 from technosophos/feat/901-hooks 2016-07-06 16:45:21 -06:00
pkg fix(engine): change template naming 2016-07-07 11:39:47 -06:00
rootfs feat(Makefile): add a placeholder Dockerfile 2016-04-13 14:42:20 -07:00
scripts fix(ci): ensure godir is installed for coverage 2016-07-07 09:39:41 -07:00
.gitignore fix(gitignore): die, DS_Store, die. 2016-06-08 13:14:42 -06:00
CONTRIBUTING.md fix(CONTRIBUTING): add guidelines for security issues 2016-06-23 15:44:38 -06:00
LICENSE fix(LICENSE): add copyright year and authors 2016-06-22 10:24:25 -06:00
Makefile Avoid use of -f for docker tag 2016-06-24 12:23:10 -07:00
README.md docs(ci): add cicleci badge to readme 2016-07-06 10:38:34 -07:00
circle.yml fix(ci): move docker-build out of parallel step 2016-07-06 13:36:17 -07:00
code_of_conduct.md feat(code of conduct): add code of conduct 2016-06-23 15:37:49 -06:00
glide.lock chore(deps): pin kubernetes to an official release (v1.3.0) 2016-07-05 17:34:49 -07:00
glide.yaml chore(deps): pin kubernetes to an official release (v1.3.0) 2016-07-05 17:34:49 -07:00
versioning.mk chore(*): use k8s.io as the import path 2016-06-06 17:17:04 -07:00

README.md

Kubernetes Helm

CircleCI

Helm is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.

Features:

  • Helm now has both a client (helm) and a server (tiller). The server runs inside of Kubernetes, and manages your resources.
  • Helm's chart format has changed for the better:
    • Dependencies are immutable and stored inside of a chart's charts/ directory.
    • Charts are strongly versioned using SemVer 2
    • Charts can be loaded from directories or from chart archive files
    • Helm supports Go templates without requiring you to run generate or template commands.
    • Helm makes it easy to configure your releases -- and share the configuration with the rest of your team.
  • Helm chart repositories now use plain HTTP instead of Git/GitHub. There is no longer any GitHub dependency.
    • A chart server is a simple HTTP server
    • Charts are referenced by version
    • The helm serve command will run a local chart server, though you can easily use object storage (S3, GCS) or a regular web server.
    • And you can still load charts from a local directory.
  • The Helm workspace is gone. You can now work anywhere on your filesystem that you want to work.

Install

Helm is in its early stages of development. At this time there are no releases.

To install Helm from source, follow this process:

Make sure you have the prerequisites:

  • Go 1.6
  • A running Kubernetes cluster
  • kubectl properly configured to talk to your cluster
  • Glide 0.10 or greater with both git and mercurial installed.
  1. Properly set your $GOPATH
  2. Clone (or otherwise download) this repository into $GOPATH/src/k8s.io/helm
  3. Run make bootstrap build

You will now have two binaries built:

  • bin/helm is the client
  • bin/tiller is the server

You can locally run Tiller, or you build a Docker image (make docker-build) and then deploy it (helm init -i IMAGE_NAME).

The documentation folder contains more information about the architecture and usage of Helm/Tiller.

The History of the Project

Kubernetes Helm is the merged result of Helm Classic and the Kubernetes port of GCS Deployment Manager. The project was jointly started by Google and Deis, though it is now part of the CNCF.