mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 00:47:04 +02:00
fix: Don't render disabled services
This commit is contained in:
parent
0a5fb9d3d4
commit
8106004a7c
15 changed files with 81 additions and 39 deletions
|
@ -3,7 +3,7 @@ apiVersion: v2
|
||||||
name: common
|
name: common
|
||||||
description: Function library for Helm charts
|
description: Function library for Helm charts
|
||||||
type: library
|
type: library
|
||||||
version: 1.1.2
|
version: 1.1.3
|
||||||
kubeVersion: ">=1.22.0-0"
|
kubeVersion: ">=1.22.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- common
|
- common
|
||||||
|
|
|
@ -4,12 +4,18 @@ Ports included by the controller.
|
||||||
{{- define "bjw-s.common.lib.container.ports" -}}
|
{{- define "bjw-s.common.lib.container.ports" -}}
|
||||||
{{- $ports := list -}}
|
{{- $ports := list -}}
|
||||||
{{- range $servicename, $service := .Values.service -}}
|
{{- range $servicename, $service := .Values.service -}}
|
||||||
|
{{- $serviceEnabled := true -}}
|
||||||
|
{{- if hasKey $service "enabled" -}}
|
||||||
|
{{- $serviceEnabled = $service.enabled -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if $serviceEnabled -}}
|
||||||
{{- $enabledPorts := include "bjw-s.common.lib.service.enabledPorts" (dict "serviceName" $servicename "values" $service) | fromYaml }}
|
{{- $enabledPorts := include "bjw-s.common.lib.service.enabledPorts" (dict "serviceName" $servicename "values" $service) | fromYaml }}
|
||||||
{{- range $portname, $port := ($enabledPorts | default dict) -}}
|
{{- range $portname, $port := ($enabledPorts | default dict) -}}
|
||||||
{{- $_ := set $port "name" $portname -}}
|
{{- $_ := set $port "name" $portname -}}
|
||||||
{{- $ports = mustAppend $ports $port -}}
|
{{- $ports = mustAppend $ports $port -}}
|
||||||
{{- end }}
|
{{- end -}}
|
||||||
{{- end }}
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{/* export/render the list of ports */}}
|
{{/* export/render the list of ports */}}
|
||||||
{{- if $ports -}}
|
{{- if $ports -}}
|
||||||
|
|
|
@ -4,7 +4,11 @@ Renders the Service objects required by the chart.
|
||||||
{{- define "bjw-s.common.render.services" -}}
|
{{- define "bjw-s.common.render.services" -}}
|
||||||
{{- /* Generate named services as required */ -}}
|
{{- /* Generate named services as required */ -}}
|
||||||
{{- range $name, $service := .Values.service -}}
|
{{- range $name, $service := .Values.service -}}
|
||||||
{{- if ($service.enabled | default true ) -}}
|
{{- $serviceEnabled := true -}}
|
||||||
|
{{- if hasKey $service "enabled" -}}
|
||||||
|
{{- $serviceEnabled = $service.enabled -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if $serviceEnabled -}}
|
||||||
{{- $serviceValues := $service -}}
|
{{- $serviceValues := $service -}}
|
||||||
|
|
||||||
{{/* set the default nameOverride to the service name */}}
|
{{/* set the default nameOverride to the service name */}}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
description: A common powered chart template. This can be useful for small projects that don't have their own chart.
|
description: A common powered chart template. This can be useful for small projects that don't have their own chart.
|
||||||
name: app-template
|
name: app-template
|
||||||
version: 1.1.2
|
version: 1.1.3
|
||||||
kubeVersion: ">=1.22.0-0"
|
kubeVersion: ">=1.22.0-0"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: bjw-s
|
- name: bjw-s
|
||||||
|
@ -10,12 +10,12 @@ maintainers:
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://bjw-s.github.io/helm-charts
|
repository: https://bjw-s.github.io/helm-charts
|
||||||
version: 1.1.2
|
version: 1.1.3
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |-
|
artifacthub.io/changes: |-
|
||||||
- kind: changed
|
- kind: changed
|
||||||
description: |
|
description: |
|
||||||
Updated library version to 1.1.1.
|
Updated library version to 1.1.3.
|
||||||
links:
|
links:
|
||||||
- name: Common library chart definition
|
- name: Common library chart definition
|
||||||
url: https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/Chart.yaml
|
url: https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/Chart.yaml
|
||||||
|
|
20
charts/other/app-template/ci/no-service.yaml
Normal file
20
charts/other/app-template/ci/no-service.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
image:
|
||||||
|
repository: b4bz/homer
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
enabled: false
|
||||||
|
readiness:
|
||||||
|
enabled: false
|
||||||
|
startup:
|
||||||
|
enabled: false
|
|
@ -23,7 +23,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -52,7 +52,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -89,5 +89,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -45,7 +45,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -79,5 +79,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -45,7 +45,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -79,5 +79,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -45,7 +45,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -79,5 +79,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -45,7 +45,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -79,5 +79,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: retain enabled should pass
|
- it: retain enabled should pass
|
||||||
set:
|
set:
|
||||||
|
@ -42,7 +42,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -68,7 +68,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -102,5 +102,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -23,7 +23,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -52,7 +52,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -89,5 +89,5 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -23,7 +23,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -52,7 +52,7 @@ tests:
|
||||||
app.kubernetes.io/instance: RELEASE-NAME
|
app.kubernetes.io/instance: RELEASE-NAME
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -89,7 +89,7 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom secret type should pass
|
- it: custom secret type should pass
|
||||||
|
|
|
@ -18,7 +18,7 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
app.kubernetes.io/service: RELEASE-NAME
|
app.kubernetes.io/service: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
|
|
||||||
- it: custom metadata should pass
|
- it: custom metadata should pass
|
||||||
set:
|
set:
|
||||||
|
@ -45,7 +45,7 @@ tests:
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
app.kubernetes.io/service: RELEASE-NAME
|
app.kubernetes.io/service: RELEASE-NAME
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
||||||
- it: custom metadata with global metadata should pass
|
- it: custom metadata with global metadata should pass
|
||||||
|
@ -80,5 +80,5 @@ tests:
|
||||||
app.kubernetes.io/name: RELEASE-NAME
|
app.kubernetes.io/name: RELEASE-NAME
|
||||||
app.kubernetes.io/service: RELEASE-NAME
|
app.kubernetes.io/service: RELEASE-NAME
|
||||||
global_label: test
|
global_label: test
|
||||||
helm.sh/chart: app-template-1.1.2
|
helm.sh/chart: app-template-1.1.3
|
||||||
test_label: test
|
test_label: test
|
||||||
|
|
|
@ -20,6 +20,18 @@ tests:
|
||||||
isKind:
|
isKind:
|
||||||
of: Service
|
of: Service
|
||||||
|
|
||||||
|
- it: services can be disabled
|
||||||
|
set:
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- documentIndex: &DeploymentDocument 0
|
||||||
|
isKind:
|
||||||
|
of: Deployment
|
||||||
|
|
||||||
- it: externalTrafficPolicy should pass for NodePort service
|
- it: externalTrafficPolicy should pass for NodePort service
|
||||||
set:
|
set:
|
||||||
service:
|
service:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue