allow crd verification to be disabled and disable on both lint and unittests

This commit is contained in:
Kjeld Schouten
2024-02-26 20:20:08 +01:00
parent 89bcb5caca
commit 7e402919fa
13 changed files with 23 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
remote: origin
target-branch: master
helm-extra-args: --debug
helm-extra-args: --debug --set crd.verify.enabled=false
chart-yaml-schema: .github/ct-install-config/chart_schema.yaml
chart-dirs:
- library

View File

@@ -92,7 +92,7 @@ jobs:
# Run tests
cd library/common-test/
helm dependency update
helm unittest -f "tests/**/*.yaml" .
helm unittest -f "tests/**/*.yaml" . --set crd.verify.enabled=false
install:
needs:

View File

@@ -14,7 +14,7 @@ objectData:
{{- $rootCtx := .rootCtx -}}
{{- $objectData := .objectData }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "ertificates.cert-manager.io" "missing" "Cert-Manager") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "ertificates.cert-manager.io" "missing" "Cert-Manager") }}
---
apiVersion: cert-manager.io/v1

View File

@@ -18,7 +18,7 @@
{{- $backupAnnotations := $objectData.backupAnnotations | default dict -}}
{{- $backupAnnotations = mustMerge $backupAnnotations $objAnnotations $globalBackupAnnotations }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "backups.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "backups.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
---
apiVersion: postgresql.cnpg.io/v1

View File

@@ -123,7 +123,7 @@
{{- $walSize = . -}}
{{- end }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "clusters.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "clusters.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
---
apiVersion: postgresql.cnpg.io/v1

View File

@@ -22,7 +22,7 @@
{{- $instances = 0 -}}
{{- end }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "poolers.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "poolers.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
---
apiVersion: postgresql.cnpg.io/v1

View File

@@ -31,7 +31,7 @@
{{- $immediate = $objectData.schedData.immediate -}}
{{- end }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "scheduledbackups.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "scheduledbackups.postgresql.cnpg.io" "missing" "CloudNative-PG") }}
---
apiVersion: postgresql.cnpg.io/v1

View File

@@ -15,7 +15,7 @@ objectData:
{{- $rootCtx := .rootCtx -}}
{{- $objectData := .objectData }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "backupstoragelocations.velero.io" "missing" "Velero") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "backupstoragelocations.velero.io" "missing" "Velero") }}
---
apiVersion: velero.io/v1

View File

@@ -26,7 +26,7 @@ objectData:
{{- $namespace = ($lookupBSL.items | first).metadata.namespace -}}
{{- end }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "schedules.velero.io" "missing" "Velero") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "schedules.velero.io" "missing" "Velero") }}
---
apiVersion: velero.io/v1

View File

@@ -15,7 +15,7 @@ objectData:
{{- $rootCtx := .rootCtx -}}
{{- $objectData := .objectData }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "volumesnapshotlocations.velero.io" "missing" "Velero") }}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "volumesnapshotlocations.velero.io" "missing" "Velero") }}
---
apiVersion: velero.io/v1

View File

@@ -54,7 +54,7 @@
{{- fail (printf "Ingress - Combined traefik entrypoints contain duplicates [%s]" (join ", " $entrypoints)) -}}
{{- end -}}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "crd" "middlewares.traefik.io" "missing" "Traefik") -}}
{{- include "tc.v1.common.lib.util.verifycrd" (dict "rootCtx" $rootCtx "crd" "middlewares.traefik.io" "missing" "Traefik") -}}
{{- $lookupMiddlewares := list -}}
{{- $parsedMiddlewares := list -}}

View File

@@ -1,12 +1,14 @@
{{- define "tc.v1.common.lib.util.verifycrd" -}}
{{- $crd := .crd -}}
{{- $missing := .missing | default (printf "Missing CRDs for %s" $crd) -}}
{{- $rootCtx := .rootCtx -}}
{{- $lookupMiddlewares := (lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" "" $crd) -}}
{{/* If there are items, re-assign the variable */}}
{{- if $lookupMiddlewares -}}
{{- else -}}
{{- fail (printf "%s have to be installed first" $missing) -}}
{{- if $rootCtx.crd.verify.enabled -}}
{{- $lookupMiddlewares := (lookup "apiextensions.k8s.io/v1" "CustomResourceDefinition" "" $crd) -}}
{{/* If there are items, re-assign the variable */}}
{{- if $lookupMiddlewares -}}
{{- else -}}
{{- fail (printf "%s has to be installed first" $missing) -}}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -855,6 +855,10 @@ metrics:
# # list to support adding rules via the SCALE GUI without overwrithing the rules
# additionalrules: []
crd:
verify:
enabled: true
# -- Contains specific settings for helm charts containing or using operators
operator:
# -- Adds a configmap to the operator to register this chart as an operator