diff --git a/charts/podinfo/Chart.yaml b/charts/podinfo/Chart.yaml index 87cdbcd..c1a8164 100644 --- a/charts/podinfo/Chart.yaml +++ b/charts/podinfo/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -version: 2.1.2 -appVersion: 2.1.2 +version: 2.1.3 +appVersion: 2.1.3 name: podinfo engine: gotpl description: Podinfo Helm chart for Kubernetes diff --git a/charts/podinfo/README.md b/charts/podinfo/README.md index 05e4c3e..f1fe6be 100644 --- a/charts/podinfo/README.md +++ b/charts/podinfo/README.md @@ -63,6 +63,8 @@ Parameter | Description | Default `service.nodePort` | node port for the service | `31198` `service.type` | type of service | `ClusterIP` `tolerations` | list of node taints to tolerate | `[]` +`serviceAccount.enabled` | specifies whether a service account should be created | `false` +`serviceAccount.name` | the name of the service account to use, if not set and create is true, a name is generated using the fullname template | None Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/charts/podinfo/templates/_helpers.tpl b/charts/podinfo/templates/_helpers.tpl index ef88d3d..7991e94 100644 --- a/charts/podinfo/templates/_helpers.tpl +++ b/charts/podinfo/templates/_helpers.tpl @@ -30,3 +30,14 @@ Create chart name and version as used by the chart label. {{- define "podinfo.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "podinfo.serviceAccountName" -}} +{{- if .Values.serviceAccount.enabled -}} + {{ default (include "podinfo.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/podinfo/templates/deployment.yaml b/charts/podinfo/templates/deployment.yaml index f70a728..1d0189f 100644 --- a/charts/podinfo/templates/deployment.yaml +++ b/charts/podinfo/templates/deployment.yaml @@ -26,6 +26,9 @@ spec: prometheus.io/scrape: 'true' spec: terminationGracePeriodSeconds: 30 + {{- if .Values.serviceAccount.create }} + serviceAccountName: {{ template "podinfo.serviceAccountName" . }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/podinfo/templates/service.yaml b/charts/podinfo/templates/service.yaml index f08b40a..f0b175f 100644 --- a/charts/podinfo/templates/service.yaml +++ b/charts/podinfo/templates/service.yaml @@ -1,4 +1,4 @@ -{{- if .Values.hpa.enabled -}} +{{- if .Values.service.enabled -}} apiVersion: v1 kind: Service metadata: diff --git a/charts/podinfo/templates/serviceaccount.yaml b/charts/podinfo/templates/serviceaccount.yaml new file mode 100644 index 0000000..0de8a1c --- /dev/null +++ b/charts/podinfo/templates/serviceaccount.yaml @@ -0,0 +1,11 @@ +{{- if .Values.serviceAccount.enabled -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "podinfo.serviceAccountName" . }} + labels: + app: {{ template "podinfo.name" . }} + chart: {{ template "podinfo.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- end -}} diff --git a/charts/podinfo/values.yaml b/charts/podinfo/values.yaml index 0d1d3b9..9910b7c 100644 --- a/charts/podinfo/values.yaml +++ b/charts/podinfo/values.yaml @@ -12,7 +12,7 @@ faults: image: repository: stefanprodan/podinfo - tag: 2.1.2 + tag: 2.1.3 pullPolicy: IfNotPresent service: @@ -33,6 +33,13 @@ hpa: # average http requests per second per pod (k8s-prometheus-adapter) requests: +serviceAccount: + # Specifies whether a service account should be created + enabled: false + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: + ingress: enabled: false annotations: {} diff --git a/e2e/test.sh b/e2e/test.sh index 3dcb459..6653481 100755 --- a/e2e/test.sh +++ b/e2e/test.sh @@ -5,8 +5,12 @@ set -o errexit REPO_ROOT=$(git rev-parse --show-toplevel) export KUBECONFIG="$(kind get kubeconfig-path --name="kind")" +function finish { + echo '>>> Test logs' + kubectl logs -l app=podinfo +} +trap finish EXIT + echo '>>> Testing' helm test podinfo -echo '>>> Test logs' -kubectl logs -l app=podinfo diff --git a/kustomize/deployment.yaml b/kustomize/deployment.yaml index 9aa81ac..1ef3514 100644 --- a/kustomize/deployment.yaml +++ b/kustomize/deployment.yaml @@ -24,7 +24,7 @@ spec: spec: containers: - name: podinfod - image: stefanprodan/podinfo:2.1.2 + image: stefanprodan/podinfo:2.1.3 imagePullPolicy: IfNotPresent ports: - containerPort: 9898 diff --git a/pkg/version/version.go b/pkg/version/version.go index 76e649e..7264675 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -1,4 +1,4 @@ package version -var VERSION = "2.1.2" +var VERSION = "2.1.3" var REVISION = "unknown"