...
1apiVersion: v1
2kind: Namespace
3metadata:
4 name: pxe
5 labels:
6 workload.edge.ncr.com: platform
7 annotations:
8 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
9 pallet.edge.ncr.com/name: pxe
10 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
11 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
12 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
13 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
14---
15apiVersion: v1
16kind: ResourceQuota
17metadata:
18 name: pxe-critical-pods
19 namespace: pxe
20 annotations:
21 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
22 pallet.edge.ncr.com/name: pxe
23 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
24 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
25 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
26 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
27 labels: {}
28spec:
29 scopeSelector:
30 matchExpressions:
31 - operator: In
32 scopeName: PriorityClass
33 values:
34 - system-cluster-critical
35---
36apiVersion: apiextensions.k8s.io/v1
37kind: CustomResourceDefinition
38metadata:
39 name: dhcphosts.dnsmasq.kvaps.cf
40 annotations:
41 controller-gen.kubebuilder.io/version: v0.8.0
42 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
43 pallet.edge.ncr.com/name: pxe
44 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
45 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
46 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
47 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
48 labels: {}
49spec:
50 group: dnsmasq.kvaps.cf
51 names:
52 kind: DhcpHosts
53 listKind: DhcpHostsList
54 plural: dhcphosts
55 singular: dhcphosts
56 scope: Namespaced
57 versions:
58 - name: v1beta1
59 additionalPrinterColumns:
60 - name: Controller
61 type: string
62 jsonPath: .spec.controller
63 - name: Age
64 type: date
65 jsonPath: .metadata.creationTimestamp
66 schema:
67 openAPIV3Schema:
68 type: object
69 description: DhcpHosts is the Schema for the dhcphosts API
70 properties:
71 apiVersion:
72 type: string
73 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'
74 kind:
75 type: string
76 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'
77 metadata:
78 type: object
79 spec:
80 type: object
81 description: DhcpHostsSpec defines the desired state of DhcpHosts
82 properties:
83 controller:
84 type: string
85 hosts:
86 type: array
87 items:
88 type: object
89 description: DnsmasqDhcpHost holds the mapping between Macs and IP that will be added to dnsmasq dhcp-hosts file.
90 properties:
91 hostname:
92 type: string
93 clientID:
94 type: string
95 ignore:
96 type: boolean
97 ip:
98 type: string
99 leaseTime:
100 type: string
101 macs:
102 type: array
103 items:
104 type: string
105 setTags:
106 type: array
107 items:
108 type: string
109 tags:
110 type: array
111 items:
112 type: string
113 status:
114 type: object
115 description: DhcpHostsStatus defines the observed state of DhcpHosts
116 served: true
117 storage: true
118 subresources: {}
119---
120apiVersion: apiextensions.k8s.io/v1
121kind: CustomResourceDefinition
122metadata:
123 name: dhcpoptions.dnsmasq.kvaps.cf
124 annotations:
125 controller-gen.kubebuilder.io/version: v0.8.0
126 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
127 pallet.edge.ncr.com/name: pxe
128 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
129 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
130 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
131 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
132 labels: {}
133spec:
134 group: dnsmasq.kvaps.cf
135 names:
136 kind: DhcpOptions
137 listKind: DhcpOptionsList
138 plural: dhcpoptions
139 singular: dhcpoptions
140 scope: Namespaced
141 versions:
142 - name: v1beta1
143 additionalPrinterColumns:
144 - name: Controller
145 type: string
146 jsonPath: .spec.controller
147 - name: Age
148 type: date
149 jsonPath: .metadata.creationTimestamp
150 schema:
151 openAPIV3Schema:
152 type: object
153 description: DhcpOptions is the Schema for the dhcpoptions API
154 properties:
155 apiVersion:
156 type: string
157 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'
158 kind:
159 type: string
160 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'
161 metadata:
162 type: object
163 spec:
164 type: object
165 description: DhcpOptionsSpec defines the desired state of DhcpOptions
166 properties:
167 controller:
168 type: string
169 options:
170 type: array
171 items:
172 type: object
173 description: DhcpOption defines dhcp-option for dnsmasq
174 properties:
175 encap:
176 type: string
177 key:
178 type: string
179 pattern: ^([0-9]+|option:.+|option6:.+)$
180 leaseTime:
181 type: string
182 tags:
183 type: array
184 items:
185 type: string
186 values:
187 type: array
188 items:
189 type: string
190 viEncap:
191 type: string
192 required:
193 - key
194 - values
195 status:
196 type: object
197 description: DhcpOptionsStatus defines the observed state of DhcpOptions
198 served: true
199 storage: true
200 subresources: {}
201---
202apiVersion: apiextensions.k8s.io/v1
203kind: CustomResourceDefinition
204metadata:
205 name: dnshosts.dnsmasq.kvaps.cf
206 annotations:
207 controller-gen.kubebuilder.io/version: v0.8.0
208 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
209 pallet.edge.ncr.com/name: pxe
210 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
211 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
212 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
213 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
214 labels: {}
215spec:
216 group: dnsmasq.kvaps.cf
217 names:
218 kind: DnsHosts
219 listKind: DnsHostsList
220 plural: dnshosts
221 singular: dnshosts
222 scope: Namespaced
223 versions:
224 - name: v1beta1
225 additionalPrinterColumns:
226 - name: Controller
227 type: string
228 jsonPath: .spec.controller
229 - name: Age
230 type: date
231 jsonPath: .metadata.creationTimestamp
232 schema:
233 openAPIV3Schema:
234 type: object
235 description: DnsHosts is the Schema for the dnshosts API
236 properties:
237 apiVersion:
238 type: string
239 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'
240 kind:
241 type: string
242 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'
243 metadata:
244 type: object
245 spec:
246 type: object
247 description: DnsHostsSpec defines the desired state of DnsHosts
248 properties:
249 controller:
250 type: string
251 hosts:
252 type: array
253 items:
254 type: object
255 description: DnsHost holds the mapping between IP and hostnames that will be added to dnsmasq hosts file.
256 properties:
257 hostnames:
258 type: array
259 description: Hostnames for the above IP address.
260 items:
261 type: string
262 ip:
263 type: string
264 description: IP address of the host file entry.
265 required:
266 - ip
267 status:
268 type: object
269 description: DnsHostsStatus defines the observed state of DnsHosts
270 served: true
271 storage: true
272 subresources: {}
273---
274apiVersion: apiextensions.k8s.io/v1
275kind: CustomResourceDefinition
276metadata:
277 name: dnsmasqoptions.dnsmasq.kvaps.cf
278 annotations:
279 controller-gen.kubebuilder.io/version: v0.8.0
280 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
281 pallet.edge.ncr.com/name: pxe
282 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
283 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
284 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
285 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
286 labels: {}
287spec:
288 group: dnsmasq.kvaps.cf
289 names:
290 kind: DnsmasqOptions
291 listKind: DnsmasqOptionsList
292 plural: dnsmasqoptions
293 singular: dnsmasqoptions
294 scope: Namespaced
295 versions:
296 - name: v1beta1
297 additionalPrinterColumns:
298 - name: Controller
299 type: string
300 jsonPath: .spec.controller
301 - name: Age
302 type: date
303 jsonPath: .metadata.creationTimestamp
304 schema:
305 openAPIV3Schema:
306 type: object
307 description: DnsmasqOptions is the Schema for the dnsmasqoptions API
308 properties:
309 apiVersion:
310 type: string
311 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'
312 kind:
313 type: string
314 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'
315 metadata:
316 type: object
317 spec:
318 type: object
319 description: DnsmasqOptionsSpec defines the desired state of DnsmasqOptions
320 properties:
321 controller:
322 type: string
323 options:
324 type: array
325 items:
326 type: object
327 description: DnsmasqOption defines option for dnsmasq
328 properties:
329 key:
330 type: string
331 enum:
332 - dhcp-range
333 - dhcp-host
334 - dhcp-userclass
335 - dhcp-circuitid
336 - dhcp-remoteid
337 - dhcp-subscrid
338 - dhcp-ignore
339 - dhcp-broadcast
340 - mx-host
341 - dhcp-boot
342 - dhcp-option
343 - dhcp-option-force
344 - server
345 - rev-server
346 - local
347 - domain
348 - dhcp-vendorclass
349 - alias
350 - dhcp-vendorclass
351 - srv-host
352 - txt-record
353 - ptr-record
354 - bootp-dynamic
355 - dhcp-mac
356 - dhcp-ignore-names
357 - rebind-domain-ok
358 - dhcp-match
359 - dhcp-name-match
360 - tag-if
361 - naptr-record
362 - dhcp-generate-names
363 - cname
364 - pxe-service
365 - add-mac
366 - dhcp-duid
367 - host-record
368 - caa-record
369 - dns-rr
370 - auth-zone
371 - synth-domain
372 values:
373 type: array
374 items:
375 type: string
376 required:
377 - key
378 - values
379 status:
380 type: object
381 description: DnsmasqOptionsStatus defines the observed state of DnsmasqOptions
382 served: true
383 storage: true
384 subresources: {}
385---
386apiVersion: v1
387kind: ServiceAccount
388metadata:
389 name: dnsmasq-controller
390 namespace: pxe
391 annotations:
392 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
393 pallet.edge.ncr.com/name: pxe
394 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
395 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
396 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
397 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
398 labels: {}
399---
400apiVersion: rbac.authorization.k8s.io/v1
401kind: Role
402metadata:
403 name: dnsmasq-controller-leader-election
404 namespace: pxe
405 annotations:
406 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
407 pallet.edge.ncr.com/name: pxe
408 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
409 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
410 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
411 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
412 labels: {}
413rules:
414- resources:
415 - configmaps
416 apiGroups:
417 - ""
418 verbs:
419 - get
420 - list
421 - watch
422 - create
423 - update
424 - patch
425 - delete
426- resources:
427 - configmaps/status
428 apiGroups:
429 - ""
430 verbs:
431 - get
432 - update
433 - patch
434- resources:
435 - events
436 apiGroups:
437 - ""
438 verbs:
439 - create
440---
441apiVersion: rbac.authorization.k8s.io/v1
442kind: ClusterRole
443metadata:
444 name: dnsmasq-controller
445 annotations:
446 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
447 pallet.edge.ncr.com/name: pxe
448 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
449 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
450 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
451 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
452 labels: {}
453rules:
454- resources:
455 - dhcphosts
456 - dhcpoptions
457 - dnsmasqoptions
458 apiGroups:
459 - dnsmasq.kvaps.cf
460 verbs:
461 - get
462 - list
463 - watch
464 - create
465 - delete
466 - update
467- resources:
468 - dnshosts
469 apiGroups:
470 - dnsmasq.kvaps.cf
471 verbs:
472 - get
473 - list
474 - watch
475- resources:
476 - ienodes
477 apiGroups:
478 - dsds.edge.ncr.com
479 verbs:
480 - get
481 - list
482 - watch
483- resources:
484 - configmaps
485 apiGroups:
486 - ""
487 verbs:
488 - get
489 - list
490 - watch
491- resources:
492 - deployments
493 apiGroups:
494 - apps
495 verbs:
496 - get
497 - create
498 - patch
499 - delete
500 - list
501 - update
502 - watch
503- resources:
504 - services
505 apiGroups:
506 - ""
507 verbs:
508 - get
509 - create
510 - delete
511 - list
512 - watch
513- resources:
514 - secrets
515 apiGroups:
516 - ""
517 verbs:
518 - get
519 - list
520 - watch
521- resources:
522 - nodes
523 apiGroups:
524 - ""
525 verbs:
526 - get
527 - list
528 - watch
529---
530apiVersion: rbac.authorization.k8s.io/v1
531kind: RoleBinding
532metadata:
533 name: dnsmasq-controller-leader-election
534 namespace: pxe
535 annotations:
536 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
537 pallet.edge.ncr.com/name: pxe
538 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
539 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
540 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
541 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
542 labels: {}
543roleRef:
544 name: dnsmasq-controller-leader-election
545 kind: Role
546 apiGroup: rbac.authorization.k8s.io
547subjects:
548- name: dnsmasq-controller
549 namespace: pxe
550 kind: ServiceAccount
551---
552apiVersion: rbac.authorization.k8s.io/v1
553kind: ClusterRoleBinding
554metadata:
555 name: dnsmasq-controller
556 annotations:
557 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
558 pallet.edge.ncr.com/name: pxe
559 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
560 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
561 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
562 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
563 labels: {}
564roleRef:
565 name: dnsmasq-controller
566 kind: ClusterRole
567 apiGroup: rbac.authorization.k8s.io
568subjects:
569- name: dnsmasq-controller
570 namespace: pxe
571 kind: ServiceAccount
572---
573apiVersion: v1
574kind: ConfigMap
575metadata:
576 name: ipxe-template
577 namespace: pxe
578 annotations:
579 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
580 pallet.edge.ncr.com/name: pxe
581 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
582 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
583 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
584 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
585 labels: {}
586data:
587 IPXE_LOCATION: /opt/nodes
588 IPXE_TEMPLATE_LOCATION: /etc/node-ipxe-template.tmpl
589 node-ipxe-template.tmpl: |
590 #!ipxe
591 echo iPXE NCR {{.IEN_NAME}}
592 show unixtime
593 kernel http://{{.VIP}}:30095/vmlinuz initrd=initrd fetch=http://{{.VIP}}:30095/filesystem.squashfs BOOTIF={{.MAC}} ip={{.NODE_IP}}::{{.GATEWAY_4}}:{{.SUBNET_MASK}}:{{.IEN_NAME}}::off boot=live components locale=en_GB.UTF-8 setkmap=gb mirror/country=GB hostname=pxe-{{.IEN_NAME}} ncr/opmode=install {{.NCR_ACTIVATION_CODE}} ncr/edge_endpoint={{.API_ENDPOINT}}
594 initrd http://{{.VIP}}:30095/initrd
595 # shell
596 boot ||
597 # If everything failed, give the user some options
598 echo Boot failed
599 prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||
600---
601apiVersion: apps/v1
602kind: Deployment
603metadata:
604 name: dnsmasq-controller
605 labels:
606 app: dnsmasq-controller
607 role: dhcp
608 platform.edge.ncr.com/component: pxe-controller
609 namespace: pxe
610 annotations:
611 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
612 pallet.edge.ncr.com/name: pxe
613 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
614 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
615 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
616 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
617spec:
618 selector:
619 matchLabels:
620 app: dnsmasq-controller
621 role: dhcp
622 platform.edge.ncr.com/component: pxe-controller
623 template:
624 metadata:
625 labels:
626 app: dnsmasq-controller
627 role: dhcp
628 platform.edge.ncr.com/component: pxe-controller
629 annotations:
630 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
631 pallet.edge.ncr.com/name: pxe
632 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
633 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
634 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/sds'
635 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
636 spec:
637 terminationGracePeriodSeconds: 10
638 serviceAccountName: dnsmasq-controller
639 hostNetwork: true
640 priorityClassName: system-cluster-critical
641 containers:
642 - name: dnsmasq
643 image: us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/dnsmasq-controller@sha256:3f992c47121a4b3074c02e892f6ccf15dd01c8777fe5f3a19fe5880214cfeb6a
644 args:
645 - --watch-namespace=$(NAMESPACE)
646 - --metrics-addr=:0
647 - --enable-leader-election=true
648 - --dhcp
649 - --
650 - --dhcp-broadcast
651 - --dhcp-authoritative
652 - --leasefile-ro
653 - --enable-tftp
654 - --tftp-root=/opt
655 env:
656 - name: NAMESPACE
657 valueFrom:
658 fieldRef:
659 fieldPath: metadata.namespace
660 resources:
661 limits:
662 cpu: "100m"
663 memory: 30Mi
664 requests:
665 cpu: 100m
666 memory: 20Mi
667 securityContext:
668 capabilities:
669 add:
670 - NET_ADMIN
671 command: ["/dnsmasq-controller"]
672 imagePullPolicy: IfNotPresent
673 volumeMounts:
674 - name: nodes
675 mountPath: /opt/nodes
676 - name: pxe-controller
677 image: us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/pxe-controller@sha256:ea961dc8c22600632dd4f5b7e1f0fa0974901b7749f98b20ff2f82c97b407b6c
678 env:
679 - name: IPXE_LOCATION
680 valueFrom:
681 configMapKeyRef:
682 name: ipxe-template
683 key: IPXE_LOCATION
684 - name: IPXE_TEMPLATE_LOCATION
685 valueFrom:
686 configMapKeyRef:
687 name: ipxe-template
688 key: IPXE_TEMPLATE_LOCATION
689 - name: EDGE_API
690 value: https://$env.$domain/api/v2
691 volumeMounts:
692 - name: nodes
693 mountPath: /opt/nodes
694 - name: ipxe-template
695 readOnly: true
696 mountPath: "/etc/node-ipxe-template.tmpl"
697 subPath: "node-ipxe-template.tmpl"
698 - name: boot
699 readOnly: true
700 mountPath: "/boot"
701 imagePullPolicy: IfNotPresent
702 tolerations:
703 - effect: NoSchedule
704 operator: Exists
705 - effect: NoExecute
706 operator: Exists
707 - key: CriticalAddonsOnly
708 operator: Exists
709 affinity:
710 nodeAffinity:
711 preferredDuringSchedulingIgnoredDuringExecution:
712 - preference:
713 matchExpressions:
714 - key: node.ncr.com/class
715 operator: In
716 values:
717 - server
718 weight: 100
719 imagePullSecrets:
720 - name: edge-docker-pull-secret
721 volumes:
722 - name: boot
723 hostPath:
724 path: /boot
725 - name: ipxe-template
726 configMap:
727 name: ipxe-template
728 - name: nodes
729 emptyDir: {}
730 strategy:
731 type: Recreate
View as plain text