Plugin for woodpecker to deploy helm charts using helm3
Find a file
2019-12-26 13:02:02 -08:00
.github Encourage good issues with issue templates [#12] 2019-12-25 12:03:36 -08:00
assets Merge branch 'master' into kubeconfig-tests 2019-12-26 11:55:32 -08:00
cmd/drone-helm Log debug output in helm.Config [#9] 2019-12-24 11:08:09 -08:00
docs Merge branch 'master' into github-metafiles 2019-12-26 13:02:02 -08:00
internal Merge branch 'master' into testplan 2019-12-26 12:58:46 -08:00
.drone.yml Give contributors some maybe-adequate information [#12] 2019-12-25 16:08:29 -08:00
.gitignore Make it so 2019-11-21 11:35:50 -08:00
CODE_OF_CONDUCT.md Use the Contributor Covenant code of conduct [#12] 2019-12-25 11:47:41 -08:00
Dockerfile Use a clearer filepath for the kubeconfig template [#13] 2019-12-24 16:16:22 -08:00
go.mod Test yaml validity without a new dependency [#15] 2019-12-26 12:53:36 -08:00
go.sum Don't check the generated config's yaml syntax [#13] 2019-12-26 12:39:02 -08:00
README.md Note a backwards-incompatibility in the README [#8] 2019-12-24 15:25:44 -08:00

Drone plugin for Helm 3

This plugin provides an interface between Drone and Helm 3:

  • Lint your charts
  • Deploy your service
  • Delete your service

The plugin is inpsired by drone-helm, which fills the same role for Helm 2. It provides a comparable feature-set and the configuration settings are backwards-compatible.

Example configuration

The examples below give a minimal and sufficient configuration for each use-case. For a full description of each command's settings, see docs/parameter_reference.md.

Linting

steps:
  - name: lint
    image: pelotech/drone-helm3
    settings:
      helm_command: lint
      chart: ./

Installation

steps:
  - name: deploy
    image: pelotech/drone-helm3
    settings:
      helm_command: upgrade
      chart: ./
      release: my-project
    environment:
      API_SERVER: https://my.kubernetes.installation/clusters/a-1234
      KUBERNETES_TOKEN:
        from_secret: kubernetes_token

Uninstallation

steps:
  - name: uninstall
    image: pelotech/drone-helm3
    settings:
      helm_command: uninstall
      release: my-project
    environment:
      API_SERVER: https://my.kubernetes.installation/clusters/a-1234
      KUBERNETES_TOKEN:
        from_secret: kubernetes_token

Upgrading from drone-helm

drone-helm3 is largely backwards-compatible with drone-helm. There are some known differences:

  • prefix must be supplied via the settings block, not environment.
  • Several settings no longer have any effect:
    • purge -- this is the default behavior in Helm 3
    • recreate_pods
    • tiller_ns
    • upgrade
    • canary_image
    • client_only
    • stable_repo_url

Since helm 3 does not require Tiller, we also recommend switching to a service account with less-expansive permissions.