Skip to content

Commit 2811b21

Browse files
Merge pull request #162 from projectsyn/fix/crd-null-values
Fix CRDs containing null documents
2 parents 793857d + 2aa0af5 commit 2811b21

13 files changed

Lines changed: 44 additions & 25630 deletions

File tree

class/backup-k8up.yml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,11 @@ parameters:
66
chart_name: k8up
77
version: ${backup_k8up:charts:k8up:version}
88
output_path: dependencies/backup-k8up/helmcharts/v${backup_k8up:charts:k8up:version}
9-
- type: https
10-
source: https://github.com/vshn/k8up/releases/download/${backup_k8up:images:k8up:tag}/k8up-crd.yaml
11-
output_path: dependencies/backup-k8up/crds/${backup_k8up:images:k8up:tag}/02_k8up_crds.yaml
129
compile:
1310
- input_paths:
1411
- backup-k8up/component/app.jsonnet
1512
input_type: jsonnet
1613
output_path: .
17-
- input_paths:
18-
- backup-k8up/component/crds.jsonnet
19-
output_path: ${_instance}
20-
input_type: jsonnet
21-
output_type: yaml
2214
- output_path: ${_instance}/01_k8up_helmchart
2315
input_type: helm
2416
output_type: yaml
@@ -39,3 +31,6 @@ parameters:
3931
- type: jsonnet
4032
filter: postprocess/optional_global_config.jsonnet
4133
path: ${_instance}/01_k8up_helmchart/k8up/templates
34+
- type: jsonnet
35+
path: ${_instance}/01_k8up_helmchart/k8up/crds
36+
filter: postprocess/patch_crd.jsonnet

component/crds.jsonnet

Lines changed: 0 additions & 25 deletions
This file was deleted.

postprocess/patch_crd.jsonnet

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
local com = import 'lib/commodore.libjsonnet';
2+
3+
local crd_files = [
4+
'k8up.io_archives',
5+
'k8up.io_backups',
6+
'k8up.io_checks',
7+
'k8up.io_podconfigs',
8+
'k8up.io_prebackuppods',
9+
'k8up.io_prunes',
10+
'k8up.io_restores',
11+
'k8up.io_schedules',
12+
'k8up.io_snapshots',
13+
];
14+
15+
local crds = [
16+
{
17+
name: crd_file,
18+
content: com.yaml_load_all(std.extVar('output_path') + '/' + crd_file + '.yaml'),
19+
}
20+
for crd_file in crd_files
21+
];
22+
23+
{
24+
[crd.name]: std.filter(function(it) it != null, crd.content)[0] {
25+
metadata+: {
26+
annotations+: {
27+
'argocd.argoproj.io/sync-options': 'ServerSideApply=true',
28+
},
29+
},
30+
}
31+
for crd in crds
32+
}

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_archives.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: archives.k8up.io
98
spec:

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_backups.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: backups.k8up.io
98
spec:

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_checks.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: checks.k8up.io
98
spec:

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_podconfigs.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: podconfigs.k8up.io
98
spec:

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_prebackuppods.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: prebackuppods.k8up.io
98
spec:

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_prunes.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: prunes.k8up.io
98
spec:

tests/golden/defaults/backup-k8up/backup-k8up/01_k8up_helmchart/k8up/crds/k8up.io_restores.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
null
2-
---
31
apiVersion: apiextensions.k8s.io/v1
42
kind: CustomResourceDefinition
53
metadata:
64
annotations:
5+
argocd.argoproj.io/sync-options: ServerSideApply=true
76
controller-gen.kubebuilder.io/version: v0.14.0
87
name: restores.k8up.io
98
spec:

0 commit comments

Comments
 (0)