If a 'command:' is not found for a plugin, it will not result in an
ExitError, but in a PathError. This prevents that condition from
panicing.
Closes#1609
Previously, there was no way to get provenance data unless you were
verifying it. This allows `fetch` to get the provenance data, but not
perform any verification. Adding this will allow external plugins
to perform verification against other sources, like Keybase.
Normalize URLs before comparing them. This deviates slightly from the
URL spec, but in order to accomodate the predominant use pattern for
Helm. Specifically, './', '../', and '/' are all "interpreted" to be
filepath-like.
Closes#1588
This adds a hidden 'helm doc' command that generates documentation out
of the Helm help text.
Currently it can create:
- man pages for HELM(1)
- Markdown documentation
- bash autocompletions
Those are the three built-ins for Cobra.
The command is hidden so that it doesn't show up to the regular user,
since this is really a specialized task. It has the advantage of making
it trivially easy to install man pages and bash completion at installation time.
This fixes the port forward connection using helm on windows by assigning explicitely 'localhost' to 'TillerHost' in 'setupConnection'. Otherwise, the connection between the helm client with the Tiller server deployed on Kubernetes will not work.
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
If gRPC fails to make a connection, the result is a log message and a
verbose error. This suppresses log output and replaces the error with a
much more succinct one.
Closes#1488
Two non-exported helper functions were added to the repo index test
file. They first try to link the file, since this is optimal. If the
link fails a copy occurs.
Fixes#1472
When 'helm serve' is run, this now generates an index.yaml file. Before,
that file was maintained externally, often manually.
Closes#793
Partially addresses #1404
This changes from --client-only and --server-only to --client and
--server. With this change, if no flags are specified, all info is
shown. If one flag is specified, only its info is shown.
This modifies 'helm version' to allow for local-only or server-only
versions to avoid cases where calling 'helm version' was resulting in
errors.
Closes#1440
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 switches the local chart repo to use 127.0.0.1 instead of localhost
so that the net library does not negotiate localhost to an IPv6 address,
which is known to cause issues in some Docker containers.
Breaking Change: When testing on a system that does NOT have IPv4
configured, this will break 'helm serve'. We estimate this will impact
none of the current user base.
Closes#1410
This adds a --dry-run flag to init, and causes the manifest file for
Tiller to be emitted on --debug. Together, this means you can do a
'helm init --dry-run --debug' and dump the Tiller manifest much as you
can with 'helm install --dry-run --debug'.
This does not require a server round-trip.
Closes#1417
This prevents the index command from recursing through directories.
Behind the scenes, it swaps out the repository logic for the index file
logic.
Closes#1328
Between Alpha.4 and Alpha.5 there was a change in the indexing logic.
This prevent indices from being appended to (because those index files
were often broken). This change allows the user to explicitly merge an
existing index and a generated index.
Closes#1334
- decouple tunnel from kube client
- add context switching for init cmd
- add unit tests for installer and init command
- refactor installer and remove unused code
An release that does not contain chart metadata cannot print its chart
name/version. This fixes a bug found in the wild where a release did not
(for reasons yet unknown) contain a chart.
Closes#1348
This causes 'helm dep [up|install]' to ignore files in charts/ that
start with either a dot or an underscore. It also changes the
chartloader to ignore those files.
Also, if a 'helm dep up' does not find a charts/ directory, it creates
one.
Closes#1342
When a deletion fails to remove a manifest file, the release should
still be marked as deleted. This changes the error handling to try to
delete all manifests, and then mark the release as deleted, then return
the errors.
Closes#1305
I wrote urlJoin to fix URL joining, but I put it in the wrong place and
never used it. This moves it to the right place, and replaces the hacky
previous solution.
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
The original dependency resolution did not correctly resolve version or
URL of a dependency. Version was tracked by filename, and URL was
assumed to be absolute. This fixes both of those.
Closes#1277
This causes search to index by name/version instead of just name, which
means you can get a list of versions of a chart. The '--versions' flag
enables this behavior.
Partially fixes#1199
This performs a relatively weak in-memory translation of index file
data. It does not, in most cases, write the corrected data to disk, and
it emits a warning directly to STDERR each time it loads a deprecated
index.
Known limitations:
- It cannot recover certain bogus records that earlier alpha releases
generated (notably, where all chartfile data is missing)
- In some cases, it has to parse a filename to get version info. This is
lossy.
- Because it takes three passes through the YAML and JSON unmarshal, it
is not performant.
This feature is transitional and should be removed during the Beta
cycle, prior to the release of 2.0.0.
Closes#1265
When `helm install -f foo.yaml bar` is called, and then the release is
upgraded with `helm upgrade happy-panda bar`, this will now re-use the
values that were submitted with `-f foo.yaml`. The same is true for
values specified with `--set`.
Closes#1227
There was a bug in the repo tests that caused them to overwrite the
repositories.yaml file in that directory. Now, the entire tests (server
and client-side) run inside of a temp directory.
This implements a new index file format for repository indices. It also
implements a new format for requirements.yaml.
Breaking change: This will break all previous versions of Helm, and will
impact helm search, repo, serve, and fetch functions.
Closes#1197