Skip to content

Commit 6f00057

Browse files
committed
Generates exp v1alpha4 types
- Generates v1alpha4 types for exp and exp/addons dir - Updates manifests and webhook configs - Updates PROJECT files to include alpha4 types - Updates Makefile to generate conversion files - Removes webhooks for v1alpha3 types Signed-off-by: Sagar Muchhal <[email protected]>
1 parent e7d16bd commit 6f00057

36 files changed

+2473
-23
lines changed

Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ generate-go-core: $(CONTROLLER_GEN) $(CONVERSION_GEN)
233233
paths=./cmd/clusterctl/...
234234
$(CONVERSION_GEN) \
235235
--input-dirs=./api/v1alpha3 \
236+
--input-dirs=./$(EXP_DIR)/api/v1alpha3 \
237+
--input-dirs=./$(EXP_DIR)/addons/api/v1alpha3 \
236238
--output-file-base=zz_generated.conversion \
237239
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
238240

PROJECT

+3
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@ resources:
2929
- group: cluster
3030
version: v1alpha4
3131
kind: MachineDeployment
32+
- group: cluster
33+
version: v1alpha4
34+
kind: MachinePool

config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesetbindings.yaml

+65
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,71 @@ spec:
1919
scope: Namespaced
2020
versions:
2121
- name: v1alpha3
22+
schema:
23+
openAPIV3Schema:
24+
description: ClusterResourceSetBinding lists all matching ClusterResourceSets with the cluster it belongs to.
25+
properties:
26+
apiVersion:
27+
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
28+
type: string
29+
kind:
30+
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
31+
type: string
32+
metadata:
33+
type: object
34+
spec:
35+
description: ClusterResourceSetBindingSpec defines the desired state of ClusterResourceSetBinding
36+
properties:
37+
bindings:
38+
description: Bindings is a list of ClusterResourceSets and their resources.
39+
items:
40+
description: ResourceSetBinding keeps info on all of the resources in a ClusterResourceSet.
41+
properties:
42+
clusterResourceSetName:
43+
description: ClusterResourceSetName is the name of the ClusterResourceSet that is applied to the owner cluster of the binding.
44+
type: string
45+
resources:
46+
description: Resources is a list of resources that the ClusterResourceSet has.
47+
items:
48+
description: ResourceBinding shows the status of a resource that belongs to a ClusterResourceSet matched by the owner cluster of the ClusterResourceSetBinding object.
49+
properties:
50+
applied:
51+
description: Applied is to track if a resource is applied to the cluster or not.
52+
type: boolean
53+
hash:
54+
description: Hash is the hash of a resource's data. This can be used to decide if a resource is changed. For "ApplyOnce" ClusterResourceSet.spec.strategy, this is no-op as that strategy does not act on change.
55+
type: string
56+
kind:
57+
description: 'Kind of the resource. Supported kinds are: Secrets and ConfigMaps.'
58+
enum:
59+
- Secret
60+
- ConfigMap
61+
type: string
62+
lastAppliedTime:
63+
description: LastAppliedTime identifies when this resource was last applied to the cluster.
64+
format: date-time
65+
type: string
66+
name:
67+
description: Name of the resource that is in the same namespace with ClusterResourceSet object.
68+
minLength: 1
69+
type: string
70+
required:
71+
- applied
72+
- kind
73+
- name
74+
type: object
75+
type: array
76+
required:
77+
- clusterResourceSetName
78+
type: object
79+
type: array
80+
type: object
81+
type: object
82+
served: true
83+
storage: false
84+
subresources:
85+
status: {}
86+
- name: v1alpha4
2287
schema:
2388
openAPIV3Schema:
2489
description: ClusterResourceSetBinding lists all matching ClusterResourceSets with the cluster it belongs to.

config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesets.yaml

+116
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,122 @@ spec:
131131
type: object
132132
type: object
133133
served: true
134+
storage: false
135+
subresources:
136+
status: {}
137+
- name: v1alpha4
138+
schema:
139+
openAPIV3Schema:
140+
description: ClusterResourceSet is the Schema for the clusterresourcesets API
141+
properties:
142+
apiVersion:
143+
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
144+
type: string
145+
kind:
146+
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
147+
type: string
148+
metadata:
149+
type: object
150+
spec:
151+
description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet
152+
properties:
153+
clusterSelector:
154+
description: Label selector for Clusters. The Clusters that are selected by this will be the ones affected by this ClusterResourceSet. It must match the Cluster labels. This field is immutable.
155+
properties:
156+
matchExpressions:
157+
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
158+
items:
159+
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
160+
properties:
161+
key:
162+
description: key is the label key that the selector applies to.
163+
type: string
164+
operator:
165+
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
166+
type: string
167+
values:
168+
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
169+
items:
170+
type: string
171+
type: array
172+
required:
173+
- key
174+
- operator
175+
type: object
176+
type: array
177+
matchLabels:
178+
additionalProperties:
179+
type: string
180+
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
181+
type: object
182+
type: object
183+
resources:
184+
description: Resources is a list of Secrets/ConfigMaps where each contains 1 or more resources to be applied to remote clusters.
185+
items:
186+
description: ResourceRef specifies a resource.
187+
properties:
188+
kind:
189+
description: 'Kind of the resource. Supported kinds are: Secrets and ConfigMaps.'
190+
enum:
191+
- Secret
192+
- ConfigMap
193+
type: string
194+
name:
195+
description: Name of the resource that is in the same namespace with ClusterResourceSet object.
196+
minLength: 1
197+
type: string
198+
required:
199+
- kind
200+
- name
201+
type: object
202+
type: array
203+
strategy:
204+
description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable.
205+
enum:
206+
- ApplyOnce
207+
type: string
208+
required:
209+
- clusterSelector
210+
type: object
211+
status:
212+
description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet
213+
properties:
214+
conditions:
215+
description: Conditions defines current state of the ClusterResourceSet.
216+
items:
217+
description: Condition defines an observation of a Cluster API resource operational state.
218+
properties:
219+
lastTransitionTime:
220+
description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
221+
format: date-time
222+
type: string
223+
message:
224+
description: A human readable message indicating details about the transition. This field may be empty.
225+
type: string
226+
reason:
227+
description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.
228+
type: string
229+
severity:
230+
description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.
231+
type: string
232+
status:
233+
description: Status of the condition, one of True, False, Unknown.
234+
type: string
235+
type:
236+
description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.
237+
type: string
238+
required:
239+
- status
240+
- type
241+
type: object
242+
type: array
243+
observedGeneration:
244+
description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet.
245+
format: int64
246+
type: integer
247+
type: object
248+
type: object
249+
served: true
134250
storage: true
135251
subresources:
136252
status: {}

0 commit comments

Comments
 (0)