Merge pull request #5684 from mattfarina/add-app-version

Add app version
pull/5694/head
Matt Farina 5 years ago committed by GitHub
commit 2a06c2baba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,7 +5,7 @@ kind: Service
metadata:
name: subcharta
labels:
chart: "subcharta-0.1.0"
helm.sh/chart: "subcharta-0.1.0"
spec:
type: ClusterIP
ports:
@ -14,7 +14,7 @@ spec:
protocol: TCP
name: apache
selector:
app: subcharta
app.kubernetes.io/name: subcharta
---
# Source: subchart1/charts/subchartb/templates/service.yaml
apiVersion: v1
@ -22,7 +22,7 @@ kind: Service
metadata:
name: subchartb
labels:
chart: "subchartb-0.1.0"
helm.sh/chart: "subchartb-0.1.0"
spec:
type: ClusterIP
ports:
@ -31,7 +31,7 @@ spec:
protocol: TCP
name: nginx
selector:
app: subchartb
app.kubernetes.io/name: subchartb
---
# Source: subchart1/templates/service.yaml
apiVersion: v1
@ -39,8 +39,8 @@ kind: Service
metadata:
name: subchart1
labels:
chart: "subchart1-0.1.0"
release-name: "foobar-YWJj-baz"
helm.sh/chart: "subchart1-0.1.0"
app.kubernetes.io/instance: "foobar-YWJj-baz"
kube-version/major: "1"
kube-version/minor: "9"
kube-version/gitversion: "v1.9.0"
@ -52,4 +52,4 @@ spec:
protocol: TCP
name: nginx
selector:
app: subchart1
app.kubernetes.io/name: subchart1

@ -5,7 +5,7 @@ kind: Service
metadata:
name: subcharta
labels:
chart: "subcharta-0.1.0"
helm.sh/chart: "subcharta-0.1.0"
spec:
type: ClusterIP
ports:
@ -14,7 +14,7 @@ spec:
protocol: TCP
name: apache
selector:
app: subcharta
app.kubernetes.io/name: subcharta
---
# Source: subchart1/charts/subchartb/templates/service.yaml
apiVersion: v1
@ -22,7 +22,7 @@ kind: Service
metadata:
name: subchartb
labels:
chart: "subchartb-0.1.0"
helm.sh/chart: "subchartb-0.1.0"
spec:
type: ClusterIP
ports:
@ -31,7 +31,7 @@ spec:
protocol: TCP
name: nginx
selector:
app: subchartb
app.kubernetes.io/name: subchartb
---
# Source: subchart1/templates/service.yaml
apiVersion: v1
@ -39,8 +39,8 @@ kind: Service
metadata:
name: subchart1
labels:
chart: "subchart1-0.1.0"
release-name: "RELEASE-NAME"
helm.sh/chart: "subchart1-0.1.0"
app.kubernetes.io/instance: "RELEASE-NAME"
kube-version/major: "1"
kube-version/minor: "9"
kube-version/gitversion: "v1.9.0"
@ -52,4 +52,4 @@ spec:
protocol: TCP
name: apache
selector:
app: subchart1
app.kubernetes.io/name: subchart1

@ -5,7 +5,7 @@ kind: Service
metadata:
name: subcharta
labels:
chart: "subcharta-0.1.0"
helm.sh/chart: "subcharta-0.1.0"
spec:
type: ClusterIP
ports:
@ -14,7 +14,7 @@ spec:
protocol: TCP
name: apache
selector:
app: subcharta
app.kubernetes.io/name: subcharta
---
# Source: subchart1/charts/subchartb/templates/service.yaml
apiVersion: v1
@ -22,7 +22,7 @@ kind: Service
metadata:
name: subchartb
labels:
chart: "subchartb-0.1.0"
helm.sh/chart: "subchartb-0.1.0"
spec:
type: ClusterIP
ports:
@ -31,7 +31,7 @@ spec:
protocol: TCP
name: nginx
selector:
app: subchartb
app.kubernetes.io/name: subchartb
---
# Source: subchart1/templates/service.yaml
apiVersion: v1
@ -39,8 +39,8 @@ kind: Service
metadata:
name: subchart1
labels:
chart: "subchart1-0.1.0"
release-name: "RELEASE-NAME"
helm.sh/chart: "subchart1-0.1.0"
app.kubernetes.io/instance: "RELEASE-NAME"
kube-version/major: "1"
kube-version/minor: "9"
kube-version/gitversion: "v1.9.0"
@ -52,4 +52,4 @@ spec:
protocol: TCP
name: apache
selector:
app: subchart1
app.kubernetes.io/name: subchart1

@ -5,7 +5,7 @@ kind: Service
metadata:
name: subcharta
labels:
chart: "subcharta-0.1.0"
helm.sh/chart: "subcharta-0.1.0"
spec:
type: ClusterIP
ports:
@ -14,7 +14,7 @@ spec:
protocol: TCP
name: apache
selector:
app: subcharta
app.kubernetes.io/name: subcharta
---
# Source: subchart1/charts/subchartb/templates/service.yaml
apiVersion: v1
@ -22,7 +22,7 @@ kind: Service
metadata:
name: subchartb
labels:
chart: "subchartb-0.1.0"
helm.sh/chart: "subchartb-0.1.0"
spec:
type: ClusterIP
ports:
@ -31,7 +31,7 @@ spec:
protocol: TCP
name: nginx
selector:
app: subchartb
app.kubernetes.io/name: subchartb
---
# Source: subchart1/templates/service.yaml
apiVersion: v1
@ -39,8 +39,8 @@ kind: Service
metadata:
name: subchart1
labels:
chart: "subchart1-0.1.0"
release-name: "RELEASE-NAME"
helm.sh/chart: "subchart1-0.1.0"
app.kubernetes.io/instance: "RELEASE-NAME"
kube-version/major: "1"
kube-version/minor: "9"
kube-version/gitversion: "v1.9.0"
@ -52,4 +52,4 @@ spec:
protocol: TCP
name: nginx
selector:
app: subchart1
app.kubernetes.io/name: subchart1

@ -1,4 +1,5 @@
apiVersion: v1
appVersion: "3.9"
description: Deploy a basic Alpine Linux pod
home: https://helm.sh/helm
name: alpine

@ -3,15 +3,17 @@ kind: Pod
metadata:
name: "{{.Release.Name}}-{{.Values.Name}}"
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{.Release.Service | quote }}
# The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{.Release.Name | quote }}
# The "app.kubernetes.io/managed-by" label is used to track which tool
# deployed a given chart. It is useful for admins who want to see what
# releases a particular tool is responsible for.
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release
# to all of the Kubernetes resources that were created as part of that
# release.
app.kubernetes.io/instance: {{.Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
# This makes it easy to audit chart usage.
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
values: {{.Values.test.Name}}
spec:
# This shows how to use a simple value. This will look for a passed-in value
@ -21,5 +23,5 @@ spec:
restartPolicy: {{default "Never" .Values.restartPolicy}}
containers:
- name: waiter
image: "alpine:3.3"
image: "alpine:{{ .Chart.AppVersion }}"
command: ["/bin/sleep","9000"]

@ -3,15 +3,15 @@ kind: Pod
metadata:
name: "{{.Release.Name}}-{{.Values.Name}}"
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{.Release.Service | quote }}
# The "app.kubernetes.io/managed-by" label is used to track which tool
# deployed a given chart. It is useful for admins who want to see what
# releases a particular tool is responsible for.
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
# The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{.Release.Name | quote }}
app.kubernetes.io/instance: {{.Release.Name | quote }}
# This makes it easy to audit chart usage.
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
values: {{.Values.test.Name}}
spec:
# This shows how to use a simple value. This will look for a passed-in value
@ -21,5 +21,5 @@ spec:
restartPolicy: {{default "Never" .Values.restartPolicy}}
containers:
- name: waiter
image: "alpine:3.3"
image: "alpine:3.9"
command: ["/bin/sleep","9000"]

@ -3,21 +3,21 @@ kind: Deployment
metadata:
name: {{ template "chart-with-lib-dep.fullname" . }}
labels:
app: {{ template "chart-with-lib-dep.name" . }}
chart: {{ template "chart-with-lib-dep.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ template "chart-with-lib-dep.name" . }}
helm.sh/chart: {{ template "chart-with-lib-dep.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ template "chart-with-lib-dep.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ template "chart-with-lib-dep.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ template "chart-with-lib-dep.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ template "chart-with-lib-dep.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
containers:
- name: {{ .Chart.Name }}

@ -6,10 +6,10 @@ kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app: {{ template "chart-with-lib-dep.name" . }}
chart: {{ template "chart-with-lib-dep.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ template "chart-with-lib-dep.name" . }}
helm.sh/chart: {{ template "chart-with-lib-dep.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
annotations:
{{ toYaml . | indent 4 }}

@ -3,15 +3,16 @@ kind: Pod
metadata:
name: "{{.Release.Name}}-{{.Values.Name}}"
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{.Release.Service | quote }}
# The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{.Release.Name | quote }}
# The "app.kubernetes.io/managed-by" label is used to track which tool
# deployed a given chart. It is useful for admins who want to see what
# releases a particular tool is responsible for.
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release
# to all of the Kubernetes resources that were created as part of that
# release.
app.kubernetes.io/instance: {{.Release.Name | quote }}
# This makes it easy to audit chart usage.
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
values: {{.Values.test.Name}}
spec:
# This shows how to use a simple value. This will look for a passed-in value
@ -21,5 +22,5 @@ spec:
restartPolicy: {{default "Never" .Values.restartPolicy}}
containers:
- name: waiter
image: "alpine:3.3"
image: "alpine:3.9"
command: ["/bin/sleep","9000"]

@ -65,7 +65,7 @@ following defaults:
- Service type (ClusterIP, NodePort, LoadBalancer) made configurable by `.Values.service.type`
- Named port `http` configured on port 80
- Selector set to `app: {{ template "common.name" }}, release: {{ .Release.Name | quote }}` to match the default used in the `Deployment` resource
- Selector set to `app.kubernetes.io/name: {{ template "common.name" }}, app.kubernetes.io/instance: {{ .Release.Name | quote }}` to match the default used in the `Deployment` resource
Example template:
@ -115,11 +115,11 @@ apiVersion: v1
kind: Service
metadata:
labels:
app: service
chart: service-0.1.0
heritage: Tiller
app.kubernetes.io/name: service
helm.sh/chart: service-0.1.0
app.kubernetes.io/managed-by: Helm
protocol: mail
release: release-name
app.kubernetes.io/instance: release-name
name: release-name-service-mail
spec:
ports:
@ -130,8 +130,8 @@ spec:
port: 993
targetPort: 993
selector:
app: service
release: release-name
app.kubernetes.io/name: service
app.kubernetes.io/instance: release-name
protocol: mail
type: ClusterIP
---
@ -139,11 +139,11 @@ apiVersion: v1
kind: Service
metadata:
labels:
app: service
chart: service-0.1.0
heritage: Tiller
app.kubernetes.io/name: service
helm.sh/chart: service-0.1.0
app.kubernetes.io/managed-by: Helm
protocol: www
release: release-name
app.kubernetes.io/instance: release-name
name: release-name-service-www
spec:
ports:
@ -250,16 +250,16 @@ apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: deployment
chart: deployment-0.1.0
heritage: Tiller
release: release-name
app.kubernetes.io/name: deployment
helm.sh/chart: deployment-0.1.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: release-name
name: release-name-deployment
spec:
template:
metadata:
labels:
app: deployment
app.kubernetes.io/name: deployment
spec:
containers:
- image: nginx:stable
@ -316,10 +316,10 @@ data:
kind: ConfigMap
metadata:
labels:
app: configmap
chart: configmap-0.1.0
heritage: Tiller
release: release-name
app.kubernetes.io/name: configmap
helm.sh/chart: configmap-0.1.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: release-name
name: release-name-configmap
```
@ -354,10 +354,10 @@ data:
kind: Secret
metadata:
labels:
app: secret
chart: secret-0.1.0
heritage: Tiller
release: release-name
app.kubernetes.io/name: secret
helm.sh/chart: secret-0.1.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: release-name
name: release-name-secret
type: Opaque
```
@ -399,10 +399,10 @@ metadata:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
labels:
app: ingress
chart: ingress-0.1.0
heritage: Tiller
release: release-name
app.kubernetes.io/name: ingress
helm.sh/chart: ingress-0.1.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: release-name
name: release-name-ingress
spec:
rules:
@ -459,10 +459,10 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: persistentvolumeclaim
chart: persistentvolumeclaim-0.1.0
heritage: Tiller
release: release-name
app.kubernetes.io/name: persistentvolumeclaim
helm.sh/chart: persistentvolumeclaim-0.1.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: release-name
name: release-name-persistentvolumeclaim
spec:
accessModes:
@ -731,10 +731,10 @@ Example output:
metadata:
name: release-name-metadata
labels:
app: metadata
heritage: "Tiller"
release: "RELEASE-NAME"
chart: metadata-0.1.0
app.kubernetes.io/name: metadata
app.kubernetes.io/managed-by: "Helm"
app.kubernetes.io/instance: "RELEASE-NAME"
helm.sh/chart: metadata-0.1.0
first: "matt"
last: "butcher"
nick: "technosophos"
@ -746,10 +746,10 @@ metadata:
metadata:
name: Zeus
labels:
app: metadata
heritage: "Tiller"
release: "RELEASE-NAME"
chart: metadata-0.1.0
app.kubernetes.io/name: metadata
app.kubernetes.io/managed-by: "Helm"
app.kubernetes.io/instance: "RELEASE-NAME"
helm.sh/chart: metadata-0.1.0
annotations:
```
@ -789,10 +789,10 @@ Example usage:
Example output:
```yaml
app: labelizer
heritage: "Tiller"
release: "RELEASE-NAME"
chart: labelizer-0.1.0
app.kubernetes.io/name: labelizer
app.kubernetes.io/managed-by: "Tiller"
app.kubernetes.io/instance: "RELEASE-NAME"
helm.sh/chart: labelizer-0.1.0
```
### `common.hook`

@ -6,8 +6,8 @@ spec:
template:
metadata:
labels:
app: {{ template "common.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "common.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
spec:
containers:
-

@ -21,8 +21,8 @@ common.labels.standard prints the standard Helm labels.
The standard labels are frequently used in metadata.
*/ -}}
{{- define "common.labels.standard" -}}
app: {{ template "common.name" . }}
chart: {{ template "common.chartref" . }}
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "common.name" . }}
helm.sh/chart: {{ template "common.chartref" . }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
{{- end -}}

@ -9,8 +9,8 @@ spec:
port: 80
targetPort: http
selector:
app: {{ template "common.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "common.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
{{- end -}}
{{- define "common.service" -}}
{{- template "common.util.merge" (append . "common.service.tpl") -}}

@ -5,3 +5,4 @@ name: novals
sources:
- https://github.com/helm/helm
version: 0.2.0
appVersion: 3.3

@ -3,15 +3,19 @@ kind: Pod
metadata:
name: "{{.Release.Name}}-{{.Values.Name}}"
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{.Release.Service | quote }}
# The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{.Release.Name | quote }}
# The "app.kubernetes.io/managed-by" label is used to track which tool
# deployed a given chart. It is useful for admins who want to see what
# releases a particular tool is responsible for.
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release
# to all of the Kubernetes resources that were created as part of that
# release.
app.kubernetes.io/instance: {{.Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
# This makes it easy to audit chart usage.
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
annotations:
"helm.sh/created": {{.Release.Time.Seconds | quote }}
spec:
# This shows how to use a simple value. This will look for a passed-in value
# called restartPolicy. If it is not found, it will use the default value.

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -10,7 +10,7 @@ An item of metadata should be a label under the following conditions:
- It is used by Kubernetes to identify this resource
- It is useful to expose to operators for the purpose of querying the system.
For example, we suggest using `chart: NAME-VERSION` as a label so that operators
For example, we suggest using `helm.sh/chart: NAME-VERSION` as a label so that operators
can conveniently find all of the instances of a particular chart to use.
If an item of metadata is not used for querying, it should be set as an annotation
@ -25,7 +25,12 @@ are recommended, and _should_ be placed onto a chart for global consistency. Tho
Name|Status|Description
-----|------|----------
release | REC | This should be the `{{ .Release.Name }}`.
chart | REC | This should be the chart name and version: `{{ .Chart.Name }}-{{ .Chart.Version \| replace "+" "_" }}`.
app | REC | This should be the app name, reflecting the entire app. Usually `{{ template "name" . }}` is used for this. This is used by many Kubernetes manifests, and is not Helm-specific.
component | OPT | This is a common label for marking the different roles that pieces may play in an application. For example, `component: frontend`.
`app.kubernetes.io/name` | REC | This should be the app name, reflecting the entire app. Usually `{{ template "name" . }}` is used for this. This is used by many Kubernetes manifests, and is not Helm-specific.
`helm.sh/chart` | REC | This should be the chart name and version: `{{ .Chart.Name }}-{{ .Chart.Version \| replace "+" "_" }}`.
`app.kubernetes.io/managed-by` | REC | This should always be set to `{{ .Release.Service }}`. It is for finding all things managed by Tiller.
`app.kubernetes.io/instance` | REC | This should be the `{{ .Release.Name }}`. It aid in differentiating between different instances of the same application.
`app.kubernetes.io/version` | OPT | The version of the app and can be set to `{{ .Chart.AppVersion }}`.
`app.kubernetes.io/component` | OPT | This is a common label for marking the different roles that pieces may play in an application. For example, `app.kubernetes.io/component: frontend`.
`app.kubernetes.io/part-of` | OPT | When multiple charts or pieces of software are used together to make one application. For example, application software and a database to produce a website. This can be set to the top level application being supported.
You can find more information on the Kubernetes labels, prefixed with `app.kubernetes.io`, in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/).

@ -52,11 +52,11 @@ All PodTemplate sections should specify a selector. For example:
```yaml
selector:
matchLabels:
app: MyName
app.kubernetes.io/name: MyName
template:
metadata:
labels:
app: MyName
app.kubernetes.io/name: MyName
```
This is a good practice because it makes the relationship between the set and

@ -113,11 +113,13 @@ metadata:
labels:
# Many helm templates would use `.` below, but that will not work,
# however `$` will work here
app: {{ template "fullname" $ }}
app.kubernetes.io/name: {{ template "fullname" $ }}
# I cannot reference .Chart.Name, but I can do $.Chart.Name
chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}"
release: "{{ $.Release.Name }}"
heritage: "{{ $.Release.Service }}"
helm.sh/chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}"
app.kubernetes.io/instance: "{{ $.Release.Name }}"
# Value from appVersion in Chart.yaml
app.kubernetes.io/version: "{{ $.Chart.AppVersion }}"
app.kubernetes.io/managed-by: "{{ $.Release.Service }}"
type: kubernetes.io/tls
data:
tls.crt: {{ .certificate }}

@ -523,15 +523,15 @@ metadata:
name: deis-database
namespace: deis
labels:
heritage: deis
app.kubernetes.io/managed-by: deis
spec:
replicas: 1
selector:
app: deis-database
app.kubernetes.io/name: deis-database
template:
metadata:
labels:
app: deis-database
app.kubernetes.io/name: deis-database
spec:
serviceAccount: deis-database
containers:
@ -653,15 +653,15 @@ metadata:
name: deis-database
namespace: deis
labels:
heritage: deis
app.kubernetes.io/managed-by: deis
spec:
replicas: 1
selector:
app: deis-database
app.kubernetes.io/name: deis-database
template:
metadata:
labels:
app: deis-database
app.kubernetes.io/name: deis-database
spec:
serviceAccount: deis-database
containers:

@ -114,9 +114,10 @@ kind: Job
metadata:
name: "{{.Release.Name}}"
labels:
heritage: {{.Release.Service | quote }}
release: {{.Release.Name | quote }}
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
app.kubernetes.io/instance: {{.Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
annotations:
# This is what defines this resource as a hook. Without this line, the
# job is considered part of the release.
@ -128,9 +129,9 @@ spec:
metadata:
name: "{{.Release.Name}}"
labels:
heritage: {{.Release.Service | quote }}
release: {{.Release.Name | quote }}
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
app.kubernetes.io/instance: {{.Release.Name | quote }}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
spec:
restartPolicy: Never
containers:

@ -3,16 +3,17 @@ kind: Pod
metadata:
name: {{ template "alpine.fullname" . }}
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# The "app.kubernetes.io/managed-by" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{ .Release.Service }}
# The "release" convention makes it easy to tie a release to all of the
app.kubernetes.io/managed-by: {{ .Release.Service }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
# This makes it easy to audit chart usage.
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "alpine.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/name: {{ template "alpine.name" . }}
spec:
# This shows how to use a simple value. This will look for a passed-in value called restartPolicy.
restartPolicy: {{ .Values.restartPolicy }}

@ -3,16 +3,17 @@ kind: Pod
metadata:
name: {{ template "alpine.fullname" . }}
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{ .Release.Service }}
# The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{ .Release.Name }}
# The "app.kubernetes.io/managed-by" label is used to track which tool
# deployed a given chart. It is useful for admins who want to see what
# releases a particular tool is responsible for.
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release
# to all of the Kubernetes resources that were created as part of that
# release.
app.kubernetes.io/instance: {{.Release.Name | quote }}
# This makes it easy to audit chart usage.
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "alpine.name" . }}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
app.kubernetes.io/name: {{ template "alpine.name" . }}
spec:
# This shows how to use a simple value. This will look for a passed-in value called restartPolicy.
restartPolicy: {{ .Values.restartPolicy }}

@ -4,10 +4,10 @@ kind: ConfigMap
metadata:
name: {{ template "nginx.fullname" . }}
labels:
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "nginx.name" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
data:
# When the config map is mounted as a volume, these will be created as files.
index.html: {{ .Values.index | quote }}

@ -6,16 +6,16 @@ metadata:
# multiple times into the same namespace.
name: {{ template "nginx.fullname" . }}
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# The "app.kubernetes.io/managed-by" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{ .Release.Service }}
# The "release" convention makes it easy to tie a release to all of the
app.kubernetes.io/managed-by: {{ .Release.Service }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
# This makes it easy to audit chart usage.
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "nginx.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
spec:
replicas: {{ .Values.replicaCount }}
template:
@ -26,8 +26,8 @@ spec:
{{ toYaml .Values.podAnnotations | indent 8 }}
{{- end }}
labels:
app: {{ template "nginx.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
containers:
- name: {{ template "nginx.name" . }}

@ -3,16 +3,16 @@ kind: Job
metadata:
name: {{ template "nginx.fullname" . }}
labels:
# The "heritage" label is used to track which tool deployed a given chart.
# The "app.kubernetes.io/managed-by" label is used to track which tool deployed a given chart.
# It is useful for admins who want to see what releases a particular tool
# is responsible for.
heritage: {{ .Release.Service }}
# The "release" convention makes it easy to tie a release to all of the
app.kubernetes.io/managed-by: {{ .Release.Service }}
# The "app.kubernetes.io/instance" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release.
release: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
# This makes it easy to audit chart usage.
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "nginx.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
annotations:
# This is what defines this resource as a hook. Without this line, the
# job is considered part of the release.
@ -22,8 +22,8 @@ spec:
metadata:
name: {{ template "nginx.fullname" . }}
labels:
release: {{ .Release.Name }}
app: {{ template "nginx.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
spec:
# This shows how to use a simple value. This will look for a passed-in value
# called restartPolicy. If it is not found, it will use the default value.

@ -5,10 +5,10 @@ kind: Secret
metadata:
name: {{ template "nginx.fullname" . }}
labels:
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "nginx.name" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
# This declares the resource to be a hook. By convention, we also name the
# file "pre-install-XXX.yaml", but Helm itself doesn't care about file names.
annotations:

@ -3,10 +3,10 @@ kind: Pod
metadata:
name: "{{ template "nginx.fullname" . }}-service-test"
labels:
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app: {{ template "nginx.name" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
annotations:
"helm.sh/hook": test-success
spec:

@ -6,10 +6,10 @@ metadata:
{{ toYaml .Values.service.annotations | indent 4 }}
{{- end }}
labels:
app: {{ template "nginx.name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
name: {{ template "nginx.fullname" . }}
spec:
# Provides options for the service so chart users have the full choice
@ -35,5 +35,5 @@ spec:
nodePort: {{ .Values.service.nodePort }}
{{- end }}
selector:
app: {{ template "nginx.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ template "nginx.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}

@ -3,12 +3,12 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
app.kubernetes.io/managed-by: {{.Release.Service}}
app.kubernetes.io/name: {{.Chart.Name}}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
spec:
restartPolicy: {{default "Never" .restart_policy}}
containers:
- name: waiter
image: "alpine:3.3"
image: "alpine:3.9"
command: ["/bin/sleep","9000"]

@ -3,12 +3,12 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
app.kubernetes.io/managed-by: {{.Release.Service | quote }}
app.kubernetes.io/name: {{.Chart.Name}}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
spec:
restartPolicy: {{default "Never" .restart_policy}}
containers:
- name: waiter
image: "alpine:3.3"
image: "alpine:3.9"
command: ["/bin/sleep","9000"]

@ -156,11 +156,8 @@ kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app: {{ template "<CHARTNAME>.name" . }}
chart: {{ template "<CHARTNAME>.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
{{ include "<CHARTNAME>.labels" . | indent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{ toYaml . | indent 4 }}
{{- end }}
@ -193,21 +190,18 @@ kind: Deployment
metadata:
name: {{ template "<CHARTNAME>.fullname" . }}
labels:
app: {{ template "<CHARTNAME>.name" . }}
chart: {{ template "<CHARTNAME>.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{ include "<CHARTNAME>.labels" . | indent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ template "<CHARTNAME>.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ include "<CHARTNAME>.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ template "<CHARTNAME>.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ include "<CHARTNAME>.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
containers:
- name: {{ .Chart.Name }}
@ -246,10 +240,7 @@ kind: Service
metadata:
name: {{ template "<CHARTNAME>.fullname" . }}
labels:
app: {{ template "<CHARTNAME>.name" . }}
chart: {{ template "<CHARTNAME>.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{ include "<CHARTNAME>.labels" . | indent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
@ -258,8 +249,8 @@ spec:
protocol: TCP
name: http
selector:
app: {{ template "<CHARTNAME>.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ include "<CHARTNAME>.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
`
const defaultNotes = `1. Get the application URL by running these commands:
@ -315,6 +306,19 @@ Create chart name and version as used by the chart label.
{{- define "<CHARTNAME>.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "<CHARTNAME>.labels" -}}
app.kubernetes.io/name: {{ include "<CHARTNAME>.name" . }}
helm.sh/chart: {{ include "<CHARTNAME>.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- if .Chart.AppVersion -}}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end -}}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
`
// CreateFrom creates a new chart, but scaffolds it from the src chart.

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -3,7 +3,7 @@ kind: Service
metadata:
name: {{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
spec:
type: {{ .Values.service.type }}
ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,7 +3,7 @@ kind: Service
metadata:
name: {{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
spec:
type: {{ .Values.service.type }}
ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,8 +3,8 @@ kind: Service
metadata:
name: {{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release-name: "{{ .Release.Name }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app.kubernetes.io/instance: "{{ .Release.Name }}"
kube-version/major: "{{ .Capabilities.KubeVersion.Major }}"
kube-version/minor: "{{ .Capabilities.KubeVersion.Minor }}"
kube-version/gitversion: "v{{ .Capabilities.KubeVersion.Major }}.{{ .Capabilities.KubeVersion.Minor }}.0"
@ -16,4 +16,4 @@ spec:
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,7 +3,7 @@ kind: Service
metadata:
name: subchart2-{{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
helm.sh/hart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
spec:
type: {{ .Values.service.type }}
ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP
name: subchart2-{{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,7 +3,7 @@ kind: Service
metadata:
name: {{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
spec:
type: {{ .Values.service.type }}
ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,7 +3,7 @@ kind: Service
metadata:
name: {{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
spec:
type: {{ .Values.service.type }}
ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,7 +3,7 @@ kind: Service
metadata:
name: {{ .Chart.Name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
spec:
type: {{ .Values.service.type }}
ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP
name: {{ .Values.service.name }}
selector:
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ .Chart.Name }}

@ -3,7 +3,7 @@ kind: Pod
metadata:
name: {{.Release.Name}}-{{.Chart.Name}}
labels:
heritage: {{.Release.Service}}
app.kubernetes.io/managed-by: {{.Release.Service}}
chartName: {{.Chart.Name}}
chartVersion: {{.Chart.Version | quote}}
spec:

@ -5,9 +5,9 @@ kind: Service
metadata:
name: "{{ .Values.name }}"
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
kubeVersion: {{ .Capabilities.KubeVersion.Major }}
spec:
ports:
@ -16,4 +16,4 @@ spec:
protocol: TCP
name: http
selector:
app: {{template "fullname" .}}
app.kubernetes.io/name: {{template "fullname" .}}

Loading…
Cancel
Save