A CircleCI Orb to simplify deployments to Kubernetes using Helm.
Here are the features that the Helm orb provides:
- Installing the helm client (
install-helm-client
) - Installing helm on a cluster (
install-helm-on-cluster
) - Installing helm charts (
install-helm-chart
) and deleting releases (delete-helm-release
)
See the orb registry listing for usage guidelines.
curl
should be present inPATH
.
version: 2.1
orbs:
aws-eks: circleci/aws-eks@0.2.1
helm: circleci/helm@0.1.1
jobs:
install-helm-on-cluster:
executor: aws-eks/python
parameters:
cluster-name:
type: string
description: Cluster name
steps:
- aws-eks/update-kubeconfig-with-authenticator:
cluster-name: << parameters.cluster-name >>
install-kubectl: true
- helm/install-helm-on-cluster:
enable-cluster-wide-admin-access: true
install-helm-chart:
executor: aws-eks/python
parameters:
cluster-name:
type: string
description: Cluster name
steps:
- aws-eks/update-kubeconfig-with-authenticator:
cluster-name: << parameters.cluster-name >>
- helm/install-helm-chart:
chart: stable/grafana
release-name: grafana-release
delete-helm-release:
executor: aws-eks/python
parameters:
cluster-name:
type: string
description: Cluster name
steps:
- aws-eks/update-kubeconfig-with-authenticator:
cluster-name: << parameters.cluster-name >>
- helm/delete-helm-release:
release-name: grafana-release
purge: true
timeout: 600
workflows:
deployment:
jobs:
- aws-eks/create-cluster:
cluster-name: test-cluster
- install-helm-on-cluster:
cluster-name: test-cluster
requires:
- aws-eks/create-cluster
- install-helm-chart:
cluster-name: test-cluster
requires:
- install-helm-on-cluster
- delete-helm-release:
cluster-name: test-cluster
requires:
- install-helm-chart
- aws-eks/delete-cluster:
cluster-name: test-cluster
wait: true
requires:
- delete-helm-release
Development notes for building, testing and orb publishing are located here.
We welcome issues to and pull requests against this repository!
For further questions/comments about this or other orbs, visit CircleCI's orbs discussion forum.