mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 08:57:04 +02:00
feat(common): Release version 1.2.0 (#92)
* fix(common): fix incorrect route default values (#91) * fix(common): make `sectionName` optional for route parentRefs * fix(common): name primary route correctly * feat(common): add controller.type of cronjob (#87) * fix(common): Fix invalid persistence type message (#85) * feat(common): Allow setting container restartPolicy Co-authored-by: András Maróy <andras@maroy.hu> Co-authored-by: loeken <loeken@internetz.me> Co-authored-by: Han Cen <hi@chamburr.com>
This commit is contained in:
parent
8f2a1ba9b4
commit
72670526a3
26 changed files with 351 additions and 66 deletions
|
@ -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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.0
|
||||
test_label: test
|
||||
|
|
67
charts/other/app-template/tests/controller/cronjob_test.yaml
Normal file
67
charts/other/app-template/tests/controller/cronjob_test.yaml
Normal file
|
@ -0,0 +1,67 @@
|
|||
suite: cronjob configuration
|
||||
templates:
|
||||
- common.yaml
|
||||
tests:
|
||||
- it: default cronjob configuration should pass
|
||||
set:
|
||||
controller:
|
||||
type: cronjob
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.schedule
|
||||
value: "*/20 * * * *"
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.concurrencyPolicy
|
||||
value: Forbid
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.successfulJobsHistoryLimit
|
||||
value: 1
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.failedJobsHistoryLimit
|
||||
value: 1
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.jobTemplate.spec.template.spec.restartPolicy
|
||||
value: Never
|
||||
|
||||
- it: custom cronjob configuration should pass
|
||||
set:
|
||||
controller:
|
||||
type: cronjob
|
||||
restartPolicy: OnFailure
|
||||
cronjob:
|
||||
schedule: &CronJobSchedule "0 3 * * *"
|
||||
concurrencyPolicy: &CronJobConcurrencyPolicy "Test"
|
||||
failedJobsHistory: &CronJobFailedJobsHistory 2
|
||||
successfulJobsHistory: &CronJobSuccessfulJobsHistory 3
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.schedule
|
||||
value: *CronJobSchedule
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.concurrencyPolicy
|
||||
value: *CronJobConcurrencyPolicy
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.successfulJobsHistoryLimit
|
||||
value: *CronJobSuccessfulJobsHistory
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.failedJobsHistoryLimit
|
||||
value: *CronJobFailedJobsHistory
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: spec.jobTemplate.spec.template.spec.restartPolicy
|
||||
value: OnFailure
|
|
@ -0,0 +1,83 @@
|
|||
suite: controller metadata cronjob
|
||||
templates:
|
||||
- common.yaml
|
||||
tests:
|
||||
- it: default metadata should pass
|
||||
set:
|
||||
controller.type: cronjob
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
isNull:
|
||||
path: metadata.annotations
|
||||
- documentIndex: *ControllerDoc
|
||||
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.2.0
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
controller:
|
||||
type: cronjob
|
||||
annotations:
|
||||
test_annotation: test
|
||||
labels:
|
||||
test_label: test
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: metadata.annotations
|
||||
value:
|
||||
test_annotation: test
|
||||
- documentIndex: *ControllerDoc
|
||||
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.2.0
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
set:
|
||||
global:
|
||||
labels:
|
||||
global_label: test
|
||||
annotations:
|
||||
global_annotation: test
|
||||
controller:
|
||||
type: cronjob
|
||||
annotations:
|
||||
test_annotation: test
|
||||
labels:
|
||||
test_label: test
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: metadata.annotations
|
||||
value:
|
||||
global_annotation: test
|
||||
test_annotation: test
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: metadata.labels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.0
|
||||
test_label: test
|
||||
|
|
|
@ -36,6 +36,18 @@ tests:
|
|||
path: metadata.name
|
||||
value: RELEASE-NAME
|
||||
|
||||
- it: cronjob should pass
|
||||
set:
|
||||
controller.type: cronjob
|
||||
asserts:
|
||||
- documentIndex: &ControllerDoc 0
|
||||
isKind:
|
||||
of: CronJob
|
||||
- documentIndex: *ControllerDoc
|
||||
equal:
|
||||
path: metadata.name
|
||||
value: RELEASE-NAME
|
||||
|
||||
- it: disabled should pass
|
||||
set:
|
||||
controller.enabled: false
|
||||
|
|
|
@ -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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.0
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
value:
|
||||
group: ""
|
||||
kind: Service
|
||||
name: RELEASE-NAME-main
|
||||
name: RELEASE-NAME
|
||||
namespace: NAMESPACE
|
||||
port: null
|
||||
weight: 1
|
||||
|
|
|
@ -181,3 +181,32 @@ tests:
|
|||
- documentIndex: &HTTPRouteDocument 3
|
||||
isNull:
|
||||
path: spec.hostnames
|
||||
|
||||
- it: sectionName in parentRefs should be optional
|
||||
set:
|
||||
route:
|
||||
main:
|
||||
enabled: true
|
||||
parentRefs:
|
||||
- name: parentName
|
||||
namespace: parentNamespace
|
||||
second:
|
||||
enabled: true
|
||||
parentRefs:
|
||||
- name: parentName
|
||||
namespace: parentNamespace
|
||||
sectionName: parentSection
|
||||
asserts:
|
||||
- documentIndex: &HTTPRouteDocument 2
|
||||
isKind:
|
||||
of: HTTPRoute
|
||||
- documentIndex: &HTTPRouteDocument 2
|
||||
isNull:
|
||||
path: spec.parentRefs[0].sectionName
|
||||
- documentIndex: &HTTPRouteDocument 3
|
||||
isKind:
|
||||
of: HTTPRoute
|
||||
- documentIndex: &HTTPRouteDocument 3
|
||||
equal:
|
||||
path: spec.parentRefs[0].sectionName
|
||||
value: parentSection
|
||||
|
|
|
@ -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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.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.1.3
|
||||
helm.sh/chart: app-template-1.2.0
|
||||
test_label: test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue