All Projects → bitsbeats → drone-helm3

bitsbeats / drone-helm3

Licence: Apache-2.0 license
Helm3 plugin for Drone CI

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to drone-helm3

deploy-drone
Deploy Drone CI to enable continuous integration ⚡️ on your product
Stars: ✭ 88 (+340%)
Mutual labels:  drone, drone-ci
helm-clientgo-example
helm client-go example to add helm repo, fetch charts and install chart
Stars: ✭ 27 (+35%)
Mutual labels:  helm, helm3
drone-gcloud-helm
Drone 0.5 plugin to create and deploy Helm charts for Kubernetes in Google Cloud.
Stars: ✭ 13 (-35%)
Mutual labels:  drone, helm
github-action-helm3
Slim wrapper around helm3
Stars: ✭ 33 (+65%)
Mutual labels:  helm, helm3
ansible-drone
Ansible role to configure drone (server and agent)
Stars: ✭ 16 (-20%)
Mutual labels:  drone, drone-ci
helm-ssm
Injects values from AWS SSM parameters on the values.yaml file
Stars: ✭ 43 (+115%)
Mutual labels:  helm, helm3
hull
The incredible HULL - Helm Uniform Layer Library - is a Helm library chart to improve Helm chart based workflows
Stars: ✭ 66 (+230%)
Mutual labels:  helm, helm3
drone-facebook
Drone plugin for sending Facebook notifications
Stars: ✭ 15 (-25%)
Mutual labels:  drone, drone-ci
drone-ci-demo
A Demo to show workflow of Drone CI + GitFlow + Semantic Release + Kubernetes
Stars: ✭ 47 (+135%)
Mutual labels:  drone, drone-ci
kube-opennebula
Helm chart and OpenNebula images ready to deploy on Kubernetes
Stars: ✭ 43 (+115%)
Mutual labels:  helm
readme-generator-for-helm
Auto generate READMEs for Helm Charts
Stars: ✭ 112 (+460%)
Mutual labels:  helm
ci
Gogs( GitHub )+Drone+Docker Registry | 私有化的 CI/CD & DevOps 解决方案
Stars: ✭ 37 (+85%)
Mutual labels:  drone
goliath-quadcopter
Design files for the Goliath Quadcopter
Stars: ✭ 25 (+25%)
Mutual labels:  drone
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (+125%)
Mutual labels:  helm
FreeTAKUAS
DJI drone flying app with integrations for FreeTAKServer
Stars: ✭ 41 (+105%)
Mutual labels:  drone
monokle
🧐 Monokle streamlines the process of creating, analyzing, and deploying Kubernetes configurations by providing a unified visual tool for authoring YAML manifests, validating policies, and managing live clusters.
Stars: ✭ 795 (+3875%)
Mutual labels:  helm
camunda-cloud-helm
Camunda Platform 8 Self-Managed Helm charts
Stars: ✭ 41 (+105%)
Mutual labels:  helm
drone-discord
Drone plugin for sending message to Discord channel using Webhook
Stars: ✭ 34 (+70%)
Mutual labels:  drone-ci
matrix-chart
Helm chart for deploying a Matrix homeserver stack
Stars: ✭ 83 (+315%)
Mutual labels:  helm
karvdash
Knot provides a complete environment for unleashing your productivity on Kubernetes
Stars: ✭ 30 (+50%)
Mutual labels:  helm

drone-helm3

Build Status Docker Pulls Go Report Card

Drone plugin for Helm3.

Helm Version: 3.9.0
Kubectl Version: 1.22.11

Drone settings

Example:

- name: deploy app
  image: bitsbeats/drone-helm3
  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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].