mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-03 08:37:03 +02:00
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:
parent
ac5d8422e5
commit
24f8eb5a38
23 changed files with 158 additions and 106 deletions
|
@ -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.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# common
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
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)] |
|
||||
|
|
|
@ -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 */}}
|
||||
|
|
|
@ -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 -}}
|
||||
|
|
|
@ -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 -}}
|
||||
|
|
|
@ -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 -}}
|
||||
|
|
|
@ -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 . }}
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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 -}}
|
||||
|
|
|
@ -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/)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue