29ee0c53ab
Run the help step by default |
||
---|---|---|
.github | ||
assets | ||
cmd/drone-helm | ||
docs | ||
internal | ||
.drone.yml | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
README.md |
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 thesettings
block, notenvironment
.- Several settings no longer have any effect:
purge
-- this is the default behavior in Helm 3recreate_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.