Skip to content

Commit 0e775b5

Browse files
committed
sed default via crd definition instead via controller
1 parent ce234e9 commit 0e775b5

File tree

5 files changed

+38
-14
lines changed

5 files changed

+38
-14
lines changed

api/v1beta1/proxmoxmachine_types.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ type ProxmoxMachineSpec struct {
5353
CloudInit CloudInit `json:"cloudInit,omitempty"`
5454

5555
// Hardware
56-
Hardware Hardware `json:"hardware,omitempty"`
56+
// +kubebuilder:default:={cpu:2,disk:"50G",memory:4096,networkDevice:{model:virtio,bridge:vmbr0}}
57+
Hardware Hardware `json:"hardware"`
5758

5859
// Network
5960
Network Network `json:"network,omitempty"`

api/v1beta1/type.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,17 @@ type Hardware struct {
9898

9999
// network devices
100100
// to do: multiple devices
101-
NetworkDevice NetworkDevice `json:"networkDevice,omitempty"`
101+
// +kubebuilder:default:={model:virtio,bridge:vmbr0}
102+
NetworkDevice NetworkDevice `json:"networkDevice"`
102103
}
103104

104105
// Network Device
105106
type NetworkDevice struct {
106107
// +kubebuilder:default:="virtio"
107-
Model NetworkDeviceModel `json:"model,omitempty"`
108+
Model NetworkDeviceModel `json:"model"`
108109

109110
// +kubebuilder:default:="vmbr0"
110-
Bridge NetworkDeviceBridge `json:"bridge,omitempty"`
111+
Bridge NetworkDeviceBridge `json:"bridge"`
111112

112113
Firewall bool `json:"firewall,omitempty"`
113114

cloud/scope/machine.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -196,16 +196,6 @@ func (m *MachineScope) GetNetwork() infrav1.Network {
196196
}
197197

198198
func (m *MachineScope) GetHardware() infrav1.Hardware {
199-
// set default value if empty
200-
if m.ProxmoxMachine.Spec.Hardware.CPU == 0 {
201-
m.ProxmoxMachine.Spec.Hardware.CPU = 2
202-
}
203-
if m.ProxmoxMachine.Spec.Hardware.Memory == 0 {
204-
m.ProxmoxMachine.Spec.Hardware.Memory = 4096
205-
}
206-
if m.ProxmoxMachine.Spec.Hardware.Disk == "" {
207-
m.ProxmoxMachine.Spec.Hardware.Disk = "50G"
208-
}
209199
return m.ProxmoxMachine.Spec.Hardware
210200
}
211201

config/crd/bases/infrastructure.cluster.x-k8s.io_proxmoxmachines.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,13 @@ spec:
219219
this Machine should be attached to, as defined in Cluster API.
220220
type: string
221221
hardware:
222+
default:
223+
cpu: 2
224+
disk: 50G
225+
memory: 4096
226+
networkDevice:
227+
bridge: vmbr0
228+
model: virtio
222229
description: Hardware
223230
properties:
224231
bios:
@@ -249,6 +256,9 @@ spec:
249256
minimum: 16
250257
type: integer
251258
networkDevice:
259+
default:
260+
bridge: vmbr0
261+
model: virtio
252262
description: 'network devices to do: multiple devices'
253263
properties:
254264
bridge:
@@ -285,11 +295,16 @@ spec:
285295
items:
286296
type: integer
287297
type: array
298+
required:
299+
- bridge
300+
- model
288301
type: object
289302
sockets:
290303
description: The number of CPU sockets. Defaults to 1.
291304
minimum: 1
292305
type: integer
306+
required:
307+
- networkDevice
293308
type: object
294309
image:
295310
description: Image is the image to be provisioned
@@ -498,6 +513,7 @@ spec:
498513
minimum: 0
499514
type: integer
500515
required:
516+
- hardware
501517
- image
502518
type: object
503519
status:

config/crd/bases/infrastructure.cluster.x-k8s.io_proxmoxmachinetemplates.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,13 @@ spec:
236236
API.
237237
type: string
238238
hardware:
239+
default:
240+
cpu: 2
241+
disk: 50G
242+
memory: 4096
243+
networkDevice:
244+
bridge: vmbr0
245+
model: virtio
239246
description: Hardware
240247
properties:
241248
bios:
@@ -266,6 +273,9 @@ spec:
266273
minimum: 16
267274
type: integer
268275
networkDevice:
276+
default:
277+
bridge: vmbr0
278+
model: virtio
269279
description: 'network devices to do: multiple devices'
270280
properties:
271281
bridge:
@@ -302,11 +312,16 @@ spec:
302312
items:
303313
type: integer
304314
type: array
315+
required:
316+
- bridge
317+
- model
305318
type: object
306319
sockets:
307320
description: The number of CPU sockets. Defaults to 1.
308321
minimum: 1
309322
type: integer
323+
required:
324+
- networkDevice
310325
type: object
311326
image:
312327
description: Image is the image to be provisioned
@@ -522,6 +537,7 @@ spec:
522537
minimum: 0
523538
type: integer
524539
required:
540+
- hardware
525541
- image
526542
type: object
527543
required:

0 commit comments

Comments
 (0)