-
Notifications
You must be signed in to change notification settings - Fork 7
/
crd.yaml
94 lines (94 loc) · 2.59 KB
/
crd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: kcds.custom.k8s.io
spec:
group: custom.k8s.io
version: v1
scope: Namespaced
names:
plural: kcds
# singular: kcd
kind: KCD
# listKind: KCDList
shortNames:
- kcd
validation:
# openAPIV3Schema is the schema for validating custom objects.
openAPIV3Schema:
properties:
spec:
required:
- tag
- imageRepo
- selector
- container
properties:
tag:
type: string
pattern: '^[a-zA-Z0-9-_.]*$'
versionSyntax:
type: string
## default to regex for sha
# default: '[0-9a-f]{5,40}'
imageRepo:
type: string
pattern: '^[^:]*$'
# selector:
# type: objects
selector:
properties:
kcdapp:
type: string
required:
- kcdapp
# type: object
# See https://github.com/kubernetes/kubernetes/issues/59485 maps not supported fully
# additionalProperties:
# type: string
# # This would work .. map should only be keyed on string type
# # so not using it
# additionalProperties: true
container:
name:
type: string
verify:
type: array
kind:
type: string
image:
type: string
pattern: '^[^:]*$'
required:
- name
pollIntervalSeconds:
type: integer
livenessSeconds:
type: integer
config:
name:
type: string
key:
type: string
strategy:
kind:
type: string
blueGreen:
serviceName:
type: string
verificationServiceName:
type: string
labelNames:
type: array
items:
type: string
scaleDown:
type: boolean
verify:
type: array
kind:
type: string
image:
type: string
pattern: '^[^:]*$'