This plugin provides an interface to Helm 3.

Example

kind: pipeline
name: default

steps:
- name: deploy_production
  image: pelotech/drone-helm3
  settings:
    helm_command: upgrade
    chart: ./
    release: my-project
    api_server:
      from_secret: prod_api_server
    kubernetes_token:
      from_secret: prod_kubernetes_token

Properties

  • mode

    stringoptional

    Helm command to run; valid options are upgrade, lint, and uninstall. If not provided, can be inferred from the Drone event.

    Default: none

  • update_dependencies

    booleanoptional

    Run helm dependency update before running the main helm command.

    Default: false

  • add_repos

    arrayoptional

    Run helm repo add before running the main helm command.

    Default: boolean

  • repo_certificate

    stringoptional

    Base64 encoded TLS certificate for a chart repository.

    Secret recommended

    Default: none

  • repo_ca_certificate

    stringoptional

    Base64 encoded TLS certificate for a chart repository certificate authority.

    Secret recommended

    Default: none

  • namespace

    stringoptional

    Kubernetes namespace for the un/installation.

    Default: none

  • debug

    booleanoptional

    Produce debug output from the plugin and helm itself. Note that this option may expose secrets in the log output.

    Default: false

  • chart

    stringoptional

    Helm chart to install or lint.

    Default: none

  • release

    stringoptional

    Release name to un/install.

    Default: none

  • values

    stringoptional

    Arguments for helm's --set flag.

    Default: none

  • string_values

    stringoptional

    Arguments for helm's --set-string flag.

    Default: none

  • values_files

    stringoptional

    Arguments for helm's --values flag.

    Default: none

  • kube_api_server

    stringoptional

    Kubernetes api server.

    Default: none

  • kube_token

    stringoptional

    Kubernetes api token.

    Secret recommended

    Default: none

  • kube_service_account

    stringoptional

    Account name for connecting to the kubernetes api.

    Default: none

  • kube_certificate

    stringoptional

    Base64-encoded TLS certificate, for clusters using a self-signed CA certificate.

    Secret recommended

    Default: none

  • chart_version

    stringoptional

    Version of the chart to install.

    Default: none

  • dry_run

    booleanoptional

    Prepare the un/installation, but do not perform it.

    Default: false

  • wait_for_upgrade

    booleanoptional

    Wait until kubernetes resources are in a ready state before marking the installation successful.

    Default: false

  • timeout

    stringoptional

    Timeout for any individual kubernetes operation, formatted as a Golang duration (e.g. "3m20s").

    Default: none

  • force_upgrade

    booleanoptional

    Pass --force to helm upgrade.

    Default: false

  • reuse_values

    booleanoptional

    Reuse the values from a previous release.

    Default: false

  • keep_history

    booleanoptional

    Pass --keep-history to helm uninstall.

    Default: false

  • lint_strictly

    booleanoptional

    Pass --strict to helm lint.

    Default: false

  • atomic_upgrade

    booleanoptional

    Pass --atomic to helm upgrade.

    Default: false

  • cleanup_failed_upgrade

    booleanoptional

    Pass --cleanup-on-fail to helm upgrade.

    Default: false

  • skip_tls_verify

    booleanoptional

    Do not check for a valid certificate when connecting to the kubernetes api.

    Default: false