Skip to content

Commit f3cadc9

Browse files
authored
Merge pull request #16 from vidispine/release-1.21
- update HULL to K8S v1.21
2 parents 842e4c8 + 766eac8 commit f3cadc9

File tree

592 files changed

+15629
-300509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

592 files changed

+15629
-300509
lines changed

azure-pipelines-gated.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ jobs:
4545
- version: "3.4.2"
4646
#- version: "3.5.0"
4747
#- version: "3.5.1"
48-
- version: "3.5.2"
48+
- version: "3.5.3"

azure-pipelines.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
- version: "3.5.0"
4646
- version: "3.5.1"
4747
- version: "3.5.2"
48+
- version: "3.5.3"
4849

4950
- job: CreateRelease
5051
dependsOn: RunTests

hull/Chart.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v2
22
name: hull
3-
version: 1.20.0
4-
kubeVersion: ">= 1.20.0"
3+
version: 1.21.0
4+
kubeVersion: ">= 1.21.0"
55
description: HULL - Helm Uniform Layer Library
66
type: library
77
keywords:
@@ -12,4 +12,4 @@ dependencies: []
1212
maintainers:
1313
- name: georg weber
1414
email: georgmartin.weber@s4m.com
15-
appVersion: 1.20.0
15+
appVersion: 1.21.0

hull/README.md

Lines changed: 32 additions & 32 deletions
Large diffs are not rendered by default.

hull/doc/development.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
- `_objects_base_pod.tpl`: objects that internally use a pod template
1010
- `_objects_xyz.tpl`: any other more complex object with array structures that should be converted to dictionaries requires a custom template
1111

12-
[PriorityClass](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#priorityclass-v1-scheduling-k8s-io) is a very simple structure so it can use `_objects_base_plain.tpl`
12+
[PriorityClass](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#priorityclass-v1-scheduling-k8s-io) is a very simple structure so it can use `_objects_base_plain.tpl`
1313

1414
### Add to the handled objects in `hull.yaml`
1515

@@ -181,7 +181,34 @@ Create a new matching JSON schema in the `kubernetes-json-schema` folder with th
181181

182182
### Adapt the JSON schema
183183

184-
Copy the `_definition.json` from the newly created schema folder to `values.schema.json` in the `hull` charts root library overwriting the existing content. Compare the `values.schema.json` content with that of the previous release version branch and adapt as need (the complicated part). Consider copying the changes related to the objects that HULL deals with and leave other API changes alone.
184+
Copy the `_definition.json` from the newly created schema folder to `values.schema.json` in the `hull` charts root library overwriting the existing content. Compare the `values.schema.json` content with that of the previous release version branch and adapt as needed (the complicated part). Consider copying the changes related to the objects that HULL deals with and leave other API changes alone.
185+
Use a side-by-side tool such as BeyondCompare to do the comparison.
186+
187+
General hints for doing this when starting comparing top to bottom:
188+
- any block that ends with `.Names` and before that matches one of the Kubernetes API schema elements (typically right below such a block) you copy the block over to the new JSON schema. These blocks are used in the HULL schema to create valid union between K8S properties and HULL properties. For example this block:
189+
190+
```yaml
191+
"io.k8s.api.apps.v1.StatefulSetSpec.Names": {
192+
"enum": [
193+
"podManagementPolicy",
194+
"replicas",
195+
"revisionHistoryLimit",
196+
"updateStrategy",
197+
"serviceName",
198+
"volumeClaimTemplates"
199+
]
200+
},
201+
```
202+
203+
- `selector` and `template` elements for top level K8S objects need to be removed from the schema. HULL creates these elements automatically under the hood. If `selector` and `template` are listed under `required` elements remove them from the list as well
204+
- remove the `"additionalProperties": false` property from the top-level object schema
205+
- other properties which are part of the merged HULL JSON schema object need to be removed from the Kubernetes object schema, eg. `name`, `env`, `envFrom`, `volumeMounts` and `ports` from the `Container` spec
206+
- keep text-only changes to descriptions in the new schema
207+
- keep properties that are added to objects in the new schema which are not handled explicitly by HULL
208+
- if properties are added to an object which is handled by HULL and has a matching `.Names` block the new property name needs to be added to the `.Names` block
209+
- added `staticName` properties to objects need to be copied over to the new schema
210+
- if a top-level object migrates to a new version, you can create an incremented HULL schema object for the new version and reference it in the schema
211+
185212

186213
### Adapt `Chart.yaml`
187214

hull/doc/objects_horizontalpodautoscaler.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The HULL HorizontalPodAutoscaler object allows to reference a chart internal wor
66

77
### The `hull.HorizontalPodAutoscaler.v1` properties
88

9-
Properties can be set as they are defined in the [Kubernetes API's horizontalpodautoscalerspec spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#horizontalpodautoscalerspec-v1-autoscaling).
9+
Properties can be set as they are defined in the [Kubernetes API's horizontalpodautoscalerspec spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#horizontalpodautoscalerspec-v1-autoscaling).
1010

1111
However the properties listed below are overwritten or added by HULL:
1212

hull/doc/objects_ingress.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The HULL Ingress object offers some comfort features for specifying ingress obje
66

77
### The `hull.Ingress.v1` properties
88

9-
Properties can be set as they are defined in the [Kubernetes API's ingressspec spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ingressspec-v1-networking-k8s-io).
9+
Properties can be set as they are defined in the [Kubernetes API's ingressspec spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#ingressspec-v1-networking-k8s-io).
1010

1111
However the properties listed below are overwritten or added by HULL:
1212

@@ -19,7 +19,7 @@ However the properties listed below are overwritten or added by HULL:
1919

2020
> The key-value pairs of value type `hull.Ingress.Rule.v1` are converted to an array on rendering
2121
22-
Properties can be set as they are defined in the [Kubernetes API's ingressrule spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ingressrule-v1-networking-k8s-io).
22+
Properties can be set as they are defined in the [Kubernetes API's ingressrule spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#ingressrule-v1-networking-k8s-io).
2323

2424
However the properties listed below are overwritten or added by HULL:
2525

@@ -31,13 +31,13 @@ However the properties listed below are overwritten or added by HULL:
3131

3232
> The key-value pairs of value type `hull.Ingress.Rule.v1` are converted to an array on rendering
3333
34-
Properties can be set as they are defined in the [Kubernetes API's httpingresspath spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#httpingresspath-v1-networking-k8s-io).
34+
Properties can be set as they are defined in the [Kubernetes API's httpingresspath spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#httpingresspath-v1-networking-k8s-io).
3535

3636
### The `hull.Ingress.Tls.v1` properties
3737

3838
> The key-value pairs of value type `hull.Ingress.Tls.v1` are converted to an array on rendering
3939
40-
Properties can be set as they are defined in the [Kubernetes API's ingresstls spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#ingresstls-v1-networking-k8s-io).
40+
Properties can be set as they are defined in the [Kubernetes API's ingresstls spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#ingresstls-v1-networking-k8s-io).
4141

4242
However the properties listed below are overwritten or added by HULL:
4343

hull/doc/objects_pod.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ So for all HULL based objects, the pod specific information is wrapped like this
1818

1919
### The `hull.Pod.v1` properties
2020

21-
Properties can be set as they are defined in the [Kubernetes API's pod spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#podspec-v1-core).
21+
Properties can be set as they are defined in the [Kubernetes API's pod spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#podspec-v1-core).
2222

2323
However the properties listed below are overwritten or added by HULL:
2424

@@ -34,7 +34,7 @@ However the properties listed below are overwritten or added by HULL:
3434
3535
> The `name` property of the container is derived from the key.
3636
37-
Properties can be set as they are defined in the [Kubernetes API's container spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#container-v1-core).
37+
Properties can be set as they are defined in the [Kubernetes API's container spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#container-v1-core).
3838

3939
However the properties listed below are overwritten or added by HULL:
4040

@@ -62,7 +62,7 @@ Definition of container images is split into multiple parts to allow better supp
6262
6363
> The `name` property of the environment variable is derived from the key.
6464
65-
Properties can be set as they are defined in the [Kubernetes API's envvar spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#envvar-v1-core).
65+
Properties can be set as they are defined in the [Kubernetes API's envvar spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#envvar-v1-core).
6666

6767
However the properties listed below are overwritten or added by HULL:
6868

@@ -75,7 +75,7 @@ However the properties listed below are overwritten or added by HULL:
7575

7676
> The key-value pairs of value type `hull.EnvFrom.v1` are converted to an array on rendering
7777
78-
Properties can be set as they are defined in the [Kubernetes API's envfromsource spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#envfromsource-v1-core).
78+
Properties can be set as they are defined in the [Kubernetes API's envfromsource spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#envfromsource-v1-core).
7979

8080
However the properties listed below are overwritten or added by HULL:
8181

@@ -90,21 +90,21 @@ However the properties listed below are overwritten or added by HULL:
9090
9191
> The `name` property of the container's port is derived from the key.
9292
93-
Properties can be set as they are defined in the [Kubernetes API's containerport spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#containerport-v1-core).
93+
Properties can be set as they are defined in the [Kubernetes API's containerport spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#containerport-v1-core).
9494

9595
### The `hull.VolumeMount.v1` properties
9696

9797
> The key-value pairs of value type `hull.VolumeMount.v1` are converted to an array on rendering
9898
99-
Properties can be set as they are defined in the [Kubernetes API's volumemount spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volumemount-v1-core).
99+
Properties can be set as they are defined in the [Kubernetes API's volumemount spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#volumemount-v1-core).
100100

101101
### The `hull.Volume.v1` properties
102102

103103
> The key-value pairs of value type `hull.Volume.v1` are converted to an array on rendering
104104
105105
> The `name` property of the volume is derived from the key.
106106
107-
Properties can be set as they are defined in the [Kubernetes API's volume spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core).
107+
Properties can be set as they are defined in the [Kubernetes API's volume spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#volume-v1-core).
108108

109109
However the properties listed below are overwritten or added by HULL:
110110

hull/doc/objects_service.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The HULL Service object is a thin wrapper around the Kubernetes Service providin
66

77
### The `hull.Service.v1` properties
88

9-
Properties can be set as they are defined in the [Kubernetes API's service spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#service-v1-core).
9+
Properties can be set as they are defined in the [Kubernetes API's service spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#service-v1-core).
1010

1111
However the properties listed below are overwritten or added by HULL:
1212

hull/doc/objects_webhook.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The HULL Webhook objects allows to reference a chart internal webhook by simple
66

77
### The `hull.MutatingWebhook.v1` properties
88

9-
Properties can be set as they are defined in the [Kubernetes API's mutatingwebhookconfiguration spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#mutatingwebhookconfiguration-v1-admissionregistration-k8s-io).
9+
Properties can be set as they are defined in the [Kubernetes API's mutatingwebhookconfiguration spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#mutatingwebhookconfiguration-v1-admissionregistration-k8s-io).
1010

1111
However the properties listed below are overwritten or added by HULL:
1212

@@ -18,12 +18,12 @@ However the properties listed below are overwritten or added by HULL:
1818

1919
> The key-value pairs of value type `hull.MutatingWebhook.Webhook.v1` are converted to an array on rendering
2020
21-
Properties can be set as they are defined in the [Kubernetes API's mutatingwebhook spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#mutatingwebhook-v1-admissionregistration-k8s-io).
21+
Properties can be set as they are defined in the [Kubernetes API's mutatingwebhook spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#mutatingwebhook-v1-admissionregistration-k8s-io).
2222

2323

2424
### The `hull.ValidatingWebhook.v1` properties
2525

26-
Properties can be set as they are defined in the [Kubernetes API's validatingwebhookconfiguration spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#validatingwebhookconfiguration-v1-admissionregistration-k8s-io).
26+
Properties can be set as they are defined in the [Kubernetes API's validatingwebhookconfiguration spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#validatingwebhookconfiguration-v1-admissionregistration-k8s-io).
2727

2828
However the properties listed below are overwritten or added by HULL:
2929

@@ -35,7 +35,7 @@ However the properties listed below are overwritten or added by HULL:
3535

3636
> The key-value pairs of value type `hull.ValidatingWebhook.Webhook.v1` are converted to an array on rendering
3737
38-
Properties can be set as they are defined in the [Kubernetes API's validatingwebhook spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#validatingwebhook-v1-admissionregistration-k8s-io).
38+
Properties can be set as they are defined in the [Kubernetes API's validatingwebhook spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#validatingwebhook-v1-admissionregistration-k8s-io).
3939

4040
---
4141
Back to [README.md](./../README.md)

0 commit comments

Comments
 (0)