drone-helm3
                                
                                 drone-helm3 copied to clipboard
                                
                                    drone-helm3 copied to clipboard
                            
                            
                            
                        Helm3 plugin for Drone CI
drone-helm3
Drone plugin for Helm3.
Helm Version: 3.11.1
Kubectl Version: 1.25.8
Drone settings
Example:
- name: deploy app
  image: ghcr.io/bitsbeats/drone-helm3:latest
  settings:
    kube_api_server: kube.example.com
    kube_token: { from_secret: kube_token }
    chart: ./path-to/chart
    release: release-name
    namespace: namespace-name
    timeout: 20m
    helm_repos:
      - bitnami=https://charts.bitnami.com/bitnami
    envsubst: true
    values:
      - app.environment=awesome
      - app.tag=${DRONE_TAG/v/}
      - app.commit=${DRONE_COMMIT_SHA}
Note: If you enable envsubst make sure to surrount your variables like
${variable}, $variable will not work.
An always up2date version of the availible config options can be viewed on the
source on the Config struct here.
Monitoring
Its possible to monitor your builds and rollbacks using prometheus and
prometheus-pushgateway. To enable specify the pushgateway_url setting.
Example alertrule:
          - alert: Helm3RolloutFailed
            expr: |
              drone_helm3_build_status{status!="success"}
            labels:
              severity: critical
            annotations:
              summary: >-
                Helm3 was unable to deploy {{ $labels.repo }} as
                {{ $labels.release }} into namespace {{ $labels.namespace }}
              action: >-
                Validate the `deploy` step of the last drone ci run for this
                repository. Either the build has *failed entirely* or the
                `helm test` did fail. For more information on tests see
                https://github.com/bitsbeats/drone-helm3/#monitoring
Helm Tests
Helm tests are special Pods that have the "helm.sh/hook": test annotation set.
If the command in the docker container returns an exitcode > 0 the drone step
will be marked as failed. See the Helm documentation.
In addition you can set the test_rollback setting to run helm rollback if
the tests fail.
post_kustomization
The post_kustomization allows to modify helm charts with customize.
See here for the official documentation. The resources field is
set via the plugin.
Example:
post_kustomization: |
  patches:
    - patch: |
        - op: remove
          path: /spec/template/spec/securityContext
        - op: remove
          path: /spec/template/spec/containers/0/securityContext
      target:
        kind: StatefulSet
        labelSelector:
          app.kubernetes.io/name=opensearch