Skip to content

Commit d880852

Browse files
authored
feat: add CustomCompatibilityMatrix (#3046)
1 parent 81ebd3c commit d880852

31 files changed

Lines changed: 2459 additions & 1 deletion
959 Bytes
Binary file not shown.
1 Byte
Binary file not shown.
959 Bytes
Binary file not shown.
6 Bytes
Binary file not shown.
Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.19.0
7+
name: customcompatibilitymatrices.deployments.plural.sh
8+
spec:
9+
group: deployments.plural.sh
10+
names:
11+
kind: CustomCompatibilityMatrix
12+
listKind: CustomCompatibilityMatrixList
13+
plural: customcompatibilitymatrices
14+
singular: customcompatibilitymatrix
15+
scope: Cluster
16+
versions:
17+
- additionalPrinterColumns:
18+
- description: CustomCompatibilityMatrix ID
19+
jsonPath: .status.id
20+
name: Id
21+
type: string
22+
name: v1alpha1
23+
schema:
24+
openAPIV3Schema:
25+
description: CustomCompatibilityMatrix is the Schema for the customcompatibilitymatrices
26+
API
27+
properties:
28+
apiVersion:
29+
description: |-
30+
APIVersion defines the versioned schema of this representation of an object.
31+
Servers should convert recognized schemas to the latest internal value, and
32+
may reject unrecognized values.
33+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
34+
type: string
35+
kind:
36+
description: |-
37+
Kind is a string value representing the REST resource this object represents.
38+
Servers may infer this from the endpoint the client submits requests to.
39+
Cannot be updated.
40+
In CamelCase.
41+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
42+
type: string
43+
metadata:
44+
type: object
45+
spec:
46+
description: CustomCompatibilityMatrixSpec defines the desired state of
47+
CustomCompatibilityMatrix
48+
properties:
49+
gitUrl:
50+
description: GitURL the git url to use for this matrix
51+
type: string
52+
icon:
53+
description: Icon the icon to use for this matrix
54+
type: string
55+
name:
56+
description: Name of this CustomCompatibilityMatrixSpec. If not provided
57+
CustomCompatibilityMatrixSpec's own name from CustomCompatibilityMatrixSpec.ObjectMeta
58+
will be used.
59+
type: string
60+
readmeUrl:
61+
description: ReadmeURL the readme url to use for this matrix
62+
type: string
63+
reconciliation:
64+
description: |-
65+
Reconciliation settings for this resource.
66+
Controls drift detection and reconciliation intervals.
67+
properties:
68+
driftDetection:
69+
default: true
70+
description: |-
71+
DriftDetection enables drift detection for this resource.
72+
It is destined to detect changes made to the related
73+
resources that are not referenced with owner ref.
74+
Use with Interval to set how often drift detection runs.
75+
example: false
76+
type: boolean
77+
interval:
78+
default: 30m
79+
description: |-
80+
Interval for the drift detection mechanism.
81+
It is subject to jitter to avoid the thundering herd problem,
82+
it is calculated as a random value between 50% and 150% of the given duration.
83+
example: 5m30s
84+
type: string
85+
type: object
86+
releaseUrl:
87+
description: ReleaseURL the release url to use for this matrix
88+
type: string
89+
versions:
90+
description: Versions the versions for this matrix
91+
items:
92+
properties:
93+
chartVersion:
94+
description: ChartVersion the chart version of the matrix
95+
type: string
96+
kube:
97+
description: Kube the kube version of the matrix
98+
items:
99+
type: string
100+
type: array
101+
summary:
102+
description: Summary the summary for this version
103+
properties:
104+
breakingChanges:
105+
description: BreakingChanges the breaking changes for this
106+
version
107+
items:
108+
type: string
109+
type: array
110+
helmChanges:
111+
description: HelmChanges the helm changes for this version
112+
items:
113+
type: string
114+
type: array
115+
type: object
116+
version:
117+
description: Version the version of the matrix
118+
type: string
119+
required:
120+
- version
121+
type: object
122+
type: array
123+
type: object
124+
status:
125+
properties:
126+
conditions:
127+
description: Represents the observations of a PrAutomation's current
128+
state.
129+
items:
130+
description: Condition contains details for one aspect of the current
131+
state of this API Resource.
132+
properties:
133+
lastTransitionTime:
134+
description: |-
135+
lastTransitionTime is the last time the condition transitioned from one status to another.
136+
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
137+
format: date-time
138+
type: string
139+
message:
140+
description: |-
141+
message is a human readable message indicating details about the transition.
142+
This may be an empty string.
143+
maxLength: 32768
144+
type: string
145+
observedGeneration:
146+
description: |-
147+
observedGeneration represents the .metadata.generation that the condition was set based upon.
148+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
149+
with respect to the current state of the instance.
150+
format: int64
151+
minimum: 0
152+
type: integer
153+
reason:
154+
description: |-
155+
reason contains a programmatic identifier indicating the reason for the condition's last transition.
156+
Producers of specific condition types may define expected values and meanings for this field,
157+
and whether the values are considered a guaranteed API.
158+
The value should be a CamelCase string.
159+
This field may not be empty.
160+
maxLength: 1024
161+
minLength: 1
162+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
163+
type: string
164+
status:
165+
description: status of the condition, one of True, False, Unknown.
166+
enum:
167+
- "True"
168+
- "False"
169+
- Unknown
170+
type: string
171+
type:
172+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
173+
maxLength: 316
174+
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
175+
type: string
176+
required:
177+
- lastTransitionTime
178+
- message
179+
- reason
180+
- status
181+
- type
182+
type: object
183+
type: array
184+
x-kubernetes-list-map-keys:
185+
- type
186+
x-kubernetes-list-type: map
187+
id:
188+
description: ID of the resource in the Console API.
189+
type: string
190+
readonly:
191+
default: false
192+
description: ReadOnly indicates whether the resource is read-only.
193+
type: boolean
194+
sha:
195+
description: SHA of last applied configuration.
196+
type: string
197+
required:
198+
- readonly
199+
type: object
200+
type: object
201+
served: true
202+
storage: true
203+
subresources:
204+
status: {}
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.19.0
7+
name: upgradeplancallouts.deployments.plural.sh
8+
spec:
9+
group: deployments.plural.sh
10+
names:
11+
kind: UpgradePlanCallout
12+
listKind: UpgradePlanCalloutList
13+
plural: upgradeplancallouts
14+
singular: upgradeplancallout
15+
scope: Cluster
16+
versions:
17+
- additionalPrinterColumns:
18+
- description: UpgradePlanCallout ID
19+
jsonPath: .status.id
20+
name: Id
21+
type: string
22+
name: v1alpha1
23+
schema:
24+
openAPIV3Schema:
25+
description: UpgradePlanCallout is the Schema for the upgradeplancallouts
26+
API
27+
properties:
28+
apiVersion:
29+
description: |-
30+
APIVersion defines the versioned schema of this representation of an object.
31+
Servers should convert recognized schemas to the latest internal value, and
32+
may reject unrecognized values.
33+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
34+
type: string
35+
kind:
36+
description: |-
37+
Kind is a string value representing the REST resource this object represents.
38+
Servers may infer this from the endpoint the client submits requests to.
39+
Cannot be updated.
40+
In CamelCase.
41+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
42+
type: string
43+
metadata:
44+
type: object
45+
spec:
46+
description: UpgradePlanCalloutSpec defines the desired state of UpgradePlanCallout
47+
properties:
48+
callouts:
49+
description: Callouts the callouts for this instance
50+
items:
51+
description: AddonCallout a callout for a specific addon in the
52+
upgrade plan
53+
properties:
54+
addon:
55+
description: Addon the addon this callout applies to
56+
type: string
57+
template:
58+
description: Template the template to use for this callout
59+
type: string
60+
required:
61+
- addon
62+
- template
63+
type: object
64+
type: array
65+
context:
66+
description: Context is an untyped object containing the context for
67+
this callout
68+
type: object
69+
x-kubernetes-preserve-unknown-fields: true
70+
name:
71+
description: Name of this UpgradePlanCallout. If not provided UpgradePlanCallout's
72+
own name from UpgradePlanCallout.ObjectMeta will be used.
73+
type: string
74+
reconciliation:
75+
description: |-
76+
Reconciliation settings for this resource.
77+
Controls drift detection and reconciliation intervals.
78+
properties:
79+
driftDetection:
80+
default: true
81+
description: |-
82+
DriftDetection enables drift detection for this resource.
83+
It is destined to detect changes made to the related
84+
resources that are not referenced with owner ref.
85+
Use with Interval to set how often drift detection runs.
86+
example: false
87+
type: boolean
88+
interval:
89+
default: 30m
90+
description: |-
91+
Interval for the drift detection mechanism.
92+
It is subject to jitter to avoid the thundering herd problem,
93+
it is calculated as a random value between 50% and 150% of the given duration.
94+
example: 5m30s
95+
type: string
96+
type: object
97+
type: object
98+
status:
99+
properties:
100+
conditions:
101+
description: Represents the observations of a PrAutomation's current
102+
state.
103+
items:
104+
description: Condition contains details for one aspect of the current
105+
state of this API Resource.
106+
properties:
107+
lastTransitionTime:
108+
description: |-
109+
lastTransitionTime is the last time the condition transitioned from one status to another.
110+
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
111+
format: date-time
112+
type: string
113+
message:
114+
description: |-
115+
message is a human readable message indicating details about the transition.
116+
This may be an empty string.
117+
maxLength: 32768
118+
type: string
119+
observedGeneration:
120+
description: |-
121+
observedGeneration represents the .metadata.generation that the condition was set based upon.
122+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
123+
with respect to the current state of the instance.
124+
format: int64
125+
minimum: 0
126+
type: integer
127+
reason:
128+
description: |-
129+
reason contains a programmatic identifier indicating the reason for the condition's last transition.
130+
Producers of specific condition types may define expected values and meanings for this field,
131+
and whether the values are considered a guaranteed API.
132+
The value should be a CamelCase string.
133+
This field may not be empty.
134+
maxLength: 1024
135+
minLength: 1
136+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
137+
type: string
138+
status:
139+
description: status of the condition, one of True, False, Unknown.
140+
enum:
141+
- "True"
142+
- "False"
143+
- Unknown
144+
type: string
145+
type:
146+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
147+
maxLength: 316
148+
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
149+
type: string
150+
required:
151+
- lastTransitionTime
152+
- message
153+
- reason
154+
- status
155+
- type
156+
type: object
157+
type: array
158+
x-kubernetes-list-map-keys:
159+
- type
160+
x-kubernetes-list-type: map
161+
id:
162+
description: ID of the resource in the Console API.
163+
type: string
164+
readonly:
165+
default: false
166+
description: ReadOnly indicates whether the resource is read-only.
167+
type: boolean
168+
sha:
169+
description: SHA of last applied configuration.
170+
type: string
171+
required:
172+
- readonly
173+
type: object
174+
type: object
175+
served: true
176+
storage: true
177+
subresources:
178+
status: {}

0 commit comments

Comments
 (0)