Skip to content

Commit 4347dee

Browse files
committed
add support for the claim.spec.clusterName property
1 parent 931ac37 commit 4347dee

File tree

7 files changed

+701
-563
lines changed

7 files changed

+701
-563
lines changed

config/crd/test/ipam.cluster.x-k8s.io_ipaddressclaims.yaml

+255-231
Large diffs are not rendered by default.

config/crd/test/ipam.cluster.x-k8s.io_ipaddresses.yaml

+198-178
Original file line numberDiff line numberDiff line change
@@ -3,192 +3,212 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.13.0
6+
controller-gen.kubebuilder.io/version: v0.16.1
77
name: ipaddresses.ipam.cluster.x-k8s.io
88
spec:
99
group: ipam.cluster.x-k8s.io
1010
names:
1111
categories:
12-
- cluster-api
12+
- cluster-api
1313
kind: IPAddress
1414
listKind: IPAddressList
1515
plural: ipaddresses
1616
singular: ipaddress
1717
scope: Namespaced
1818
versions:
19-
- additionalPrinterColumns:
20-
- description: Address
21-
jsonPath: .spec.address
22-
name: Address
23-
type: string
24-
- description: Name of the pool the address is from
25-
jsonPath: .spec.poolRef.name
26-
name: Pool Name
27-
type: string
28-
- description: Kind of the pool the address is from
29-
jsonPath: .spec.poolRef.kind
30-
name: Pool Kind
31-
type: string
32-
- description: Time duration since creation of IPAdress
33-
jsonPath: .metadata.creationTimestamp
34-
name: Age
35-
type: date
36-
name: v1alpha1
37-
schema:
38-
openAPIV3Schema:
39-
description: IPAddress is the Schema for the ipaddress API.
40-
properties:
41-
apiVersion:
42-
description: 'APIVersion defines the versioned schema of this representation
43-
of an object. Servers should convert recognized schemas to the latest
44-
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
45-
type: string
46-
kind:
47-
description: 'Kind is a string value representing the REST resource this
48-
object represents. Servers may infer this from the endpoint the client
49-
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
50-
type: string
51-
metadata:
52-
type: object
53-
spec:
54-
description: IPAddressSpec is the desired state of an IPAddress.
55-
properties:
56-
address:
57-
description: Address is the IP address.
58-
type: string
59-
claimRef:
60-
description: ClaimRef is a reference to the claim this IPAddress was
61-
created for.
62-
properties:
63-
name:
64-
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
65-
TODO: Add other useful fields. apiVersion, kind, uid?'
66-
type: string
67-
type: object
68-
x-kubernetes-map-type: atomic
69-
gateway:
70-
description: Gateway is the network gateway of the network the address
71-
is from.
72-
type: string
73-
poolRef:
74-
description: PoolRef is a reference to the pool that this IPAddress
75-
was created from.
76-
properties:
77-
apiGroup:
78-
description: APIGroup is the group for the resource being referenced.
79-
If APIGroup is not specified, the specified Kind must be in
80-
the core API group. For any other third-party types, APIGroup
81-
is required.
82-
type: string
83-
kind:
84-
description: Kind is the type of resource being referenced
85-
type: string
86-
name:
87-
description: Name is the name of resource being referenced
88-
type: string
89-
required:
90-
- kind
91-
- name
92-
type: object
93-
x-kubernetes-map-type: atomic
94-
prefix:
95-
description: Prefix is the prefix of the address.
96-
type: integer
97-
required:
98-
- address
99-
- claimRef
100-
- poolRef
101-
- prefix
102-
type: object
103-
type: object
104-
served: true
105-
storage: false
106-
subresources: {}
107-
- additionalPrinterColumns:
108-
- description: Address
109-
jsonPath: .spec.address
110-
name: Address
111-
type: string
112-
- description: Name of the pool the address is from
113-
jsonPath: .spec.poolRef.name
114-
name: Pool Name
115-
type: string
116-
- description: Kind of the pool the address is from
117-
jsonPath: .spec.poolRef.kind
118-
name: Pool Kind
119-
type: string
120-
- description: Time duration since creation of IPAdress
121-
jsonPath: .metadata.creationTimestamp
122-
name: Age
123-
type: date
124-
name: v1beta1
125-
schema:
126-
openAPIV3Schema:
127-
description: IPAddress is the Schema for the ipaddress API.
128-
properties:
129-
apiVersion:
130-
description: 'APIVersion defines the versioned schema of this representation
131-
of an object. Servers should convert recognized schemas to the latest
132-
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
133-
type: string
134-
kind:
135-
description: 'Kind is a string value representing the REST resource this
136-
object represents. Servers may infer this from the endpoint the client
137-
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
138-
type: string
139-
metadata:
140-
type: object
141-
spec:
142-
description: IPAddressSpec is the desired state of an IPAddress.
143-
properties:
144-
address:
145-
description: Address is the IP address.
146-
type: string
147-
claimRef:
148-
description: ClaimRef is a reference to the claim this IPAddress was
149-
created for.
150-
properties:
151-
name:
152-
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
153-
TODO: Add other useful fields. apiVersion, kind, uid?'
154-
type: string
155-
type: object
156-
x-kubernetes-map-type: atomic
157-
gateway:
158-
description: Gateway is the network gateway of the network the address
159-
is from.
160-
type: string
161-
poolRef:
162-
description: PoolRef is a reference to the pool that this IPAddress
163-
was created from.
164-
properties:
165-
apiGroup:
166-
description: APIGroup is the group for the resource being referenced.
167-
If APIGroup is not specified, the specified Kind must be in
168-
the core API group. For any other third-party types, APIGroup
169-
is required.
170-
type: string
171-
kind:
172-
description: Kind is the type of resource being referenced
173-
type: string
174-
name:
175-
description: Name is the name of resource being referenced
176-
type: string
177-
required:
178-
- kind
179-
- name
180-
type: object
181-
x-kubernetes-map-type: atomic
182-
prefix:
183-
description: Prefix is the prefix of the address.
184-
type: integer
185-
required:
186-
- address
187-
- claimRef
188-
- poolRef
189-
- prefix
190-
type: object
191-
type: object
192-
served: true
193-
storage: true
194-
subresources: {}
19+
- additionalPrinterColumns:
20+
- description: Address
21+
jsonPath: .spec.address
22+
name: Address
23+
type: string
24+
- description: Name of the pool the address is from
25+
jsonPath: .spec.poolRef.name
26+
name: Pool Name
27+
type: string
28+
- description: Kind of the pool the address is from
29+
jsonPath: .spec.poolRef.kind
30+
name: Pool Kind
31+
type: string
32+
- description: Time duration since creation of IPAdress
33+
jsonPath: .metadata.creationTimestamp
34+
name: Age
35+
type: date
36+
name: v1alpha1
37+
schema:
38+
openAPIV3Schema:
39+
description: IPAddress is the Schema for the ipaddress API.
40+
properties:
41+
apiVersion:
42+
description: |-
43+
APIVersion defines the versioned schema of this representation of an object.
44+
Servers should convert recognized schemas to the latest internal value, and
45+
may reject unrecognized values.
46+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
47+
type: string
48+
kind:
49+
description: |-
50+
Kind is a string value representing the REST resource this object represents.
51+
Servers may infer this from the endpoint the client submits requests to.
52+
Cannot be updated.
53+
In CamelCase.
54+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
55+
type: string
56+
metadata:
57+
type: object
58+
spec:
59+
description: IPAddressSpec is the desired state of an IPAddress.
60+
properties:
61+
address:
62+
description: Address is the IP address.
63+
type: string
64+
claimRef:
65+
description: ClaimRef is a reference to the claim this IPAddress was
66+
created for.
67+
properties:
68+
name:
69+
default: ""
70+
description: |-
71+
Name of the referent.
72+
This field is effectively required, but due to backwards compatibility is
73+
allowed to be empty. Instances of this type with an empty value here are
74+
almost certainly wrong.
75+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
76+
type: string
77+
type: object
78+
x-kubernetes-map-type: atomic
79+
gateway:
80+
description: Gateway is the network gateway of the network the address
81+
is from.
82+
type: string
83+
poolRef:
84+
description: PoolRef is a reference to the pool that this IPAddress
85+
was created from.
86+
properties:
87+
apiGroup:
88+
description: |-
89+
APIGroup is the group for the resource being referenced.
90+
If APIGroup is not specified, the specified Kind must be in the core API group.
91+
For any other third-party types, APIGroup is required.
92+
type: string
93+
kind:
94+
description: Kind is the type of resource being referenced
95+
type: string
96+
name:
97+
description: Name is the name of resource being referenced
98+
type: string
99+
required:
100+
- kind
101+
- name
102+
type: object
103+
x-kubernetes-map-type: atomic
104+
prefix:
105+
description: Prefix is the prefix of the address.
106+
type: integer
107+
required:
108+
- address
109+
- claimRef
110+
- poolRef
111+
- prefix
112+
type: object
113+
type: object
114+
served: true
115+
storage: false
116+
subresources: {}
117+
- additionalPrinterColumns:
118+
- description: Address
119+
jsonPath: .spec.address
120+
name: Address
121+
type: string
122+
- description: Name of the pool the address is from
123+
jsonPath: .spec.poolRef.name
124+
name: Pool Name
125+
type: string
126+
- description: Kind of the pool the address is from
127+
jsonPath: .spec.poolRef.kind
128+
name: Pool Kind
129+
type: string
130+
- description: Time duration since creation of IPAdress
131+
jsonPath: .metadata.creationTimestamp
132+
name: Age
133+
type: date
134+
name: v1beta1
135+
schema:
136+
openAPIV3Schema:
137+
description: IPAddress is the Schema for the ipaddress API.
138+
properties:
139+
apiVersion:
140+
description: |-
141+
APIVersion defines the versioned schema of this representation of an object.
142+
Servers should convert recognized schemas to the latest internal value, and
143+
may reject unrecognized values.
144+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
145+
type: string
146+
kind:
147+
description: |-
148+
Kind is a string value representing the REST resource this object represents.
149+
Servers may infer this from the endpoint the client submits requests to.
150+
Cannot be updated.
151+
In CamelCase.
152+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
153+
type: string
154+
metadata:
155+
type: object
156+
spec:
157+
description: IPAddressSpec is the desired state of an IPAddress.
158+
properties:
159+
address:
160+
description: Address is the IP address.
161+
type: string
162+
claimRef:
163+
description: ClaimRef is a reference to the claim this IPAddress was
164+
created for.
165+
properties:
166+
name:
167+
default: ""
168+
description: |-
169+
Name of the referent.
170+
This field is effectively required, but due to backwards compatibility is
171+
allowed to be empty. Instances of this type with an empty value here are
172+
almost certainly wrong.
173+
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
174+
type: string
175+
type: object
176+
x-kubernetes-map-type: atomic
177+
gateway:
178+
description: Gateway is the network gateway of the network the address
179+
is from.
180+
type: string
181+
poolRef:
182+
description: PoolRef is a reference to the pool that this IPAddress
183+
was created from.
184+
properties:
185+
apiGroup:
186+
description: |-
187+
APIGroup is the group for the resource being referenced.
188+
If APIGroup is not specified, the specified Kind must be in the core API group.
189+
For any other third-party types, APIGroup is required.
190+
type: string
191+
kind:
192+
description: Kind is the type of resource being referenced
193+
type: string
194+
name:
195+
description: Name is the name of resource being referenced
196+
type: string
197+
required:
198+
- kind
199+
- name
200+
type: object
201+
x-kubernetes-map-type: atomic
202+
prefix:
203+
description: Prefix is the prefix of the address.
204+
type: integer
205+
required:
206+
- address
207+
- claimRef
208+
- poolRef
209+
- prefix
210+
type: object
211+
type: object
212+
served: true
213+
storage: true
214+
subresources: {}

0 commit comments

Comments
 (0)