feat(common): Release version 1.3.0 (#112)

* fix(ports): Only render ports when there are ports

* fix(probes): Only render probes when there are probes

* feat(sidecars): Rename additionalContainers to sidecars

* chore(serviceMonitor): Add labels unittest
This commit is contained in:
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs 2023-01-31 21:23:19 +01:00 committed by GitHub
parent ac5d8422e5
commit 24f8eb5a38
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 158 additions and 106 deletions

View file

@ -3,7 +3,7 @@ apiVersion: v2
name: common
description: Function library for Helm charts
type: library
version: 1.2.1
version: 1.3.0
kubeVersion: ">=1.22.0-0"
keywords:
- common
@ -15,13 +15,9 @@ maintainers:
annotations:
artifacthub.io/changes: |-
- kind: fixed
description: Fixed indentation in cronjob component to allow podAnnotations
- kind: fixed
description: Cleaned leftover `secret` behavior under `envFrom`.
description: Don't render ports/probes when not required
links:
- name: GitHub Issue
url: https://github.com/bjw-s/helm-charts/issues/94
url: https://github.com/bjw-s/helm-charts/issues/111
- kind: changed
description: Updated code-server image tag to 4.9.1
- kind: added
description: Allow setting `ttlSecondsAfterFinished` for CronJobs
description: Renamed `additionalContainers` to `sidecars`. The former will however still continue to work for the time being.

View file

@ -1,6 +1,6 @@
# common
![Version: 1.2.1](https://img.shields.io/badge/Version-1.2.1-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square)
![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square)
Function library for Helm charts
@ -29,7 +29,7 @@ Include this chart as a dependency in your `Chart.yaml` e.g.
# Chart.yaml
dependencies:
- name: common
version: 1.2.1
version: 1.3.0
repository: https://bjw-s.github.io/helm-charts/
```
@ -49,7 +49,6 @@ N/A
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| additionalContainers | object | `{}` | Specify any additional containers here as dictionary items. Each additional container should have its own key. Helm templates can be used. |
| addons | object | See below | The common chart supports several add-ons. These can be configured under this key. |
| addons.codeserver | object | See values.yaml | The common library supports adding a code-server add-on to access files. It can be configured under this key. For more info, check out [our docs](https://bjw-s.github.io/helm-charts/docs/common-library/common-library-add-ons/##code-server) |
| addons.codeserver.args | list | `["--auth","none"]` | Set codeserver command line arguments. Consider setting --user-data-dir to a persistent location to preserve code-server setting changes |
@ -61,7 +60,7 @@ N/A
| addons.codeserver.git.deployKeySecret | string | `""` | Existing secret containing SSH private key The chart expects it to be present under the `id_rsa` key. |
| addons.codeserver.image.pullPolicy | string | `"IfNotPresent"` | Specify the code-server image pull policy |
| addons.codeserver.image.repository | string | `"ghcr.io/coder/code-server"` | Specify the code-server image |
| addons.codeserver.image.tag | string | `"4.8.3"` | Specify the code-server image tag |
| addons.codeserver.image.tag | string | `"4.9.1"` | Specify the code-server image tag |
| addons.codeserver.ingress.enabled | bool | `false` | Enable an ingress for the code-server add-on. |
| addons.codeserver.ingress.ingressClassName | string | `nil` | Set the ingressClass that is used for this ingress. |
| addons.codeserver.service.enabled | bool | `true` | Enable a service for the code-server add-on. |
@ -108,6 +107,7 @@ N/A
| controller.cronjob.schedule | string | `"*/20 * * * *"` | Sets the CronJob time when to execute your jobs |
| controller.cronjob.startingDeadlineSeconds | int | `30` | The deadline in seconds for starting the job if it misses its scheduled time for any reason |
| controller.cronjob.successfulJobsHistory | int | `1` | The number of succesful Jobs to keep |
| controller.cronjob.ttlSecondsAfterFinished | string | `nil` | If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. |
| controller.enabled | bool | `true` | enable the controller. |
| controller.labels | object | `{}` | Set labels on the deployment/statefulset/daemonset/cronjob |
| controller.podManagementPolicy | string | `nil` | Set statefulset podManagementPolicy, valid values are Parallel and OrderedReady (default). |
@ -234,6 +234,7 @@ N/A
| serviceMonitor.main.nameOverride | string | `nil` | Override the name suffix that is used for this serviceMonitor. |
| serviceMonitor.main.selector | object | `{}` | Configures a custom selector for the serviceMonitor, this takes precedence over specifying a service name. Helm templates can be used. |
| serviceMonitor.main.serviceName | string | `"{{ include \"bjw-s.common.lib.chart.names.fullname\" $ }}"` | Configures the target Service for the serviceMonitor. Helm templates can be used. |
| sidecars | object | `{}` | Specify any sidecar containers here as dictionary items. Each sidecar container should have its own key. Helm templates can be used. |
| termination.gracePeriodSeconds | string | `nil` | [[ref](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#lifecycle)] |
| termination.messagePath | string | `nil` | [[ref](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#lifecycle-1)] |
| termination.messagePolicy | string | `nil` | [[ref](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#lifecycle-1)] |

View file

@ -4,10 +4,10 @@ It will include / inject the required templates based on the given values.
*/}}
{{- define "bjw-s.common.addon.codeserver" -}}
{{- if .Values.addons.codeserver.enabled -}}
{{/* Append the code-server container to the additionalContainers */}}
{{/* Append the code-server container to the sidecars */}}
{{- $container := include "bjw-s.common.addon.codeserver.container" . | fromYaml -}}
{{- if $container -}}
{{- $_ := set .Values.additionalContainers "addon-codeserver" $container -}}
{{- $_ := set .Values.sidecars "addon-codeserver" $container -}}
{{- end -}}
{{/* Include the deployKeySecret if not empty */}}

View file

@ -4,10 +4,10 @@ It will include / inject the required templates based on the given values.
*/}}
{{- define "bjw-s.common.addon.netshoot" -}}
{{- if .Values.addons.netshoot.enabled -}}
{{/* Append the netshoot container to the additionalContainers */}}
{{/* Append the netshoot container to the sidecars */}}
{{- $container := include "bjw-s.common.addon.netshoot.container" . | fromYaml -}}
{{- if $container -}}
{{- $_ := set .Values.additionalContainers "addon-netshoot" $container -}}
{{- $_ := set .Values.sidecars "addon-netshoot" $container -}}
{{- end -}}
{{- end -}}
{{- end -}}

View file

@ -3,9 +3,9 @@ Template to render gluetun addon. It will add the container to the list of addit
*/}}
*/}}
{{- define "bjw-s.common.addon.gluetun" -}}
{{/* Append the gluetun container to the additionalContainers */}}
{{/* Append the gluetun container to the sidecars */}}
{{- $container := fromYaml (include "bjw-s.common.addon.gluetun.container" .) -}}
{{- if $container -}}
{{- $_ := set .Values.additionalContainers "addon-gluetun" $container -}}
{{- $_ := set .Values.sidecars "addon-gluetun" $container -}}
{{- end -}}
{{- end -}}

View file

@ -2,46 +2,66 @@
Probes selection logic.
*/}}
{{- define "bjw-s.common.lib.container.probes" -}}
{{- $primaryService := get .Values.service (include "bjw-s.common.lib.service.primary" .) -}}
{{- $primaryPort := "" -}}
{{- if $primaryService -}}
{{- $primaryPort = get $primaryService.ports (include "bjw-s.common.lib.service.primaryPort" (dict "serviceName" (include "bjw-s.common.lib.service.primary" .) "values" $primaryService)) -}}
{{- end -}}
{{- $primaryService := get .Values.service (include "bjw-s.common.lib.service.primary" .) -}}
{{- $primaryPort := "" -}}
{{- if $primaryService -}}
{{- $primaryPort = get $primaryService.ports (include "bjw-s.common.lib.service.primaryPort" (dict "serviceName" (include "bjw-s.common.lib.service.primary" .) "values" $primaryService)) -}}
{{- end -}}
{{- range $probeName, $probe := .Values.probes }}
{{- if $probe.enabled -}}
{{- "" | nindent 0 }}
{{- $probeName }}Probe:
{{- if $probe.custom -}}
{{- $probe.spec | toYaml | nindent 2 }}
{{- else }}
{{- if and $primaryService $primaryPort -}}
{{- $probeType := "" -}}
{{- if eq $probe.type "AUTO" -}}
{{- $probeType = $primaryPort.protocol -}}
{{- else -}}
{{- $probeType = $probe.type | default "TCP" -}}
{{- end }}
{{- if or ( eq $probeType "HTTPS" ) ( eq $probeType "HTTP" ) }}
httpGet:
path: {{ $probe.path }}
scheme: {{ $probeType }}
{{- else }}
tcpSocket:
{{- end }}
{{- if $probe.port }}
port: {{ ( tpl ( $probe.port | toString ) $ ) }}
{{- else if $primaryPort.targetPort }}
port: {{ $primaryPort.targetPort }}
{{- else }}
port: {{ $primaryPort.port }}
{{- end }}
initialDelaySeconds: {{ $probe.spec.initialDelaySeconds }}
failureThreshold: {{ $probe.spec.failureThreshold }}
timeoutSeconds: {{ $probe.spec.timeoutSeconds }}
periodSeconds: {{ $probe.spec.periodSeconds }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- range $probeName, $probe := .Values.probes -}}
{{- if $probe.enabled -}}
{{- $probeOutput := "" -}}
{{- if $probe.custom -}}
{{- if $probe.spec -}}
{{- $probeOutput = $probe.spec | toYaml -}}
{{- end -}}
{{- else -}}
{{- if $primaryPort -}}
{{- $probeType := "" -}}
{{- if eq $probe.type "AUTO" -}}
{{- $probeType = $primaryPort.protocol -}}
{{- else -}}
{{- $probeType = $probe.type | default "TCP" -}}
{{- end -}}
{{- $probeDefinition := dict
"initialDelaySeconds" $probe.spec.initialDelaySeconds
"failureThreshold" $probe.spec.failureThreshold
"timeoutSeconds" $probe.spec.timeoutSeconds
"periodSeconds" $probe.spec.periodSeconds
-}}
{{- $probeHeader := "" -}}
{{- if or ( eq $probeType "HTTPS" ) ( eq $probeType "HTTP" ) -}}
{{- $probeHeader = "httpGet" -}}
{{- $_ := set $probeDefinition $probeHeader (
dict
"path" $probe.path
"scheme" $probeType
)
-}}
{{- else }}
{{- $probeHeader = "tcpSocket" -}}
{{- $_ := set $probeDefinition $probeHeader dict -}}
{{- end -}}
{{- if $probe.port }}
{{- $_ := set (index $probeDefinition $probeHeader) "port" (tpl ( $probe.port | toString ) $) -}}
{{- else if $primaryPort.targetPort }}
{{- $_ := set (index $probeDefinition $probeHeader) "port" $primaryPort.targetPort -}}
{{- else }}
{{- $_ := set (index $probeDefinition $probeHeader) "port" $primaryPort.port -}}
{{- end }}
{{- $probeOutput = $probeDefinition | toYaml | trim -}}
{{- end -}}
{{- end -}}
{{- if $probeOutput -}}
{{- printf "%sProbe:" $probeName | nindent 0 -}}
{{- $probeOutput | nindent 2 -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}

View file

@ -42,8 +42,10 @@
envFrom:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "bjw-s.common.lib.container.ports" . | trim) }}
ports:
{{- include "bjw-s.common.lib.container.ports" . | trim | nindent 4 }}
{{- nindent 4 . }}
{{- end }}
{{- with (include "bjw-s.common.lib.container.volumeMounts" . | trim) }}
volumeMounts:
{{- nindent 4 . }}

View file

@ -62,8 +62,8 @@ initContainers:
{{- end }}
containers:
{{- include "bjw-s.common.lib.controller.mainContainer" . | nindent 2 }}
{{- with .Values.additionalContainers }}
{{- $additionalContainers := list }}
{{- with (merge .Values.sidecars .Values.additionalContainers) }}
{{- $sidecarContainers := list }}
{{- range $name, $container := . }}
{{- if not $container.name -}}
{{- $_ := set $container "name" $name }}
@ -74,9 +74,9 @@ containers:
{{- $_ := set $container "env" $newEnv.env }}
{{- $_ := unset $.ObjectValues "envVars" -}}
{{- end }}
{{- $additionalContainers = append $additionalContainers $container }}
{{- $sidecarContainers = append $sidecarContainers $container }}
{{- end }}
{{- tpl (toYaml $additionalContainers) $ | nindent 2 }}
{{- tpl (toYaml $sidecarContainers) $ | nindent 2 }}
{{- end }}
{{- with (include "bjw-s.common.lib.controller.volumes" . | trim) }}
volumes:

View file

@ -5,6 +5,7 @@ Merge the local chart values and the common chart defaults
{{- if .Values.common -}}
{{- $defaultValues := deepCopy .Values.common -}}
{{- $userValues := deepCopy (omit .Values "common") -}}
{{- $_ := set $defaultValues "additionalContainers" dict -}}
{{- $mergedValues := mustMergeOverwrite $defaultValues $userValues -}}
{{- $_ := set . "Values" (deepCopy $mergedValues) -}}
{{- end -}}

View file

@ -192,9 +192,9 @@ lifecycle: {}
# The dictionary item key will determine the order. Helm templates can be used.
initContainers: {}
# -- Specify any additional containers here as dictionary items. Each additional container should have its own key.
# -- Specify any sidecar containers here as dictionary items. Each sidecar container should have its own key.
# Helm templates can be used.
additionalContainers: {}
sidecars: {}
# -- Probe configuration
# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)

View file

@ -2,7 +2,7 @@
apiVersion: v2
description: A common powered chart template. This can be useful for small projects that don't have their own chart.
name: app-template
version: 1.2.1
version: 1.3.0
kubeVersion: ">=1.22.0-0"
maintainers:
- name: bjw-s
@ -10,12 +10,12 @@ maintainers:
dependencies:
- name: common
repository: https://bjw-s.github.io/helm-charts
version: 1.2.1
version: 1.3.0
annotations:
artifacthub.io/changes: |-
- kind: changed
description: |
Updated library version to 1.2.1.
Updated library version to 1.3.0.
links:
- name: Common library chart definition
url: https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/Chart.yaml

View file

@ -23,7 +23,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -52,7 +52,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -89,5 +89,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -19,7 +19,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -45,7 +45,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -79,5 +79,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -19,7 +19,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -45,7 +45,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -79,5 +79,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -19,7 +19,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -45,7 +45,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -79,5 +79,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -19,7 +19,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -45,7 +45,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -79,5 +79,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -19,7 +19,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -45,7 +45,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -79,5 +79,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -1,10 +1,10 @@
suite: pod additional containers
suite: pod sidecar containers
templates:
- common.yaml
tests:
- it: with explicit name should pass
set:
additionalContainers:
sidecars:
additional1:
name: template-test
asserts:
@ -18,7 +18,7 @@ tests:
- it: with implicit name should pass
set:
additionalContainers:
sidecars:
additional1:
image: template-test
asserts:
@ -32,7 +32,7 @@ tests:
- it: with templated name should pass
set:
additionalContainers:
sidecars:
additional1:
name: "{{ .Release.Name }}-container"
asserts:
@ -48,7 +48,7 @@ tests:
set:
env:
main_env: value
additionalContainers:
sidecars:
additional1:
env:
int: 1
@ -89,3 +89,24 @@ tests:
value:
name: template
value: RELEASE-NAME-admin
- it: with legacy additionalContainers should pass
set:
sidecars:
additional1:
name: sidecar
additionalContainers:
additional2:
name: legacy-sidecar
asserts:
- documentIndex: 0
isKind:
of: Deployment
- documentIndex: 0
equal:
path: spec.template.spec.containers[1].name
value: sidecar
- documentIndex: 0
equal:
path: spec.template.spec.containers[2].name
value: legacy-sidecar

View file

@ -19,7 +19,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: retain enabled should pass
set:
@ -42,7 +42,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -68,7 +68,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -102,5 +102,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -23,7 +23,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -52,7 +52,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -89,5 +89,5 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -23,7 +23,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -52,7 +52,7 @@ tests:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -89,7 +89,7 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom secret type should pass

View file

@ -18,7 +18,7 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
app.kubernetes.io/service: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
- it: custom metadata should pass
set:
@ -45,7 +45,7 @@ tests:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
app.kubernetes.io/service: RELEASE-NAME
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test
- it: custom metadata with global metadata should pass
@ -80,5 +80,5 @@ tests:
app.kubernetes.io/name: RELEASE-NAME
app.kubernetes.io/service: RELEASE-NAME
global_label: test
helm.sh/chart: app-template-1.2.1
helm.sh/chart: app-template-1.3.0
test_label: test

View file

@ -33,6 +33,8 @@ tests:
serviceMonitor:
main:
enabled: true
labels:
test.label: testvalue
endpoints:
- port: http
scheme: http
@ -65,6 +67,15 @@ tests:
path: /metrics
interval: 1m
scrapeTimeout: 10s
- documentIndex: *ServiceMonitorDocument
equal:
path: metadata.labels
value:
app.kubernetes.io/instance: RELEASE-NAME
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: RELEASE-NAME
helm.sh/chart: app-template-1.3.0
test.label: testvalue
- it: a serviceMonitor is created with nameOverride
set: