woodpecker-helm3/docs/parameter_reference.md
Erin Call ab7abb699a
Remove support for the prefix setting [#48]
The setting isn't necessary with modern versions of Drone, and it
creates a lot of edge-cases. The use-case doesn't justify the added
complexity.
2019-12-31 09:28:42 -08:00

5.9 KiB

Parameter reference

Global

Param name Type Purpose
helm_command string Indicates the operation to perform. Recommended, but not required. Valid options are upgrade, uninstall, lint, and help.
update_dependencies boolean Calls helm dependency update before running the main command.
helm_repos list<string> Calls helm repo add $repo before running the main command. Each string should be formatted as repo_name=https://repo.url/.
namespace string Kubernetes namespace to use for this operation.
debug boolean Generate debug output within drone-helm3 and pass --debug to all helm commands. Use with care, since the debug output may include secrets.

Linting

Linting is only triggered when the helm_command setting is "lint".

Param name Type Required Purpose
chart string yes The chart to be linted. Must be a local path.
values list<string> Chart values to use as the --set argument to helm lint.
string_values list<string> Chart values to use as the --set-string argument to helm lint.
values_files list<string> Values to use as --values arguments to helm lint.

Installation

Installations are triggered when the helm_command setting is "upgrade." They can also be triggered when the build was triggered by a push, tag, deployment, pull_request, promote, or rollback Drone event.

Param name Type Required Purpose
chart string yes The chart to use for this installation.
release string yes The release name for helm to use.
api_server string yes API endpoint for the Kubernetes cluster.
kubernetes_token string yes Token for authenticating to Kubernetes.
service_account string Service account for authenticating to Kubernetes. Default is helm.
kubernetes_certificate string Base64 encoded TLS certificate used by the Kubernetes cluster's certificate authority.
chart_version string Specific chart version to install.
dry_run boolean Pass --dry-run to helm upgrade.
wait boolean Wait until kubernetes resources are in a ready state before marking the installation successful.
timeout duration Timeout for any individual Kubernetes operation. The installation's full runtime may exceed this duration.
force boolean Pass --force to helm upgrade.
values list<string> Chart values to use as the --set argument to helm upgrade.
string_values list<string> Chart values to use as the --set-string argument to helm upgrade.
values_files list<string> Values to use as --values arguments to helm upgrade.
reuse_values boolean Reuse the values from a previous release.
skip_tls_verify boolean Connect to the Kubernetes cluster without checking for a valid TLS certificate. Not recommended in production.

Uninstallation

Uninstallations are triggered when the helm_command setting is "uninstall" or "delete." They can also be triggered when the build was triggered by a delete Drone event.

Param name Type Required Purpose
release string yes The release name for helm to use.
api_server string yes API endpoint for the Kubernetes cluster.
kubernetes_token string yes Token for authenticating to Kubernetes.
service_account string Service account for authenticating to Kubernetes. Default is helm.
kubernetes_certificate string Base64 encoded TLS certificate used by the Kubernetes cluster's certificate authority.
dry_run boolean Pass --dry-run to helm uninstall.
timeout duration Timeout for any individual Kubernetes operation. The uninstallation's full runtime may exceed this duration.
skip_tls_verify boolean Connect to the Kubernetes cluster without checking for a valid TLS certificate. Not recommended in production.
chart string Required when the global update_dependencies parameter is true. No effect otherwise.

Where to put settings

Any setting can go in either the settings or environment section.

Formatting non-string values

  • Booleans can be yaml's true and false literals or the strings "true" and "false".
  • Durations are strings formatted with the syntax accepted by golang's ParseDuration function (e.g. 5m30s)
    • For backward-compatibility with drone-helm, a duration can also be an integer, in which case it will be interpreted to mean seconds.
  • List<string>s can be a yaml sequence or a comma-separated string.

All of the following are equivalent:

values: "foo=1,bar=2"
values: ["foo=1", "bar=2"]
values:
  - foo=1
  - bar=2

Note that list members must not contain commas. Both of the following are equivalent:

values_files: [ "./over_9,000.yml" ]
values_files: [ "./over_9", "000.yml" ]