This limits the number of characters in a release name to 14. This
preserves 10 characters for customizing the `name:` field in charts.
Relates to #1071
This commit adds an Update function to the client.
The Update function takes in the modified manifests and
the original manifests. It then iterates through the modified
objects, creates objects not found in kubernetes, and updates
objects that exists but have been modified. Finally, it
iterates through the original resources and checks to see if
they have been deleted in the modified configuration and then
proceeds to delete them. #690
This removes partials and empty manifests during the sortHooks
operation. Doing so makes sortHooks the defacto place for sorting
manifests, hooks, and partials.
Closes#991
This stops a repeat deletion from sending requests all the way to
Kubernetes, and gives a clear error message when a deletion is requested
on an already deleted resource.
Relates to #972
This makes the template system less tolerant in the name of detecting
YAML parse errors before things are sent to Kubernetes. It returns a
more detailed error message when a template creates a manifest which is
not valid YAML.
Closes#957
This includes a substantial bit of unit test improvements. Also, in
order to allow us to tests command line args (which translate to
helm.Option objects), I had to add a new interface to pkg/helm.
Template paths were relative to the chart that contained them, which
meant that all templates were named 'template/SOMETHING'. This made it
trivially easy to hit namespace collisions as in #933.
Template path names are essentially opaque strings so this patch simply
changes them to be qualified by parent chart.
When a release failed, the release record was not saved. That led to the
case where Kubernetes resources were deployed, but the release that
deployed them was not tracked.
To fix, we now save the release on failure. The 'helm delete' operation
can delete failed resources.
Closes#851
This is a minor fix to the Tiller internals to allow an alternate
template engine. This will still require future work to make it possible
to bootstrap in a different template renderer.