From 7194492447d5ea7bf5e0075cf87f02c3a3c2fb18 Mon Sep 17 00:00:00 2001 From: James Munnelly Date: Thu, 21 Sep 2017 18:16:45 +0100 Subject: [PATCH] Add initial helm chart --- contrib/charts/cert-manager/.helmignore | 21 +++++++++++++++ contrib/charts/cert-manager/Chart.yaml | 4 +++ .../charts/cert-manager/templates/NOTES.txt | 0 .../cert-manager/templates/_helpers.tpl | 16 +++++++++++ .../templates/certificate-crd.yaml | 13 +++++++++ .../cert-manager/templates/deployment.yaml | 27 +++++++++++++++++++ .../cert-manager/templates/issuer-crd.yaml | 13 +++++++++ contrib/charts/cert-manager/values.yaml | 13 +++++++++ 8 files changed, 107 insertions(+) create mode 100644 contrib/charts/cert-manager/.helmignore create mode 100644 contrib/charts/cert-manager/Chart.yaml create mode 100644 contrib/charts/cert-manager/templates/NOTES.txt create mode 100644 contrib/charts/cert-manager/templates/_helpers.tpl create mode 100644 contrib/charts/cert-manager/templates/certificate-crd.yaml create mode 100644 contrib/charts/cert-manager/templates/deployment.yaml create mode 100644 contrib/charts/cert-manager/templates/issuer-crd.yaml create mode 100644 contrib/charts/cert-manager/values.yaml diff --git a/contrib/charts/cert-manager/.helmignore b/contrib/charts/cert-manager/.helmignore new file mode 100644 index 000000000..f0c131944 --- /dev/null +++ b/contrib/charts/cert-manager/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/contrib/charts/cert-manager/Chart.yaml b/contrib/charts/cert-manager/Chart.yaml new file mode 100644 index 000000000..b892d8bdd --- /dev/null +++ b/contrib/charts/cert-manager/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: A Helm chart for Kubernetes +name: cert-manager +version: 0.1.0 diff --git a/contrib/charts/cert-manager/templates/NOTES.txt b/contrib/charts/cert-manager/templates/NOTES.txt new file mode 100644 index 000000000..e69de29bb diff --git a/contrib/charts/cert-manager/templates/_helpers.tpl b/contrib/charts/cert-manager/templates/_helpers.tpl new file mode 100644 index 000000000..f0d83d2ed --- /dev/null +++ b/contrib/charts/cert-manager/templates/_helpers.tpl @@ -0,0 +1,16 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "fullname" -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/contrib/charts/cert-manager/templates/certificate-crd.yaml b/contrib/charts/cert-manager/templates/certificate-crd.yaml new file mode 100644 index 000000000..ec0a11a14 --- /dev/null +++ b/contrib/charts/cert-manager/templates/certificate-crd.yaml @@ -0,0 +1,13 @@ +{{- if .Values.createCRD -}} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: certificates.certmanager.k8s.io +spec: + group: certmanager.k8s.io + version: v1alpha1 + names: + kind: Certificate + plural: certificates + scope: Namespaced # Can also be cluster level using "Cluster" +{{- end -}} diff --git a/contrib/charts/cert-manager/templates/deployment.yaml b/contrib/charts/cert-manager/templates/deployment.yaml new file mode 100644 index 000000000..80a7585f0 --- /dev/null +++ b/contrib/charts/cert-manager/templates/deployment.yaml @@ -0,0 +1,27 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ template "name" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end }} diff --git a/contrib/charts/cert-manager/templates/issuer-crd.yaml b/contrib/charts/cert-manager/templates/issuer-crd.yaml new file mode 100644 index 000000000..0bc64651e --- /dev/null +++ b/contrib/charts/cert-manager/templates/issuer-crd.yaml @@ -0,0 +1,13 @@ +{{- if .Values.createCRD -}} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: issuers.certmanager.k8s.io +spec: + group: certmanager.k8s.io + version: v1alpha1 + names: + kind: Issuer + plural: issuers + scope: Namespaced # Can also be cluster level using "Cluster" +{{- end -}} diff --git a/contrib/charts/cert-manager/values.yaml b/contrib/charts/cert-manager/values.yaml new file mode 100644 index 000000000..33e9dbcb7 --- /dev/null +++ b/contrib/charts/cert-manager/values.yaml @@ -0,0 +1,13 @@ +# Default values for cert-manager. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +replicaCount: 1 + +image: + repository: jetstackexperimental/cert-manager-controller + tag: canary + pullPolicy: Always + +createCRD: true + +resources: {}