>0.0.0-a does not match pre-releases on 0.0.0 that start with a
capital letter or number. This has to do with the ordering of
code points. Numbers and capital letters come before lowercase
letters.
>0.0.0-0 should match all valid pre-releases on 0.0.0. According
to the spec, "Numeric identifiers MUST NOT include leading zeroes."
A 0 is also the lowest code point for all the allowed characters
in a pre-release
In this feature, we can use -f option with remote files, same as kubectl
accepts URLs. I add an option to send a 'get' request when read the local
file failed.
Closes#2642
We can use the command like
<pre>sed "s|foo|bar|g" values-template.yaml | helm install -f - stable/foo</pre>
This may be helpful in scripting.
Closes#2709
Use the current kube config namespace by default if --namespace is not specified.
This makes 'helm upgrade --install' and 'helm install' handle namespaces
the same way.
This flattens the getter package tree, adds tests, and changes a little
bit of the terminology to follow Go idioms. This also makes much of the
getter API private to begin with. This will give us more flexibility in
the future.
This upgrades a warning to an error in cases where `requirements.yaml`
contains a requirement, but it's missing in charts/
This impacts install, upgrade, and package.
Closes#2209
It is now possible to create plugins with chart download capabilities for custom, non-http protocols.
Furthermore it is possible to reuse helm packages to implement alternative clients with these custom downloader functions.
Fixes https://github.com/kubernetes/helm/issues/2240
`helm install` command was calling chartutil.Load twice,
once from `run` method and
another time from `client.InstallRelease` which is called from `run` method in `cmd/helm/install.go`
When downloader package moved to under /pkg, helmpath functions got called still from it, while it is under /cmd. This commit fixes the issue by moving helmpath after the downloader to have only cmd->pkg and pkg->pkg calls.
When 'helm install', 'helm package', and 'helm upgrade' are run,
Helm will not issue any warnings if any dependencies listed in
a chart's requirements.yaml file are missing. This change includes
warnings when a chart is found in requirements.yaml but isn't
in charts/.
Closes#1567
Installs, rollback, upgrade, and delete now accept a `--timeout` flag
that allows the user to specify the maximum number of seconds that
any kubernetes command can take.
Closes#1678
You can now specify the `-f` flag multiple times to include multiple
values files. The priority will be given to the last (right-most)
file specified.
Closes#1620
This replaces the old set parser with a brand new one. This also changes
the internal algorithm from duplicating YAML to merging YAML, which
might solve a problem one user reported in chat, but which was never
captured in an issue.
Closes#1540Closes#1556
Currently, --set simply appends data to the end of the existing values
YAML data. If a values file does not have a line feed at the end, the
set data is mis-appended. This fixes the issue by inserting a linefeed
between the --values data and --set data.
Closes#1430
This removes the requirement that a fetch or install command must
explicitly state the version number to install. Instead, this goes to
the strategy used by OS package managers: Install the latest until told
to do otherwise.
Closes#1198
This also refactors significant portions of the CLI, moving much of the
shared code into a library.
Also in this release, a testing repository server has been added.
Also fixed a bug where a `--dry-run` will result in an error because
of the recently added status support.
There are several other output inconsistencies that I noticed and filed
as issue #1135.
Closes#1130
This adds the --verify and --keyring flags to:
helm fetch
helm inspect
helm install
helm upgrade
Each of these commands can now make cryptographic verification a
prerequisite for using a chart.
Add support for specifying key/value pairs on the command line, instead
of only in a YAML file.
This currently accepts either command line pairs or a YAML file, but
does not support combining the two.
Closes#944
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.
A helm install command will try to load a chart from a local file first.
But if a local file is not found, it will try to fetch a file from a
matching repo request. The file will be downloaded to the client,
and then sent to Tiller for installation.
This refactors handling of the TILLER_HOME and HELM_HOME env vars so
that they can be set once and used everywhere. Individual commands no
longer need to handle setting.
This now uses the global verbose flag (instead of a local one) and
formats the output in roughly the same style that 'helm list' and
'helm repo *' use.
This commit finally ties `helm install` together with the Kubernetes
client library to make an end-to-end trip.
There were several small fixes to go on both client and server side,
along with some changes to proto to support better error reporting.
The alpine chart has been updated to exhibit how the new Helm works.
1. install command loads chart archive.
2. invokes helm api to transform the pkg/chart.Chart type
to it's proto model.
3. the client then establishes a connection to tiller.
4. sends InstallReleaseRequest, receives InstallReleaseResponse.
todo (for complete install):
- walk pkg/chart.{Values,Deps,Templates} types and populate proto
definitions for various apis/messages.