kcli 99.0.202507120954__py3-none-any.whl → 99.0.202601080644__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. {kcli-99.0.202507120954.dist-info → kcli-99.0.202601080644.dist-info}/METADATA +1 -1
  2. {kcli-99.0.202507120954.dist-info → kcli-99.0.202601080644.dist-info}/RECORD +68 -64
  3. {kcli-99.0.202507120954.dist-info → kcli-99.0.202601080644.dist-info}/entry_points.txt +2 -1
  4. kvirt/baseconfig.py +4 -9
  5. kvirt/cli.py +65 -19
  6. kvirt/cluster/hypershift/__init__.py +15 -23
  7. kvirt/cluster/kubeadm/__init__.py +1 -1
  8. kvirt/cluster/kubeadm/crio-d.sh +4 -4
  9. kvirt/cluster/kubeadm/keepalived.sh +1 -1
  10. kvirt/cluster/microshift/kcli_default.yml +1 -1
  11. kvirt/cluster/microshift/scripts/01_clients.sh +1 -1
  12. kvirt/cluster/openshift/99-kcli-forcedns +8 -11
  13. kvirt/cluster/openshift/__init__.py +80 -42
  14. kvirt/cluster/openshift/apps/advanced-cluster-management/assisted-service.sh +1 -1
  15. kvirt/cluster/openshift/apps/advanced-cluster-management/kcli_default.yml +1 -0
  16. kvirt/cluster/openshift/apps/advanced-cluster-management/post.sh +4 -0
  17. kvirt/cluster/openshift/apps/multicluster-engine/assisted-service.sh +1 -1
  18. kvirt/cluster/openshift/apps/odf-operator/cr.yml +5 -0
  19. kvirt/cluster/openshift/apps/odf-operator/kcli_default.yml +1 -0
  20. kvirt/cluster/openshift/apps/odf-operator/pre.sh +1 -0
  21. kvirt/cluster/openshift/bgp-vip.sh +16 -0
  22. kvirt/cluster/openshift/bootstrap.yml +31 -1
  23. kvirt/cluster/openshift/ctlplanes.yml +31 -1
  24. kvirt/cluster/openshift/disconnected/mirror-config.yaml +6 -6
  25. kvirt/cluster/openshift/disconnected/scripts/01_packages.sh +2 -2
  26. kvirt/cluster/openshift/disconnected/scripts/02_registry.sh +5 -1
  27. kvirt/cluster/openshift/disconnected/scripts/03_mirror.sh +5 -1
  28. kvirt/cluster/openshift/frr.conf +29 -0
  29. kvirt/cluster/openshift/frr_daemons +38 -0
  30. kvirt/cluster/openshift/install-config.yaml +1 -1
  31. kvirt/cluster/openshift/kcli_default.yml +15 -10
  32. kvirt/cluster/openshift/sno_default.yml +1 -0
  33. kvirt/cluster/openshift/staticpods/bgp.yml +34 -0
  34. kvirt/cluster/openshift/telco_manifests.yml +790 -0
  35. kvirt/cluster/openshift/workers.yml +9 -0
  36. kvirt/common/__init__.py +63 -14
  37. kvirt/config.py +15 -9
  38. kvirt/containerconfig.py +2 -2
  39. kvirt/defaults.py +13 -7
  40. kvirt/examples.py +28 -15
  41. kvirt/expose/__init__.py +1 -1
  42. kvirt/extra_keywords/kvm.yaml +1 -0
  43. kvirt/internalplans/__init__.py +3 -10
  44. kvirt/jinjafilters/jinjafilters.py +9 -4
  45. kvirt/keywords.yaml +3 -0
  46. kvirt/kfish/__init__.py +1 -1
  47. kvirt/kmcp.py +55 -11
  48. kvirt/ksushy/__init__.py +19 -21
  49. kvirt/kubecommon/__init__.py +8 -6
  50. kvirt/providers/aws/__init__.py +2 -2
  51. kvirt/providers/azure/__init__.py +2 -2
  52. kvirt/providers/fake/__init__.py +1 -1
  53. kvirt/providers/gcp/__init__.py +2 -2
  54. kvirt/providers/hcloud/__init__.py +64 -50
  55. kvirt/providers/ibm/__init__.py +2 -2
  56. kvirt/providers/kubevirt/__init__.py +110 -43
  57. kvirt/providers/kvm/__init__.py +56 -38
  58. kvirt/providers/openstack/__init__.py +19 -5
  59. kvirt/providers/ovirt/__init__.py +1 -1
  60. kvirt/providers/proxmox/__init__.py +1 -1
  61. kvirt/providers/sampleprovider.py +1 -1
  62. kvirt/providers/vsphere/__init__.py +1 -1
  63. kvirt/providers/web/__init__.py +1 -1
  64. kvirt/version/git +1 -1
  65. kvirt/web/__init__.py +1 -3
  66. kvirt/cluster/hypershift/ignition.sh +0 -12
  67. {kcli-99.0.202507120954.dist-info → kcli-99.0.202601080644.dist-info}/WHEEL +0 -0
  68. {kcli-99.0.202507120954.dist-info → kcli-99.0.202601080644.dist-info}/licenses/LICENSE +0 -0
  69. {kcli-99.0.202507120954.dist-info → kcli-99.0.202601080644.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,790 @@
1
+ - 98-var-lib-containers-partitioned.yaml: |
2
+ apiVersion: machineconfiguration.openshift.io/v1
3
+ kind: MachineConfig
4
+ metadata:
5
+ labels:
6
+ machineconfiguration.openshift.io/role: master
7
+ name: 98-var-lib-containers-partitioned
8
+ spec:
9
+ config:
10
+ ignition:
11
+ version: 3.2.0
12
+ storage:
13
+ disks:
14
+ - device: SNO_DISK
15
+ partitions:
16
+ - label: var-lib-containers
17
+ startMiB: 60000 # Leave room for rootfs
18
+ sizeMiB: 0 # Use available space
19
+ filesystems:
20
+ - device: /dev/disk/by-partlabel/var-lib-containers
21
+ format: xfs
22
+ mountOptions:
23
+ - defaults
24
+ - prjquota
25
+ path: /var/lib/containers
26
+ wipeFilesystem: true
27
+ systemd:
28
+ units:
29
+ - contents: |-
30
+ # Generated by Butane
31
+ [Unit]
32
+ Before=local-fs.target
33
+ Requires=systemd-fsck@dev-disk-by\x2dpartlabel-var\x2dlib\x2dcontainers.service
34
+ After=systemd-fsck@dev-disk-by\x2dpartlabel-var\x2dlib\x2dcontainers.service
35
+
36
+ [Mount]
37
+ Where=/var/lib/containers
38
+ What=/dev/disk/by-partlabel/var-lib-containers
39
+ Type=xfs
40
+ Options=defaults,prjquota
41
+
42
+ [Install]
43
+ RequiredBy=local-fs.target
44
+ enabled: true
45
+ name: var-lib-containers.mount
46
+ - 99_workload_partitioning.yaml: |
47
+ apiVersion: machineconfiguration.openshift.io/v1
48
+ kind: MachineConfig
49
+ metadata:
50
+ labels:
51
+ machineconfiguration.openshift.io/role: master
52
+ name: 02-master-workload-partitioning
53
+ spec:
54
+ config:
55
+ ignition:
56
+ version: 3.2.0
57
+ storage:
58
+ files:
59
+ - contents:
60
+ source: data:text/plain;charset=utf-8;base64,W2NyaW8ucnVudGltZS53b3JrbG9hZHMubWFuYWdlbWVudF0KYWN0aXZhdGlvbl9hbm5vdGF0aW9uID0gInRhcmdldC53b3JrbG9hZC5vcGVuc2hpZnQuaW8vbWFuYWdlbWVudCIKYW5ub3RhdGlvbl9wcmVmaXggPSAicmVzb3VyY2VzLndvcmtsb2FkLm9wZW5zaGlmdC5pbyIKcmVzb3VyY2VzID0geyAiY3B1c2hhcmVzIiA9IDAsICJjcHVzZXQiID0gIjAtNyIgfQo=
61
+ mode: 420
62
+ overwrite: true
63
+ path: /etc/crio/crio.conf.d/01-workload-partitioning
64
+ user:
65
+ name: root
66
+ - contents:
67
+ source: data:text/plain;charset=utf-8;base64,ewogICJtYW5hZ2VtZW50IjogewogICAgImNwdXNldCI6ICIwLTciCiAgfQp9Cg==
68
+ mode: 420
69
+ overwrite: true
70
+ path: /etc/kubernetes/openshift-workload-pinning
71
+ user:
72
+ name: root
73
+ - 99-openshift-disconnected-catalog.yaml: |
74
+ apiVersion: operators.coreos.com/v1alpha1
75
+ kind: CatalogSource
76
+ metadata:
77
+ annotations:
78
+ ran.openshift.io/ztp-deploy-wave: "1"
79
+ name: redhat-operator-index
80
+ namespace: openshift-marketplace
81
+ spec:
82
+ image: REGISTRY/redhat/redhat-operator-index:vTAG
83
+ sourceType: grpc
84
+ - 01-container-mount-ns-and-kubelet-conf-master.yaml: |
85
+ # Automatically generated by extra-manifests-builder
86
+ # Do not make changes directly.
87
+ apiVersion: machineconfiguration.openshift.io/v1
88
+ kind: MachineConfig
89
+ metadata:
90
+ labels:
91
+ machineconfiguration.openshift.io/role: master
92
+ name: container-mount-namespace-and-kubelet-conf-master
93
+ spec:
94
+ config:
95
+ ignition:
96
+ version: 3.2.0
97
+ storage:
98
+ files:
99
+ - contents:
100
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKCmRlYnVnKCkgewogIGVjaG8gJEAgPiYyCn0KCnVzYWdlKCkgewogIGVjaG8gVXNhZ2U6ICQoYmFzZW5hbWUgJDApIFVOSVQgW2VudmZpbGUgW3Zhcm5hbWVdXQogIGVjaG8KICBlY2hvIEV4dHJhY3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBmaXJzdCBFeGVjU3RhcnQgc3RhbnphIGZyb20gdGhlIGdpdmVuIHN5c3RlbWQgdW5pdCBhbmQgcmV0dXJuIGl0IHRvIHN0ZG91dAogIGVjaG8KICBlY2hvICJJZiAnZW52ZmlsZScgaXMgcHJvdmlkZWQsIHB1dCBpdCBpbiB0aGVyZSBpbnN0ZWFkLCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lZCAndmFybmFtZSciCiAgZWNobyAiRGVmYXVsdCAndmFybmFtZScgaXMgRVhFQ1NUQVJUIGlmIG5vdCBzcGVjaWZpZWQiCiAgZXhpdCAxCn0KClVOSVQ9JDEKRU5WRklMRT0kMgpWQVJOQU1FPSQzCmlmIFtbIC16ICRVTklUIHx8ICRVTklUID09ICItLWhlbHAiIHx8ICRVTklUID09ICItaCIgXV07IHRoZW4KICB1c2FnZQpmaQpkZWJ1ZyAiRXh0cmFjdGluZyBFeGVjU3RhcnQgZnJvbSAkVU5JVCIKRklMRT0kKHN5c3RlbWN0bCBjYXQgJFVOSVQgfCBoZWFkIC1uIDEpCkZJTEU9JHtGSUxFI1wjIH0KaWYgW1sgISAtZiAkRklMRSBdXTsgdGhlbgogIGRlYnVnICJGYWlsZWQgdG8gZmluZCByb290IGZpbGUgZm9yIHVuaXQgJFVOSVQgKCRGSUxFKSIKICBleGl0CmZpCmRlYnVnICJTZXJ2aWNlIGRlZmluaXRpb24gaXMgaW4gJEZJTEUiCkVYRUNTVEFSVD0kKHNlZCAtbiAtZSAnL15FeGVjU3RhcnQ9LipcXCQvLC9bXlxcXSQvIHsgcy9eRXhlY1N0YXJ0PS8vOyBwIH0nIC1lICcvXkV4ZWNTdGFydD0uKlteXFxdJC8geyBzL15FeGVjU3RhcnQ9Ly87IHAgfScgJEZJTEUpCgppZiBbWyAkRU5WRklMRSBdXTsgdGhlbgogIFZBUk5BTUU9JHtWQVJOQU1FOi1FWEVDU1RBUlR9CiAgZWNobyAiJHtWQVJOQU1FfT0ke0VYRUNTVEFSVH0iID4gJEVOVkZJTEUKZWxzZQogIGVjaG8gJEVYRUNTVEFSVApmaQo=
101
+ mode: 493
102
+ path: /usr/local/bin/extractExecStart
103
+ - contents:
104
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKbnNlbnRlciAtLW1vdW50PS9ydW4vY29udGFpbmVyLW1vdW50LW5hbWVzcGFjZS9tbnQgIiRAIgo=
105
+ mode: 493
106
+ path: /usr/local/bin/nsenterCmns
107
+ systemd:
108
+ units:
109
+ - contents: |
110
+ [Unit]
111
+ Description=Manages a mount namespace that both kubelet and crio can use to share their container-specific mounts
112
+
113
+ [Service]
114
+ Type=oneshot
115
+ RemainAfterExit=yes
116
+ RuntimeDirectory=container-mount-namespace
117
+ Environment=RUNTIME_DIRECTORY=%t/container-mount-namespace
118
+ Environment=BIND_POINT=%t/container-mount-namespace/mnt
119
+ ExecStartPre=bash -c "findmnt ${RUNTIME_DIRECTORY} || mount --make-unbindable --bind ${RUNTIME_DIRECTORY} ${RUNTIME_DIRECTORY}"
120
+ ExecStartPre=touch ${BIND_POINT}
121
+ ExecStart=unshare --mount=${BIND_POINT} --propagation slave mount --make-rshared /
122
+ ExecStop=umount -R ${RUNTIME_DIRECTORY}
123
+ name: container-mount-namespace.service
124
+ - dropins:
125
+ - contents: |
126
+ [Unit]
127
+ Wants=container-mount-namespace.service
128
+ After=container-mount-namespace.service
129
+
130
+ [Service]
131
+ ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART
132
+ EnvironmentFile=-/%t/%N-execstart.env
133
+ ExecStart=
134
+ ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \
135
+ ${ORIG_EXECSTART}"
136
+ name: 90-container-mount-namespace.conf
137
+ name: crio.service
138
+ - dropins:
139
+ - contents: |
140
+ [Unit]
141
+ Wants=container-mount-namespace.service
142
+ After=container-mount-namespace.service
143
+
144
+ [Service]
145
+ ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART
146
+ EnvironmentFile=-/%t/%N-execstart.env
147
+ ExecStart=
148
+ ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \
149
+ ${ORIG_EXECSTART} --housekeeping-interval=30s"
150
+ name: 90-container-mount-namespace.conf
151
+ - contents: |
152
+ [Service]
153
+ Environment="OPENSHIFT_MAX_HOUSEKEEPING_INTERVAL_DURATION=60s"
154
+ Environment="OPENSHIFT_EVICTION_MONITORING_PERIOD_DURATION=30s"
155
+ name: 30-kubelet-interval-tuning.conf
156
+ name: kubelet.service
157
+ - 01-container-mount-ns-and-kubelet-conf-worker.yaml: |
158
+ # Automatically generated by extra-manifests-builder
159
+ # Do not make changes directly.
160
+ apiVersion: machineconfiguration.openshift.io/v1
161
+ kind: MachineConfig
162
+ metadata:
163
+ labels:
164
+ machineconfiguration.openshift.io/role: worker
165
+ name: container-mount-namespace-and-kubelet-conf-worker
166
+ spec:
167
+ config:
168
+ ignition:
169
+ version: 3.2.0
170
+ storage:
171
+ files:
172
+ - contents:
173
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKCmRlYnVnKCkgewogIGVjaG8gJEAgPiYyCn0KCnVzYWdlKCkgewogIGVjaG8gVXNhZ2U6ICQoYmFzZW5hbWUgJDApIFVOSVQgW2VudmZpbGUgW3Zhcm5hbWVdXQogIGVjaG8KICBlY2hvIEV4dHJhY3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBmaXJzdCBFeGVjU3RhcnQgc3RhbnphIGZyb20gdGhlIGdpdmVuIHN5c3RlbWQgdW5pdCBhbmQgcmV0dXJuIGl0IHRvIHN0ZG91dAogIGVjaG8KICBlY2hvICJJZiAnZW52ZmlsZScgaXMgcHJvdmlkZWQsIHB1dCBpdCBpbiB0aGVyZSBpbnN0ZWFkLCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lZCAndmFybmFtZSciCiAgZWNobyAiRGVmYXVsdCAndmFybmFtZScgaXMgRVhFQ1NUQVJUIGlmIG5vdCBzcGVjaWZpZWQiCiAgZXhpdCAxCn0KClVOSVQ9JDEKRU5WRklMRT0kMgpWQVJOQU1FPSQzCmlmIFtbIC16ICRVTklUIHx8ICRVTklUID09ICItLWhlbHAiIHx8ICRVTklUID09ICItaCIgXV07IHRoZW4KICB1c2FnZQpmaQpkZWJ1ZyAiRXh0cmFjdGluZyBFeGVjU3RhcnQgZnJvbSAkVU5JVCIKRklMRT0kKHN5c3RlbWN0bCBjYXQgJFVOSVQgfCBoZWFkIC1uIDEpCkZJTEU9JHtGSUxFI1wjIH0KaWYgW1sgISAtZiAkRklMRSBdXTsgdGhlbgogIGRlYnVnICJGYWlsZWQgdG8gZmluZCByb290IGZpbGUgZm9yIHVuaXQgJFVOSVQgKCRGSUxFKSIKICBleGl0CmZpCmRlYnVnICJTZXJ2aWNlIGRlZmluaXRpb24gaXMgaW4gJEZJTEUiCkVYRUNTVEFSVD0kKHNlZCAtbiAtZSAnL15FeGVjU3RhcnQ9LipcXCQvLC9bXlxcXSQvIHsgcy9eRXhlY1N0YXJ0PS8vOyBwIH0nIC1lICcvXkV4ZWNTdGFydD0uKlteXFxdJC8geyBzL15FeGVjU3RhcnQ9Ly87IHAgfScgJEZJTEUpCgppZiBbWyAkRU5WRklMRSBdXTsgdGhlbgogIFZBUk5BTUU9JHtWQVJOQU1FOi1FWEVDU1RBUlR9CiAgZWNobyAiJHtWQVJOQU1FfT0ke0VYRUNTVEFSVH0iID4gJEVOVkZJTEUKZWxzZQogIGVjaG8gJEVYRUNTVEFSVApmaQo=
174
+ mode: 493
175
+ path: /usr/local/bin/extractExecStart
176
+ - contents:
177
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKbnNlbnRlciAtLW1vdW50PS9ydW4vY29udGFpbmVyLW1vdW50LW5hbWVzcGFjZS9tbnQgIiRAIgo=
178
+ mode: 493
179
+ path: /usr/local/bin/nsenterCmns
180
+ systemd:
181
+ units:
182
+ - contents: |
183
+ [Unit]
184
+ Description=Manages a mount namespace that both kubelet and crio can use to share their container-specific mounts
185
+
186
+ [Service]
187
+ Type=oneshot
188
+ RemainAfterExit=yes
189
+ RuntimeDirectory=container-mount-namespace
190
+ Environment=RUNTIME_DIRECTORY=%t/container-mount-namespace
191
+ Environment=BIND_POINT=%t/container-mount-namespace/mnt
192
+ ExecStartPre=bash -c "findmnt ${RUNTIME_DIRECTORY} || mount --make-unbindable --bind ${RUNTIME_DIRECTORY} ${RUNTIME_DIRECTORY}"
193
+ ExecStartPre=touch ${BIND_POINT}
194
+ ExecStart=unshare --mount=${BIND_POINT} --propagation slave mount --make-rshared /
195
+ ExecStop=umount -R ${RUNTIME_DIRECTORY}
196
+ name: container-mount-namespace.service
197
+ - dropins:
198
+ - contents: |
199
+ [Unit]
200
+ Wants=container-mount-namespace.service
201
+ After=container-mount-namespace.service
202
+
203
+ [Service]
204
+ ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART
205
+ EnvironmentFile=-/%t/%N-execstart.env
206
+ ExecStart=
207
+ ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \
208
+ ${ORIG_EXECSTART}"
209
+ name: 90-container-mount-namespace.conf
210
+ name: crio.service
211
+ - dropins:
212
+ - contents: |
213
+ [Unit]
214
+ Wants=container-mount-namespace.service
215
+ After=container-mount-namespace.service
216
+
217
+ [Service]
218
+ ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART
219
+ EnvironmentFile=-/%t/%N-execstart.env
220
+ ExecStart=
221
+ ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \
222
+ ${ORIG_EXECSTART} --housekeeping-interval=30s"
223
+ name: 90-container-mount-namespace.conf
224
+ - contents: |
225
+ [Service]
226
+ Environment="OPENSHIFT_MAX_HOUSEKEEPING_INTERVAL_DURATION=60s"
227
+ Environment="OPENSHIFT_EVICTION_MONITORING_PERIOD_DURATION=30s"
228
+ name: 30-kubelet-interval-tuning.conf
229
+ name: kubelet.service
230
+ - 01-disk-encryption-pcr-rebind-master.yaml: |
231
+ # Automatically generated by extra-manifests-builder
232
+ # Do not make changes directly.
233
+ apiVersion: machineconfiguration.openshift.io/v1
234
+ kind: MachineConfig
235
+ metadata:
236
+ labels:
237
+ machineconfiguration.openshift.io/role: master
238
+ name: 01-disk-encryption-rebind-master
239
+ spec:
240
+ config:
241
+ ignition:
242
+ version: 3.2.0
243
+ storage:
244
+ files:
245
+ - contents:
246
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKQ0xFVklTPWNsZXZpcwpMU0JMSz1sc2JsawpERUJVRz0idHJ1ZSIKUkVTRVJWRURfU0xPVD0zMQpDTEVWSVNfQ09ORklHX1JFU0VSVkVEX1NMT1Q9IiRSRVNFUlZFRF9TTE9UOiB0cG0yICd7XCJoYXNoXCI6XCJzaGEyNTZcIixcImtleVwiOlwiZWNjXCJ9JyIKVFJVRT0wCkZBTFNFPTEKCiNzZXQgLXgKCiMgbG9nIGZ1bmN0aW9uLiBUYWtlcyAyIGFyZ3VtZW50czoKIyBsb2cgbGV2ZWw6IGRlYnVnIG9yIGluZm8KIyBzdHJpbmcgdG8gcHJpbnQKbG9nKCkgewoJbG9jYWwgbG9nTGV2ZWwgbG9nVGV4dAoKCWxvZ0xldmVsPSIkMSIKCWxvZ1RleHQ9IiQyIgoJY2FzZSAkbG9nTGV2ZWwgaW4KCSJkZWJ1ZyIpCgkJZWNobyAiREVCVUcgLSAkbG9nVGV4dCIgPiYyCgkJOzsKCSJpbmZvIikKCQllY2hvICJJTkZPIC0gJGxvZ1RleHQiID4mMgoJCTs7CgkqKQoJCSMgQ29kZSB0byBleGVjdXRlIHdoZW4gbm8gcGF0dGVybnMgbWF0Y2gKCQk7OwoJZXNhYwp9CgojIGxvZ3MgYSBzdHJpbmcgd2l0aCBhIGRlYnVnIGxldmVsCmxvZ0RlYnVnKCkgewoJbG9jYWwgbG9nVGV4dD0iJDEiCglpZiAhIFsgLXYgREVCVUcgXSB8fCB7IFsgLXYgREVCVUcgXSAmJiBbICIkREVCVUciID09ICJ0cnVlIiBdOyB9OyB0aGVuCgkJbG9nICJkZWJ1ZyIgIiRsb2dUZXh0IgoJZmkKfQoKIyBsb2dzIGEgc3RyaW5nIHdpdGggYSBpbmZvIGxldmVsCmxvZ0luZm8oKSB7Cglsb2NhbCBsb2dUZXh0CgoJbG9nVGV4dD0iJDEiCglsb2cgImluZm8iICIkbG9nVGV4dCIKfQoKIyByZXR1cm4gJFRSVUUgaWQgdGhlIHRlbXBvcmFyeSByZXNlcnZlZCBzbG90IGlzIGNvbmZpZ3VyZWQgd2l0aCBhIGtleSAodG8gZGlzYWJsZSBQQ1IgcHJvdGVjdGlvbiksIHJldHVybnMgJEZBTFNFIG90aGVyd2lzZQppc1Jlc2VydmVkU2xvdFByZXNlbnQoKSB7Cglsb2NhbCBkZXZpY2VQYXRoCgoJZGV2aWNlUGF0aD0iJDEiCglSRVNVTFQ9JCgkQ0xFVklTIGx1a3MgbGlzdCAtZCAiJGRldmljZVBhdGgiIC1zICRSRVNFUlZFRF9TTE9UIHx8IHRydWUpCglpZiBbIC1uICIkUkVTVUxUIiBdICYmIFsgIiRSRVNVTFQiID09ICIkQ0xFVklTX0NPTkZJR19SRVNFUlZFRF9TTE9UIiBdOyB0aGVuCgkJbG9nRGVidWcgInJlc2VydmVkIHNsb3QgJFJFU0VSVkVEX1NMT1QgaXMgcHJlc2VudCIKCQlyZXR1cm4gJFRSVUUKCWZpCglsb2dEZWJ1ZyAicmVzZXJ2ZWQgc2xvdCAkUkVTRVJWRURfU0xPVCBpcyBub3QgcHJlc2VudCIKCXJldHVybiAkRkFMU0UKfQoKIyBjcmVhdGUgYSB0ZW1wb3Jhcnkga2V5IGluIHRoZSByZXNlcnZlZCBzbG90IHRvIGRpc2FibGUgUENSIHByb3RlY3Rpb24KYWRkUmVzZXJ2ZWRTbG90KCkgewoJbG9jYWwgcmVzZXJ2ZWRTbG90UHJlc2VudCBkZXZpY2VQYXRoIHNsb3QgcGNySURzIGNsZXZpc0NvbmZpZwoKCXJlc2VydmVkU2xvdFByZXNlbnQ9IiQxIgoJZGV2aWNlUGF0aD0iJDIiCglzbG90PSIkMyIKCXBjcklEcz0iJDQiCgljbGV2aXNDb25maWc9IiQ1IgoJbG9nSW5mbyAicmVzZXJ2ZWRTbG90UHJlc2VudD0kcmVzZXJ2ZWRTbG90UHJlc2VudCBkZXZpY2U9JGRldmljZVBhdGggc2xvdD0kc2xvdCB3aXRoIFBDUiBJRHM9JHBjcklEcyBhbmQgJENMRVZJUyBjb25maWc9JGNsZXZpc0NvbmZpZyIKCWlmIFsgIiRyZXNlcnZlZFNsb3RQcmVzZW50IiA9PSAiJFRSVUUiIF07IHRoZW4KCQlsb2dJbmZvICJyZXNlcnZlIHNsb3QgYWxyZWFkeSBwcmVzZW50LCBubyBuZWVkIHRvIGFkZCBhZ2FpbiIKCQkkQ0xFVklTIGx1a3MgbGlzdCAtZCAiJGRldmljZVBhdGgiIHx8IHRydWUKCQlyZXR1cm4KCWZpCglsb2dJbmZvICJhZGRpbmcgcmVzZXJ2ZWQgc2xvdCBvbiBkZXZpY2U9JGRldmljZVBhdGgiCglBTllQQVNTPSQob3BlbnNzbCByYW5kIC1iYXNlNjQgMjEpCgllY2hvIC1lICIkQU5ZUEFTU1xuIiB8ICRDTEVWSVMgbHVrcyBiaW5kIC1zICRSRVNFUlZFRF9TTE9UIC1kICIkZGV2aWNlUGF0aCIgdHBtMiAne30nIHx8IHRydWUKCSRDTEVWSVMgbHVrcyBsaXN0IC1kICIkZGV2aWNlUGF0aCIgfHwgdHJ1ZQp9CgojIHJlbW92ZSB0aGUgdGVtcG9yYXJ5IGtleSBpbiB0aGUgcmVzZXJ2ZWQgc2xvdCB0byBlbmFibGUgUENSIHByb3RlY3Rpb24KcmVtb3ZlUmVzZXJ2ZWRTbG90KCkgewoJbG9jYWwgZGV2aWNlUGF0aAoKCWRldmljZVBhdGg9IiQxIgoJbG9nSW5mbyAicmVtb3ZpbmcgbHVrcyByZXNlcnZlZCBzbG90IDMxIGluIGRpc2sgJGRldmljZVBhdGgiCgkjIGRvIG5vdCBjaGFuZ2UgdGhpcyBsaW5lLiBUaGVyZSBpcyBhIHZlcnkgd2VpcmQgYmVoYXZpb3Igd2hlcmUgdmFyaWFibGUgCgkjIHN1YnN0aXR1dGlvbiBkb2VzIG5vdCB3b3JrIGZvciB0aGUgY2xldmlzIGx1a3MgdW5iaW5kIGNvbW1hbmQKCWVjaG8gInN1ZG8gJENMRVZJUyBsdWtzIHVuYmluZCAtcyAkUkVTRVJWRURfU0xPVCAtZCAkZGV2aWNlUGF0aCAtZiIgfCBiYXNoIHx8IHRydWUKfQoKI2dldHMgdGhlIGxpc3Qgb2YgbHVrcyBkZXZpY2VzIGluIHRoZSBzeXN0ZW0KZ2V0TFVLU0RldmljZXMoKSB7Cglsb2NhbCByZXN1bHRzCglyZXN1bHRzPSQoJExTQkxLIC1vIE5BTUUsRlNUWVBFIC1sIHwgZ3JlcCBjcnlwdG9fTFVLUyB8IGF3ayAne3ByaW50ZiAiL2Rldi8iICQxICJ8In0nKQoJbG9nRGVidWcgImdvdCBsdWtzIGRldmljZXMgYWNyb3NzIGFsbCBkcml2ZXM6ICRyZXN1bHRzIgoJZWNobyAiJHJlc3VsdHMiCn0KCiMgY3JlYXRlIGEgbGlzdCBvZiBzbG90IGNvbmZpZ3VyYXRpb24gZm9yIGFsbCBlbmNyeXB0ZWQgZGV2aWNlcyBpbiB0aGUgc3lzdGVtCnBhcnNlQ2xldmlzQ29uZmlnKCkgewoJbG9jYWwgbHVrc0RldmljZXMgSUZTCgoJbHVrc0RldmljZXM9IiQxIgoJSUZTPSJ8IgoJZm9yIGRldmljZSBpbiAkbHVrc0RldmljZXM7IGRvCgkJbG9nRGVidWcgImRldmljZT0kZGV2aWNlIgoJCWlzUmVzZXJ2ZWRTbG90UHJlc2VudCAiJGRldmljZSIKCQlpc1Jlc2VydmVkPSIkPyIKCQlwY3JTbG90cz0kKGdldFBjclNsb3RzRm9yRGV2aWNlICIkZGV2aWNlIikKCQlsb2dEZWJ1ZyAicGNyU2xvdHM9JHBjclNsb3RzIgoJCXBhcnNlQ2xldmlzUmVnZXggIiRwY3JTbG90cyIgIiRpc1Jlc2VydmVkIiAiJGRldmljZSIKCWRvbmUKfQoKZ2V0UGNyU2xvdHNGb3JEZXZpY2UoKSB7Cglsb2NhbCBkZXZpY2VQYXRoCgoJZGV2aWNlUGF0aD0iJDEiCgoJbG9nRGVidWcgImdldFBjclNsb3RzRm9yRGV2aWNlLCBkZXZpY2U9JGRldmljZVBhdGgiCgkkQ0xFVklTIGx1a3MgbGlzdCAtZCAiJGRldmljZVBhdGgiIHwgZ3JlcCAtdiAiJFJFU0VSVkVEX1NMT1Q6IiB8IGdyZXAgcGNyX2lkcyB8fCB0cnVlCn0KCnBhcnNlQ2xldmlzUmVnZXgoKSB7Cglsb2NhbCBjbGV2aXNTbG90c091dHB1dFdpdGhQQ1IgaXNSZXNlcnZlZCBkZXZpY2VQYXRoIElGUwoKCWNsZXZpc1Nsb3RzT3V0cHV0V2l0aFBDUj0iJDEiCglpc1Jlc2VydmVkPSIkMiIKCWRldmljZVBhdGg9IiQzIgoJSUZTPSQnXG4nCglmb3IgbGluZSBpbiAkY2xldmlzU2xvdHNPdXRwdXRXaXRoUENSOyBkbwoJCWxvZ0RlYnVnICJsaW5lPSRsaW5lIgoJCWVjaG8gIiRsaW5lIiB8IHNlZCAtRSAnc0AoWzAtOV0rKSg6XHMrLiorXHMrJ1wnJykoXHspKC4qPyJwY3JfaWRzIjoiKShbXiJdKikoIi4qKSguKikoJ1wnJy4qKUAnIiRpc1Jlc2VydmVkIid8JyIkZGV2aWNlUGF0aCInfFwxfFw1fFwzXDRcNVw2XDdAJwoJZG9uZQp9CgojIGV4ZWN1dGVzIGEgZnVuY3Rpb24gcG9pbnRlciBwYXNzZWQgYXJndW1lbnQgImZ1bmN0aW9uVG9SdW4iIGZvciBlYWNoIHNsb3QgY29uZmlndXJlZCB3aXRoIFBDUiBhbmQKIyBmb3IgZXZlcnkgZGV2aWNlIGluIHRoZSBzeXN0ZW0KcHJvY2Vzc1BDUmVudHJpZXNPbmx5KCkgewoJbG9jYWwgbHVrc0RldmljZXMgcGFyc2VkQ2xldmlzIGZ1bmN0aW9uVG9SdW4KCWZ1bmN0aW9uVG9SdW49IiQxIgoJbHVrc0RldmljZXM9JChnZXRMVUtTRGV2aWNlcykKCXBhcnNlZENsZXZpcz0kKHBhcnNlQ2xldmlzQ29uZmlnICIkbHVrc0RldmljZXMiKQoKCWlmIFsgIiRwYXJzZWRDbGV2aXMiID09ICIiIF07IHRoZW4KCQlsb2dJbmZvICJubyBwY3IgY29uZmlnIGRldGVjdGVkLCBub3RoaW5nIHRvIGRvIGZvciAkZnVuY3Rpb25Ub1J1biIKCQlyZXR1cm4KCWZpCglsb2dJbmZvICJwYXJzZWQgY2xldmlzIGZvciBhbGwgZHJpdmVzOiAkcGFyc2VkQ2xldmlzIgoJZWNobyAiJHBhcnNlZENsZXZpcyIgfCB3aGlsZSBJRlM9IHJlYWQgLXIgbGluZTsgZG8KCQlsb2dEZWJ1ZyAiJGxpbmUiCgkJSUZTPSJ8IiByZWFkIC1yYSB2YWx1ZXMgPDw8IiRsaW5lIgoJCXJlc2VydmVkU2xvdFByZXNlbnQ9JHt2YWx1ZXNbMF19CgkJZGV2aWNlPSR7dmFsdWVzWzFdfQoJCXNsb3ROdW1iZXI9JHt2YWx1ZXNbMl19CgkJcGNySURzPSR7dmFsdWVzWzNdfQoJCWNsZXZpc0NvbmZpZz0ke3ZhbHVlc1s0XX0KCQlsb2dJbmZvICJyZXNlcnZlZFNsb3Q9JHJlc2VydmVkU2xvdFByZXNlbnQgZGV2aWNlPSRkZXZpY2Ugc2xvdD0kc2xvdE51bWJlciB3aXRoIFBDUiBJRHM9JHBjcklEcyBhbmQgY2xldmlzIGNvbmZpZz0kY2xldmlzQ29uZmlnIgoJCWlmIFsgLW4gIiRwY3JJRHMiIF07IHRoZW4KCQkJbG9nRGVidWcgImJlZm9yZSBhcHBseWluZyBjb21tYW5kOiAkKC91c3IvYmluL3RwbTJfcGNycmVhZCBzaGEyNTY6IiRwY3JJRHMiKSIKCQkJIiRmdW5jdGlvblRvUnVuIiAiJHJlc2VydmVkU2xvdFByZXNlbnQiICIkZGV2aWNlIiAiJHNsb3ROdW1iZXIiICIkcGNySURzIiAiJGNsZXZpc0NvbmZpZyIgfHwgdHJ1ZQoJCQlsb2dEZWJ1ZyAiYWZ0ZXIgYXBwbHlpbmcgY29tbWFuZDogJCgvdXNyL2Jpbi90cG0yX3BjcnJlYWQgc2hhMjU2OiIkcGNySURzIikiCgkJZmkKCWRvbmUKfQoKIyBpbml0aWFsaXplIHRoZSBhcnJheSBvZiB1cGdyYWRlIGRldGVjdGlvbiBtZXRob2RzIHNlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHMKaW5pdFVwZ3JhZGVEZXRlY3Rpb25NZXRob2RzKCkgewoJIyBzaGVsbGNoZWNrIHNvdXJjZT1od3VwZ3JhZGUtZGV0ZWN0aW9uLW1ldGhvZHMvZmlsZS5zaAoJZm9yIGYgaW4gIiRTQ1JJUFRfRElSIi9od3VwZ3JhZGUtZGV0ZWN0aW9uLW1ldGhvZHMvKi5zaDsgZG8gc291cmNlICIkZiI7IGRvbmUKCWxvZ0luZm8gImRldGVjdGVkIHN5c3RlbSB1cGdyYWRlIGRldGVjdGlvbiBwbHVnaW5zOiIKCWZvciBlbGVtZW50IGluICIke3NlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHNbQF19IjsgZG8gZWNobyAiJGVsZW1lbnQiOyBkb25lCn0KCiMgZXhlY3V0ZSBhbGwgaHcgdXBncmFkZSBkZXRlY3Rpb24gZnVuY3Rpb25zIGluIGh3dXBncmFkZS1kZXRlY3Rpb24tbWV0aG9kcyBkaXJlY3RvcnkKIyByZXR1cm5zIHRydWUgaWYgYSBodyB1cGdyYWRlIGlzIGRldGVjdGVkCiMgZmFsc2Ugb3RoZXJ3aXNlCmlzU3lzdGVtVXBkYXRpbmcoKSB7Cglsb2NhbCBpc1VwZGF0aW5nCgoJaXNVcGRhdGluZz0kRkFMU0UKCSMgSXRlcmF0ZSB0aHJvdWdoIHRoZSB1cGRhdGVkIGFycmF5IGFuZCBjYWxsIGVhY2ggZnVuY3Rpb24KCWZvciBmdW5jIGluICIke3NlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHNbQF19IjsgZG8KCQlpZiAkZnVuYzsgdGhlbgoJCQlpc1VwZGF0aW5nPSRUUlVFCgkJCWxvZ0luZm8gImRldGVjdGVkIHVwZGF0ZSB2aWEgJGZ1bmMiCgkJZWxzZQoJCQlsb2dJbmZvICJubyB1cGRhdGUgZGV0ZWN0ZWQgdmlhICRmdW5jIgoJCWZpCglkb25lCglyZXR1cm4gJGlzVXBkYXRpbmcKfQoKI3JlYmluZHMgYSBnaXZlbiBrZXkgc2xvdCB0aGF0IGlzIGNvbmZpZ3VyZWQgd2l0aCBQQ1IgZm9yIGEgZ2l2ZW4gZGV2aWNlCnJlYmluZFBDUmVudHJpZXNPbmx5KCkgewoJbG9jYWwgcmVzZXJ2ZWRTbG90UHJlc2VudCBkZXZpY2VQYXRoIHNsb3QgcGNySURzIGNsZXZpc0NvbmZpZwoKCXJlc2VydmVkU2xvdFByZXNlbnQ9IiQxIgoJZGV2aWNlUGF0aD0iJDIiCglzbG90PSIkMyIKCXBjcklEcz0iJDQiCgljbGV2aXNDb25maWc9IiQ1IgoKCWxvZ0luZm8gIlJlYmluZGluZyByZXNlcnZlZFNsb3RQcmVzZW50PSRyZXNlcnZlZFNsb3RQcmVzZW50IGRldmljZT0kZGV2aWNlUGF0aCBzbG90PSRzbG90IHdpdGggUENSIElEcz0kcGNySURzIGFuZCBjbGV2aXMgY29uZmlnPSRjbGV2aXNDb25maWciCgljbGV2aXMtbHVrcy1yZWdlbiAtZCAiJGRldmljZVBhdGgiIC1zICIkc2xvdCIgLXEgfHwgdHJ1ZQoJcmVtb3ZlUmVzZXJ2ZWRTbG90ICIkZGV2aWNlUGF0aCIKfQo=
247
+ mode: 493
248
+ path: /usr/local/bin/luks-helpers.sh
249
+ - contents:
250
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKU0NSSVBUX0RJUj0kKGRpcm5hbWUgIiQwIikKc291cmNlICIkU0NSSVBUX0RJUiIvbHVrcy1oZWxwZXJzLnNoCgpsb2dJbmZvICJTaHV0dGluZyBkb3duIG9yIHJlYm9vdGluZyIKaW5pdFVwZ3JhZGVEZXRlY3Rpb25NZXRob2RzCmlmIGlzU3lzdGVtVXBkYXRpbmc7IHRoZW4KCWxvZ0luZm8gIlN5c3RlbSBIVyB1cGRhdGUgZGV0ZWN0ZWQsIGRpc2FibGluZyBQQ1IgcHJvdGVjdGlvbiBvbiBhbGwgUENSIHByb3RlY3RlZCBMVUtTIHBhcnRpdGlvbnMiCglwcm9jZXNzUENSZW50cmllc09ubHkgYWRkUmVzZXJ2ZWRTbG90CglleGl0IDAKZmkKCmxvZ0luZm8gIk5vIFN5c3RlbSBIVyB1cGRhdGUgZGV0ZWN0ZWQsIGNvbnRpbnVlIgo=
251
+ mode: 493
252
+ path: /usr/local/bin/disablePcrOnRebootOrShutdown.sh
253
+ - contents:
254
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKU0NSSVBUX0RJUj0kKGRpcm5hbWUgIiQwIikKIyBzaGVsbGNoZWNrIHNvdXJjZT1sdWtzLWhlbHBlcnMuc2gKc291cmNlICIkU0NSSVBUX0RJUiIvbHVrcy1oZWxwZXJzLnNoCiNzZXQgLXgKCmxvZ0luZm8gImJvb3RpbmcuLi4gY2hlY2tpbmcgaWYgcmViaW5kaW5nIGRpc2sgbmVlZGVkIgpwcm9jZXNzUENSZW50cmllc09ubHkgcmViaW5kUENSZW50cmllc09ubHkK
255
+ mode: 493
256
+ path: /usr/local/bin/rebindDiskOnBoot.sh
257
+ - contents:
258
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKaXNDdXN0b21GaWxlVXBkYXRpbmcoKSB7CglpZiBbIC1mICIvZXRjL2hvc3QtaHctVXBkYXRpbmcuZmxhZyIgXTsgdGhlbgoJCXJldHVybiAiJFRSVUUiCgllbHNlCgkJcmV0dXJuICIkRkFMU0UiCglmaQp9CgojIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgYXJyYXkgb2YgdXBkYXRlIGRldGVjdGlvbiBtZXRob2RzCnNlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHMrPSgiaXNDdXN0b21GaWxlVXBkYXRpbmciKQo=
259
+ mode: 493
260
+ path: /usr/local/bin/hwupgrade-detection-methods/file.sh
261
+ - contents:
262
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKaXNGd3VwVXBkYXRpbmcoKSB7Cglsb2NhbCBFRkkgTkVYVF9CT09UCgoJRUZJPSQoZWZpYm9vdG1ncikKCU5FWFRfQk9PVD0kKGVjaG8gIiRFRkkiIHwgZ3JlcCAiQm9vdE5leHQ6IiB8IGF3ayAneyBwcmludCAkMiB9JykKCWlmIFsgIiRORVhUX0JPT1QiID09ICIiIF07IHRoZW4KCQlyZXR1cm4gMQoJZmkKCWVjaG8gIiRFRkkiIHwgZ3JlcCAiQm9vdCRORVhUX0JPT1QiIHwgZ3JlcCAiZnd1cGQiCgkjIGlmIHRoZSBuZXh0IGJvb3QgbGluZSBjb250YWlucyB0aGUgdGV4dCAiZnd1cGQiCglpZiBbICQ/IF07IHRoZW4KCQlyZXR1cm4gIiRUUlVFIgoJZmkKCXJldHVybiAiJEZBTFNFIgp9CgojIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgYXJyYXkgb2YgdXBkYXRlIGRldGVjdGlvbiBtZXRob2RzCnNlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHMrPSgiaXNGd3VwVXBkYXRpbmciKQo=
263
+ mode: 493
264
+ path: /usr/local/bin/hwupgrade-detection-methods/fwup.sh
265
+ - contents:
266
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKaXNPc3RyZWVVcGRhdGluZygpIHsKCWxvY2FsIFJFU1VMVAoKCVJFU1VMVD0kKG9zdHJlZSBhZG1pbiBzdGF0dXMgfCBncmVwIC1FICJzdGFnZWR8cGVuZGluZyIpCglpZiBbICIkUkVTVUxUIiAhPSAiIiBdOyB0aGVuCgkJcmV0dXJuICIkVFJVRSIKCWVsc2UKCQlyZXR1cm4gIiRGQUxTRSIKCWZpCn0KCiMgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHRoZSBhcnJheSBvZiB1cGRhdGUgZGV0ZWN0aW9uIG1ldGhvZHMKc2VydmVyVXBkYXRlRGV0ZWN0aW9uTWV0aG9kcys9KCJpc09zdHJlZVVwZGF0aW5nIikK
267
+ mode: 493
268
+ path: /usr/local/bin/hwupgrade-detection-methods/ostree.sh
269
+ - contents:
270
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKU1BPS0VfS1VCRUNPTkZJR19QQVRIPS92YXIvbGliL2t1YmVsZXQva3ViZWNvbmZpZwpIVUJfU0VDUkVUX05BTUVTUEFDRT1vcGVuLWNsdXN0ZXItbWFuYWdlbWVudC1hZ2VudApIVUJfU0VDUkVUX05BTUU9aHViLWt1YmVjb25maWctc2VjcmV0CgojIHJldHJpZXZlcyB0aGUga3ViZWNvbmZpZyBmb3IgdGhpcyBzcG9rZSdzIGNsdXN0ZXIKZ2V0SHViS3ViZWNvbmZpZygpIHsKCWxvY2FsIGt1YmVDb25maWdQYXRoIG5hbWVzcGFjZSBzZWNyZXROYW1lIEtVQkVDT05GSUdfREFUQSBUTFNfS0VZIFRMU19DUlQKCglrdWJlQ29uZmlnUGF0aD0iJDEiCgluYW1lc3BhY2U9IiQyIgoJc2VjcmV0TmFtZT0iJDMiCglLVUJFQ09ORklHX0RBVEE9JChvYyAtLWt1YmVjb25maWcgIiRrdWJlQ29uZmlnUGF0aCIgZ2V0IHNlY3JldCAtbiAiJG5hbWVzcGFjZSIgIiRzZWNyZXROYW1lIiAtbyBqc29uIHwganEgLmRhdGEua3ViZWNvbmZpZyB8IHNlZCAncy8iLy9nJyB8IGJhc2U2NCAtZCkKCWlmIFsgLXogIiRLVUJFQ09ORklHX0RBVEEiIF07IHRoZW4KCQlyZXR1cm4gIiRGQUxTRSIKCWZpCglUTFNfS0VZPSQob2MgLS1rdWJlY29uZmlnICIka3ViZUNvbmZpZ1BhdGgiIGdldCBzZWNyZXQgLW4gIiRuYW1lc3BhY2UiICIkc2VjcmV0TmFtZSIgLW8ganNvbiB8IGpxICcuZGF0YS4idGxzLmtleSInIHwgc2VkICdzLyIvL2cnKQoJVExTX0NSVD0kKG9jIC0ta3ViZWNvbmZpZyAiJGt1YmVDb25maWdQYXRoIiBnZXQgc2VjcmV0IC1uICIkbmFtZXNwYWNlIiAiJHNlY3JldE5hbWUiIC1vIGpzb24gfCBqcSAnLmRhdGEuInRscy5jcnQiJyB8IHNlZCAncy8iLy9nJykKCWVjaG8gIiRLVUJFQ09ORklHX0RBVEEiIHwgc2VkIC1lICJzL2NsaWVudC1jZXJ0aWZpY2F0ZTogdGxzLmNydC9jbGllbnQtY2VydGlmaWNhdGUtZGF0YTogJFRMU19DUlQvZyIgfCBzZWQgLWUgInMvY2xpZW50LWtleTogdGxzLmtleS9jbGllbnQta2V5LWRhdGE6ICRUTFNfS0VZL2ciID4vdG1wL2t1YmVjb25maWctaHViCglyZXR1cm4gIiRUUlVFIgp9CgojIFJldHJlaXZlcyBUQUxNJ3Mgc3RhdGUgaW4gdGhlIGh1YiBjbHVzdGVyJ3MgbWFuYWdlZENsdXN0ZXIgb2JqZWN0LiBUYWtlcyBvbmUgYXJndW1lbnQ6CiMgZG9uZSAtPiByZXR1cm4gJFRSVUUgaWYgdGhlIHp0cC1kb25lIGxhYmVsIGlzIHNldCwgJEZBTFNFIG90aGVyd2lzZQojIHJ1bm5pbmcgLT4gcmV0dXJuICRUUlVFIGlmIHRoZSB6dHAtcnVubmluZyBsYWJlbCBpcyBzZXQsICRGQUxTRSBvdGhlcndpc2UKaXNadHBTdGF0ZSgpIHsKCWxvY2FsIHRhbG1TdGF0ZSBSRVNVTFQKCgl0YWxtU3RhdGU9IiQxIgoJUkVTVUxUPSRGQUxTRQoKCWNhc2UgIiR0YWxtU3RhdGUiIGluCgkicnVubmluZyIpCgkJUkVTVUxUPSQoS1VCRUNPTkZJRz0vdG1wL2t1YmVjb25maWctaHViIG9jIGdldCBtYW5hZ2VkY2x1c3RlciAiJChob3N0bmFtZSAtLXNob3J0KSIgLW9qc29uIHwganEgJy5tZXRhZGF0YS5sYWJlbHNbInp0cC1ydW5uaW5nIl0hPW51bGwnKQoJCTs7CgkiZG9uZSIpCgkJUkVTVUxUPSQoS1VCRUNPTkZJRz0vdG1wL2t1YmVjb25maWctaHViIG9jIGdldCBtYW5hZ2VkY2x1c3RlciAiJChob3N0bmFtZSAtLXNob3J0KSIgLW9qc29uIHwganEgJy5tZXRhZGF0YS5sYWJlbHNbInp0cC1kb25lIl0hPW51bGwnKQoJCTs7CgkqKQoJCSMgQ29kZSB0byBleGVjdXRlIHdoZW4gbm8gcGF0dGVybnMgbWF0Y2gKCQk7OwoJZXNhYwoJaWYgWyAiJFJFU1VMVCIgPT0gImZhbHNlIiBdOyB0aGVuCgkJbG9nRGVidWcgIlRBTE0gJHRhbG1TdGF0ZSBzdGF0ZSBpcyAkUkVTVUxUIgoJCXJldHVybiAiJEZBTFNFIgoJZmkKCWxvZ0RlYnVnICJUQUxNICR0YWxtU3RhdGUgc3RhdGUgaXMgJFJFU1VMVCIKCXJldHVybiAiJFRSVUUiCn0KCmlzVEFMTVVwZGF0aW5nKCkgewoJaWYgISBnZXRIdWJLdWJlY29uZmlnICRTUE9LRV9LVUJFQ09ORklHX1BBVEggJEhVQl9TRUNSRVRfTkFNRVNQQUNFICRIVUJfU0VDUkVUX05BTUU7IHRoZW4KCQlsb2dJbmZvICJUQUxNIG5vdCBhdmFpbGFibGUgb3IgaHViIGt1YmVjb25maWcgaXMgbm8gcmVhZHkgeWV0IGF0ICRTUE9LRV9LVUJFQ09ORklHX1BBVEggcGF0aCwgY2Fubm90IGdldCBzcG9rZSBzZWNyZXQgJEhVQl9TRUNSRVRfTkFNRSBpbiAkSFVCX1NFQ1JFVF9OQU1FU1BBQ0UgbmFtZXNwYWNlIgoJCXJldHVybiAiJEZBTFNFIgoJZmkKCWlzWnRwU3RhdGUgInJ1bm5pbmciCglyZXR1cm4gJD8KfQoKIyBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGFycmF5IG9mIHVwZGF0ZSBkZXRlY3Rpb24gbWV0aG9kcwpzZXJ2ZXJVcGRhdGVEZXRlY3Rpb25NZXRob2RzKz0oImlzVEFMTVVwZGF0aW5nIikK
271
+ mode: 493
272
+ path: /usr/local/bin/hwupgrade-detection-methods/talm.sh
273
+ systemd:
274
+ units:
275
+ - contents: |
276
+ [Unit]
277
+ After=cryptsetup.target systemd-boot-update.service
278
+ Requires=cryptsetup.target systemd-boot-update.service
279
+ [Service]
280
+ Type=oneshot
281
+ ExecStart=/usr/local/bin/rebindDiskOnBoot.sh
282
+ [Install]
283
+ RequiredBy=sysinit.target
284
+ enabled: true
285
+ name: pcr-rebind-boot.service
286
+ - contents: |
287
+ [Service]
288
+ Type=oneshot
289
+ RemainAfterExit=true
290
+ ExecStart=/usr/bin/true
291
+ ExecStop=/usr/local/bin/disablePcrOnRebootOrShutdown.sh
292
+ [Install]
293
+ WantedBy=multi-user.target
294
+ enabled: true
295
+ name: pcr-disable-shutdown.service
296
+ - 01-disk-encryption-pcr-rebind-worker.yaml: |
297
+ # Automatically generated by extra-manifests-builder
298
+ # Do not make changes directly.
299
+ apiVersion: machineconfiguration.openshift.io/v1
300
+ kind: MachineConfig
301
+ metadata:
302
+ labels:
303
+ machineconfiguration.openshift.io/role: worker
304
+ name: 01-disk-encryption-rebind-worker
305
+ spec:
306
+ config:
307
+ ignition:
308
+ version: 3.2.0
309
+ storage:
310
+ files:
311
+ - contents:
312
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKQ0xFVklTPWNsZXZpcwpMU0JMSz1sc2JsawpERUJVRz0idHJ1ZSIKUkVTRVJWRURfU0xPVD0zMQpDTEVWSVNfQ09ORklHX1JFU0VSVkVEX1NMT1Q9IiRSRVNFUlZFRF9TTE9UOiB0cG0yICd7XCJoYXNoXCI6XCJzaGEyNTZcIixcImtleVwiOlwiZWNjXCJ9JyIKVFJVRT0wCkZBTFNFPTEKCiNzZXQgLXgKCiMgbG9nIGZ1bmN0aW9uLiBUYWtlcyAyIGFyZ3VtZW50czoKIyBsb2cgbGV2ZWw6IGRlYnVnIG9yIGluZm8KIyBzdHJpbmcgdG8gcHJpbnQKbG9nKCkgewoJbG9jYWwgbG9nTGV2ZWwgbG9nVGV4dAoKCWxvZ0xldmVsPSIkMSIKCWxvZ1RleHQ9IiQyIgoJY2FzZSAkbG9nTGV2ZWwgaW4KCSJkZWJ1ZyIpCgkJZWNobyAiREVCVUcgLSAkbG9nVGV4dCIgPiYyCgkJOzsKCSJpbmZvIikKCQllY2hvICJJTkZPIC0gJGxvZ1RleHQiID4mMgoJCTs7CgkqKQoJCSMgQ29kZSB0byBleGVjdXRlIHdoZW4gbm8gcGF0dGVybnMgbWF0Y2gKCQk7OwoJZXNhYwp9CgojIGxvZ3MgYSBzdHJpbmcgd2l0aCBhIGRlYnVnIGxldmVsCmxvZ0RlYnVnKCkgewoJbG9jYWwgbG9nVGV4dD0iJDEiCglpZiAhIFsgLXYgREVCVUcgXSB8fCB7IFsgLXYgREVCVUcgXSAmJiBbICIkREVCVUciID09ICJ0cnVlIiBdOyB9OyB0aGVuCgkJbG9nICJkZWJ1ZyIgIiRsb2dUZXh0IgoJZmkKfQoKIyBsb2dzIGEgc3RyaW5nIHdpdGggYSBpbmZvIGxldmVsCmxvZ0luZm8oKSB7Cglsb2NhbCBsb2dUZXh0CgoJbG9nVGV4dD0iJDEiCglsb2cgImluZm8iICIkbG9nVGV4dCIKfQoKIyByZXR1cm4gJFRSVUUgaWQgdGhlIHRlbXBvcmFyeSByZXNlcnZlZCBzbG90IGlzIGNvbmZpZ3VyZWQgd2l0aCBhIGtleSAodG8gZGlzYWJsZSBQQ1IgcHJvdGVjdGlvbiksIHJldHVybnMgJEZBTFNFIG90aGVyd2lzZQppc1Jlc2VydmVkU2xvdFByZXNlbnQoKSB7Cglsb2NhbCBkZXZpY2VQYXRoCgoJZGV2aWNlUGF0aD0iJDEiCglSRVNVTFQ9JCgkQ0xFVklTIGx1a3MgbGlzdCAtZCAiJGRldmljZVBhdGgiIC1zICRSRVNFUlZFRF9TTE9UIHx8IHRydWUpCglpZiBbIC1uICIkUkVTVUxUIiBdICYmIFsgIiRSRVNVTFQiID09ICIkQ0xFVklTX0NPTkZJR19SRVNFUlZFRF9TTE9UIiBdOyB0aGVuCgkJbG9nRGVidWcgInJlc2VydmVkIHNsb3QgJFJFU0VSVkVEX1NMT1QgaXMgcHJlc2VudCIKCQlyZXR1cm4gJFRSVUUKCWZpCglsb2dEZWJ1ZyAicmVzZXJ2ZWQgc2xvdCAkUkVTRVJWRURfU0xPVCBpcyBub3QgcHJlc2VudCIKCXJldHVybiAkRkFMU0UKfQoKIyBjcmVhdGUgYSB0ZW1wb3Jhcnkga2V5IGluIHRoZSByZXNlcnZlZCBzbG90IHRvIGRpc2FibGUgUENSIHByb3RlY3Rpb24KYWRkUmVzZXJ2ZWRTbG90KCkgewoJbG9jYWwgcmVzZXJ2ZWRTbG90UHJlc2VudCBkZXZpY2VQYXRoIHNsb3QgcGNySURzIGNsZXZpc0NvbmZpZwoKCXJlc2VydmVkU2xvdFByZXNlbnQ9IiQxIgoJZGV2aWNlUGF0aD0iJDIiCglzbG90PSIkMyIKCXBjcklEcz0iJDQiCgljbGV2aXNDb25maWc9IiQ1IgoJbG9nSW5mbyAicmVzZXJ2ZWRTbG90UHJlc2VudD0kcmVzZXJ2ZWRTbG90UHJlc2VudCBkZXZpY2U9JGRldmljZVBhdGggc2xvdD0kc2xvdCB3aXRoIFBDUiBJRHM9JHBjcklEcyBhbmQgJENMRVZJUyBjb25maWc9JGNsZXZpc0NvbmZpZyIKCWlmIFsgIiRyZXNlcnZlZFNsb3RQcmVzZW50IiA9PSAiJFRSVUUiIF07IHRoZW4KCQlsb2dJbmZvICJyZXNlcnZlIHNsb3QgYWxyZWFkeSBwcmVzZW50LCBubyBuZWVkIHRvIGFkZCBhZ2FpbiIKCQkkQ0xFVklTIGx1a3MgbGlzdCAtZCAiJGRldmljZVBhdGgiIHx8IHRydWUKCQlyZXR1cm4KCWZpCglsb2dJbmZvICJhZGRpbmcgcmVzZXJ2ZWQgc2xvdCBvbiBkZXZpY2U9JGRldmljZVBhdGgiCglBTllQQVNTPSQob3BlbnNzbCByYW5kIC1iYXNlNjQgMjEpCgllY2hvIC1lICIkQU5ZUEFTU1xuIiB8ICRDTEVWSVMgbHVrcyBiaW5kIC1zICRSRVNFUlZFRF9TTE9UIC1kICIkZGV2aWNlUGF0aCIgdHBtMiAne30nIHx8IHRydWUKCSRDTEVWSVMgbHVrcyBsaXN0IC1kICIkZGV2aWNlUGF0aCIgfHwgdHJ1ZQp9CgojIHJlbW92ZSB0aGUgdGVtcG9yYXJ5IGtleSBpbiB0aGUgcmVzZXJ2ZWQgc2xvdCB0byBlbmFibGUgUENSIHByb3RlY3Rpb24KcmVtb3ZlUmVzZXJ2ZWRTbG90KCkgewoJbG9jYWwgZGV2aWNlUGF0aAoKCWRldmljZVBhdGg9IiQxIgoJbG9nSW5mbyAicmVtb3ZpbmcgbHVrcyByZXNlcnZlZCBzbG90IDMxIGluIGRpc2sgJGRldmljZVBhdGgiCgkjIGRvIG5vdCBjaGFuZ2UgdGhpcyBsaW5lLiBUaGVyZSBpcyBhIHZlcnkgd2VpcmQgYmVoYXZpb3Igd2hlcmUgdmFyaWFibGUgCgkjIHN1YnN0aXR1dGlvbiBkb2VzIG5vdCB3b3JrIGZvciB0aGUgY2xldmlzIGx1a3MgdW5iaW5kIGNvbW1hbmQKCWVjaG8gInN1ZG8gJENMRVZJUyBsdWtzIHVuYmluZCAtcyAkUkVTRVJWRURfU0xPVCAtZCAkZGV2aWNlUGF0aCAtZiIgfCBiYXNoIHx8IHRydWUKfQoKI2dldHMgdGhlIGxpc3Qgb2YgbHVrcyBkZXZpY2VzIGluIHRoZSBzeXN0ZW0KZ2V0TFVLU0RldmljZXMoKSB7Cglsb2NhbCByZXN1bHRzCglyZXN1bHRzPSQoJExTQkxLIC1vIE5BTUUsRlNUWVBFIC1sIHwgZ3JlcCBjcnlwdG9fTFVLUyB8IGF3ayAne3ByaW50ZiAiL2Rldi8iICQxICJ8In0nKQoJbG9nRGVidWcgImdvdCBsdWtzIGRldmljZXMgYWNyb3NzIGFsbCBkcml2ZXM6ICRyZXN1bHRzIgoJZWNobyAiJHJlc3VsdHMiCn0KCiMgY3JlYXRlIGEgbGlzdCBvZiBzbG90IGNvbmZpZ3VyYXRpb24gZm9yIGFsbCBlbmNyeXB0ZWQgZGV2aWNlcyBpbiB0aGUgc3lzdGVtCnBhcnNlQ2xldmlzQ29uZmlnKCkgewoJbG9jYWwgbHVrc0RldmljZXMgSUZTCgoJbHVrc0RldmljZXM9IiQxIgoJSUZTPSJ8IgoJZm9yIGRldmljZSBpbiAkbHVrc0RldmljZXM7IGRvCgkJbG9nRGVidWcgImRldmljZT0kZGV2aWNlIgoJCWlzUmVzZXJ2ZWRTbG90UHJlc2VudCAiJGRldmljZSIKCQlpc1Jlc2VydmVkPSIkPyIKCQlwY3JTbG90cz0kKGdldFBjclNsb3RzRm9yRGV2aWNlICIkZGV2aWNlIikKCQlsb2dEZWJ1ZyAicGNyU2xvdHM9JHBjclNsb3RzIgoJCXBhcnNlQ2xldmlzUmVnZXggIiRwY3JTbG90cyIgIiRpc1Jlc2VydmVkIiAiJGRldmljZSIKCWRvbmUKfQoKZ2V0UGNyU2xvdHNGb3JEZXZpY2UoKSB7Cglsb2NhbCBkZXZpY2VQYXRoCgoJZGV2aWNlUGF0aD0iJDEiCgoJbG9nRGVidWcgImdldFBjclNsb3RzRm9yRGV2aWNlLCBkZXZpY2U9JGRldmljZVBhdGgiCgkkQ0xFVklTIGx1a3MgbGlzdCAtZCAiJGRldmljZVBhdGgiIHwgZ3JlcCAtdiAiJFJFU0VSVkVEX1NMT1Q6IiB8IGdyZXAgcGNyX2lkcyB8fCB0cnVlCn0KCnBhcnNlQ2xldmlzUmVnZXgoKSB7Cglsb2NhbCBjbGV2aXNTbG90c091dHB1dFdpdGhQQ1IgaXNSZXNlcnZlZCBkZXZpY2VQYXRoIElGUwoKCWNsZXZpc1Nsb3RzT3V0cHV0V2l0aFBDUj0iJDEiCglpc1Jlc2VydmVkPSIkMiIKCWRldmljZVBhdGg9IiQzIgoJSUZTPSQnXG4nCglmb3IgbGluZSBpbiAkY2xldmlzU2xvdHNPdXRwdXRXaXRoUENSOyBkbwoJCWxvZ0RlYnVnICJsaW5lPSRsaW5lIgoJCWVjaG8gIiRsaW5lIiB8IHNlZCAtRSAnc0AoWzAtOV0rKSg6XHMrLiorXHMrJ1wnJykoXHspKC4qPyJwY3JfaWRzIjoiKShbXiJdKikoIi4qKSguKikoJ1wnJy4qKUAnIiRpc1Jlc2VydmVkIid8JyIkZGV2aWNlUGF0aCInfFwxfFw1fFwzXDRcNVw2XDdAJwoJZG9uZQp9CgojIGV4ZWN1dGVzIGEgZnVuY3Rpb24gcG9pbnRlciBwYXNzZWQgYXJndW1lbnQgImZ1bmN0aW9uVG9SdW4iIGZvciBlYWNoIHNsb3QgY29uZmlndXJlZCB3aXRoIFBDUiBhbmQKIyBmb3IgZXZlcnkgZGV2aWNlIGluIHRoZSBzeXN0ZW0KcHJvY2Vzc1BDUmVudHJpZXNPbmx5KCkgewoJbG9jYWwgbHVrc0RldmljZXMgcGFyc2VkQ2xldmlzIGZ1bmN0aW9uVG9SdW4KCWZ1bmN0aW9uVG9SdW49IiQxIgoJbHVrc0RldmljZXM9JChnZXRMVUtTRGV2aWNlcykKCXBhcnNlZENsZXZpcz0kKHBhcnNlQ2xldmlzQ29uZmlnICIkbHVrc0RldmljZXMiKQoKCWlmIFsgIiRwYXJzZWRDbGV2aXMiID09ICIiIF07IHRoZW4KCQlsb2dJbmZvICJubyBwY3IgY29uZmlnIGRldGVjdGVkLCBub3RoaW5nIHRvIGRvIGZvciAkZnVuY3Rpb25Ub1J1biIKCQlyZXR1cm4KCWZpCglsb2dJbmZvICJwYXJzZWQgY2xldmlzIGZvciBhbGwgZHJpdmVzOiAkcGFyc2VkQ2xldmlzIgoJZWNobyAiJHBhcnNlZENsZXZpcyIgfCB3aGlsZSBJRlM9IHJlYWQgLXIgbGluZTsgZG8KCQlsb2dEZWJ1ZyAiJGxpbmUiCgkJSUZTPSJ8IiByZWFkIC1yYSB2YWx1ZXMgPDw8IiRsaW5lIgoJCXJlc2VydmVkU2xvdFByZXNlbnQ9JHt2YWx1ZXNbMF19CgkJZGV2aWNlPSR7dmFsdWVzWzFdfQoJCXNsb3ROdW1iZXI9JHt2YWx1ZXNbMl19CgkJcGNySURzPSR7dmFsdWVzWzNdfQoJCWNsZXZpc0NvbmZpZz0ke3ZhbHVlc1s0XX0KCQlsb2dJbmZvICJyZXNlcnZlZFNsb3Q9JHJlc2VydmVkU2xvdFByZXNlbnQgZGV2aWNlPSRkZXZpY2Ugc2xvdD0kc2xvdE51bWJlciB3aXRoIFBDUiBJRHM9JHBjcklEcyBhbmQgY2xldmlzIGNvbmZpZz0kY2xldmlzQ29uZmlnIgoJCWlmIFsgLW4gIiRwY3JJRHMiIF07IHRoZW4KCQkJbG9nRGVidWcgImJlZm9yZSBhcHBseWluZyBjb21tYW5kOiAkKC91c3IvYmluL3RwbTJfcGNycmVhZCBzaGEyNTY6IiRwY3JJRHMiKSIKCQkJIiRmdW5jdGlvblRvUnVuIiAiJHJlc2VydmVkU2xvdFByZXNlbnQiICIkZGV2aWNlIiAiJHNsb3ROdW1iZXIiICIkcGNySURzIiAiJGNsZXZpc0NvbmZpZyIgfHwgdHJ1ZQoJCQlsb2dEZWJ1ZyAiYWZ0ZXIgYXBwbHlpbmcgY29tbWFuZDogJCgvdXNyL2Jpbi90cG0yX3BjcnJlYWQgc2hhMjU2OiIkcGNySURzIikiCgkJZmkKCWRvbmUKfQoKIyBpbml0aWFsaXplIHRoZSBhcnJheSBvZiB1cGdyYWRlIGRldGVjdGlvbiBtZXRob2RzIHNlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHMKaW5pdFVwZ3JhZGVEZXRlY3Rpb25NZXRob2RzKCkgewoJIyBzaGVsbGNoZWNrIHNvdXJjZT1od3VwZ3JhZGUtZGV0ZWN0aW9uLW1ldGhvZHMvZmlsZS5zaAoJZm9yIGYgaW4gIiRTQ1JJUFRfRElSIi9od3VwZ3JhZGUtZGV0ZWN0aW9uLW1ldGhvZHMvKi5zaDsgZG8gc291cmNlICIkZiI7IGRvbmUKCWxvZ0luZm8gImRldGVjdGVkIHN5c3RlbSB1cGdyYWRlIGRldGVjdGlvbiBwbHVnaW5zOiIKCWZvciBlbGVtZW50IGluICIke3NlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHNbQF19IjsgZG8gZWNobyAiJGVsZW1lbnQiOyBkb25lCn0KCiMgZXhlY3V0ZSBhbGwgaHcgdXBncmFkZSBkZXRlY3Rpb24gZnVuY3Rpb25zIGluIGh3dXBncmFkZS1kZXRlY3Rpb24tbWV0aG9kcyBkaXJlY3RvcnkKIyByZXR1cm5zIHRydWUgaWYgYSBodyB1cGdyYWRlIGlzIGRldGVjdGVkCiMgZmFsc2Ugb3RoZXJ3aXNlCmlzU3lzdGVtVXBkYXRpbmcoKSB7Cglsb2NhbCBpc1VwZGF0aW5nCgoJaXNVcGRhdGluZz0kRkFMU0UKCSMgSXRlcmF0ZSB0aHJvdWdoIHRoZSB1cGRhdGVkIGFycmF5IGFuZCBjYWxsIGVhY2ggZnVuY3Rpb24KCWZvciBmdW5jIGluICIke3NlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHNbQF19IjsgZG8KCQlpZiAkZnVuYzsgdGhlbgoJCQlpc1VwZGF0aW5nPSRUUlVFCgkJCWxvZ0luZm8gImRldGVjdGVkIHVwZGF0ZSB2aWEgJGZ1bmMiCgkJZWxzZQoJCQlsb2dJbmZvICJubyB1cGRhdGUgZGV0ZWN0ZWQgdmlhICRmdW5jIgoJCWZpCglkb25lCglyZXR1cm4gJGlzVXBkYXRpbmcKfQoKI3JlYmluZHMgYSBnaXZlbiBrZXkgc2xvdCB0aGF0IGlzIGNvbmZpZ3VyZWQgd2l0aCBQQ1IgZm9yIGEgZ2l2ZW4gZGV2aWNlCnJlYmluZFBDUmVudHJpZXNPbmx5KCkgewoJbG9jYWwgcmVzZXJ2ZWRTbG90UHJlc2VudCBkZXZpY2VQYXRoIHNsb3QgcGNySURzIGNsZXZpc0NvbmZpZwoKCXJlc2VydmVkU2xvdFByZXNlbnQ9IiQxIgoJZGV2aWNlUGF0aD0iJDIiCglzbG90PSIkMyIKCXBjcklEcz0iJDQiCgljbGV2aXNDb25maWc9IiQ1IgoKCWxvZ0luZm8gIlJlYmluZGluZyByZXNlcnZlZFNsb3RQcmVzZW50PSRyZXNlcnZlZFNsb3RQcmVzZW50IGRldmljZT0kZGV2aWNlUGF0aCBzbG90PSRzbG90IHdpdGggUENSIElEcz0kcGNySURzIGFuZCBjbGV2aXMgY29uZmlnPSRjbGV2aXNDb25maWciCgljbGV2aXMtbHVrcy1yZWdlbiAtZCAiJGRldmljZVBhdGgiIC1zICIkc2xvdCIgLXEgfHwgdHJ1ZQoJcmVtb3ZlUmVzZXJ2ZWRTbG90ICIkZGV2aWNlUGF0aCIKfQo=
313
+ mode: 493
314
+ path: /usr/local/bin/luks-helpers.sh
315
+ - contents:
316
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKU0NSSVBUX0RJUj0kKGRpcm5hbWUgIiQwIikKc291cmNlICIkU0NSSVBUX0RJUiIvbHVrcy1oZWxwZXJzLnNoCgpsb2dJbmZvICJTaHV0dGluZyBkb3duIG9yIHJlYm9vdGluZyIKaW5pdFVwZ3JhZGVEZXRlY3Rpb25NZXRob2RzCmlmIGlzU3lzdGVtVXBkYXRpbmc7IHRoZW4KCWxvZ0luZm8gIlN5c3RlbSBIVyB1cGRhdGUgZGV0ZWN0ZWQsIGRpc2FibGluZyBQQ1IgcHJvdGVjdGlvbiBvbiBhbGwgUENSIHByb3RlY3RlZCBMVUtTIHBhcnRpdGlvbnMiCglwcm9jZXNzUENSZW50cmllc09ubHkgYWRkUmVzZXJ2ZWRTbG90CglleGl0IDAKZmkKCmxvZ0luZm8gIk5vIFN5c3RlbSBIVyB1cGRhdGUgZGV0ZWN0ZWQsIGNvbnRpbnVlIgo=
317
+ mode: 493
318
+ path: /usr/local/bin/disablePcrOnRebootOrShutdown.sh
319
+ - contents:
320
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKU0NSSVBUX0RJUj0kKGRpcm5hbWUgIiQwIikKIyBzaGVsbGNoZWNrIHNvdXJjZT1sdWtzLWhlbHBlcnMuc2gKc291cmNlICIkU0NSSVBUX0RJUiIvbHVrcy1oZWxwZXJzLnNoCiNzZXQgLXgKCmxvZ0luZm8gImJvb3RpbmcuLi4gY2hlY2tpbmcgaWYgcmViaW5kaW5nIGRpc2sgbmVlZGVkIgpwcm9jZXNzUENSZW50cmllc09ubHkgcmViaW5kUENSZW50cmllc09ubHkK
321
+ mode: 493
322
+ path: /usr/local/bin/rebindDiskOnBoot.sh
323
+ - contents:
324
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKaXNDdXN0b21GaWxlVXBkYXRpbmcoKSB7CglpZiBbIC1mICIvZXRjL2hvc3QtaHctVXBkYXRpbmcuZmxhZyIgXTsgdGhlbgoJCXJldHVybiAiJFRSVUUiCgllbHNlCgkJcmV0dXJuICIkRkFMU0UiCglmaQp9CgojIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgYXJyYXkgb2YgdXBkYXRlIGRldGVjdGlvbiBtZXRob2RzCnNlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHMrPSgiaXNDdXN0b21GaWxlVXBkYXRpbmciKQo=
325
+ mode: 493
326
+ path: /usr/local/bin/hwupgrade-detection-methods/file.sh
327
+ - contents:
328
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKaXNGd3VwVXBkYXRpbmcoKSB7Cglsb2NhbCBFRkkgTkVYVF9CT09UCgoJRUZJPSQoZWZpYm9vdG1ncikKCU5FWFRfQk9PVD0kKGVjaG8gIiRFRkkiIHwgZ3JlcCAiQm9vdE5leHQ6IiB8IGF3ayAneyBwcmludCAkMiB9JykKCWlmIFsgIiRORVhUX0JPT1QiID09ICIiIF07IHRoZW4KCQlyZXR1cm4gMQoJZmkKCWVjaG8gIiRFRkkiIHwgZ3JlcCAiQm9vdCRORVhUX0JPT1QiIHwgZ3JlcCAiZnd1cGQiCgkjIGlmIHRoZSBuZXh0IGJvb3QgbGluZSBjb250YWlucyB0aGUgdGV4dCAiZnd1cGQiCglpZiBbICQ/IF07IHRoZW4KCQlyZXR1cm4gIiRUUlVFIgoJZmkKCXJldHVybiAiJEZBTFNFIgp9CgojIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgYXJyYXkgb2YgdXBkYXRlIGRldGVjdGlvbiBtZXRob2RzCnNlcnZlclVwZGF0ZURldGVjdGlvbk1ldGhvZHMrPSgiaXNGd3VwVXBkYXRpbmciKQo=
329
+ mode: 493
330
+ path: /usr/local/bin/hwupgrade-detection-methods/fwup.sh
331
+ - contents:
332
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKaXNPc3RyZWVVcGRhdGluZygpIHsKCWxvY2FsIFJFU1VMVAoKCVJFU1VMVD0kKG9zdHJlZSBhZG1pbiBzdGF0dXMgfCBncmVwIC1FICJzdGFnZWR8cGVuZGluZyIpCglpZiBbICIkUkVTVUxUIiAhPSAiIiBdOyB0aGVuCgkJcmV0dXJuICIkVFJVRSIKCWVsc2UKCQlyZXR1cm4gIiRGQUxTRSIKCWZpCn0KCiMgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHRoZSBhcnJheSBvZiB1cGRhdGUgZGV0ZWN0aW9uIG1ldGhvZHMKc2VydmVyVXBkYXRlRGV0ZWN0aW9uTWV0aG9kcys9KCJpc09zdHJlZVVwZGF0aW5nIikK
333
+ mode: 493
334
+ path: /usr/local/bin/hwupgrade-detection-methods/ostree.sh
335
+ - contents:
336
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKc2V0IC1vIGVycmV4aXQgLW8gbm91bnNldCAtbyBwaXBlZmFpbAoKU1BPS0VfS1VCRUNPTkZJR19QQVRIPS92YXIvbGliL2t1YmVsZXQva3ViZWNvbmZpZwpIVUJfU0VDUkVUX05BTUVTUEFDRT1vcGVuLWNsdXN0ZXItbWFuYWdlbWVudC1hZ2VudApIVUJfU0VDUkVUX05BTUU9aHViLWt1YmVjb25maWctc2VjcmV0CgojIHJldHJpZXZlcyB0aGUga3ViZWNvbmZpZyBmb3IgdGhpcyBzcG9rZSdzIGNsdXN0ZXIKZ2V0SHViS3ViZWNvbmZpZygpIHsKCWxvY2FsIGt1YmVDb25maWdQYXRoIG5hbWVzcGFjZSBzZWNyZXROYW1lIEtVQkVDT05GSUdfREFUQSBUTFNfS0VZIFRMU19DUlQKCglrdWJlQ29uZmlnUGF0aD0iJDEiCgluYW1lc3BhY2U9IiQyIgoJc2VjcmV0TmFtZT0iJDMiCglLVUJFQ09ORklHX0RBVEE9JChvYyAtLWt1YmVjb25maWcgIiRrdWJlQ29uZmlnUGF0aCIgZ2V0IHNlY3JldCAtbiAiJG5hbWVzcGFjZSIgIiRzZWNyZXROYW1lIiAtbyBqc29uIHwganEgLmRhdGEua3ViZWNvbmZpZyB8IHNlZCAncy8iLy9nJyB8IGJhc2U2NCAtZCkKCWlmIFsgLXogIiRLVUJFQ09ORklHX0RBVEEiIF07IHRoZW4KCQlyZXR1cm4gIiRGQUxTRSIKCWZpCglUTFNfS0VZPSQob2MgLS1rdWJlY29uZmlnICIka3ViZUNvbmZpZ1BhdGgiIGdldCBzZWNyZXQgLW4gIiRuYW1lc3BhY2UiICIkc2VjcmV0TmFtZSIgLW8ganNvbiB8IGpxICcuZGF0YS4idGxzLmtleSInIHwgc2VkICdzLyIvL2cnKQoJVExTX0NSVD0kKG9jIC0ta3ViZWNvbmZpZyAiJGt1YmVDb25maWdQYXRoIiBnZXQgc2VjcmV0IC1uICIkbmFtZXNwYWNlIiAiJHNlY3JldE5hbWUiIC1vIGpzb24gfCBqcSAnLmRhdGEuInRscy5jcnQiJyB8IHNlZCAncy8iLy9nJykKCWVjaG8gIiRLVUJFQ09ORklHX0RBVEEiIHwgc2VkIC1lICJzL2NsaWVudC1jZXJ0aWZpY2F0ZTogdGxzLmNydC9jbGllbnQtY2VydGlmaWNhdGUtZGF0YTogJFRMU19DUlQvZyIgfCBzZWQgLWUgInMvY2xpZW50LWtleTogdGxzLmtleS9jbGllbnQta2V5LWRhdGE6ICRUTFNfS0VZL2ciID4vdG1wL2t1YmVjb25maWctaHViCglyZXR1cm4gIiRUUlVFIgp9CgojIFJldHJlaXZlcyBUQUxNJ3Mgc3RhdGUgaW4gdGhlIGh1YiBjbHVzdGVyJ3MgbWFuYWdlZENsdXN0ZXIgb2JqZWN0LiBUYWtlcyBvbmUgYXJndW1lbnQ6CiMgZG9uZSAtPiByZXR1cm4gJFRSVUUgaWYgdGhlIHp0cC1kb25lIGxhYmVsIGlzIHNldCwgJEZBTFNFIG90aGVyd2lzZQojIHJ1bm5pbmcgLT4gcmV0dXJuICRUUlVFIGlmIHRoZSB6dHAtcnVubmluZyBsYWJlbCBpcyBzZXQsICRGQUxTRSBvdGhlcndpc2UKaXNadHBTdGF0ZSgpIHsKCWxvY2FsIHRhbG1TdGF0ZSBSRVNVTFQKCgl0YWxtU3RhdGU9IiQxIgoJUkVTVUxUPSRGQUxTRQoKCWNhc2UgIiR0YWxtU3RhdGUiIGluCgkicnVubmluZyIpCgkJUkVTVUxUPSQoS1VCRUNPTkZJRz0vdG1wL2t1YmVjb25maWctaHViIG9jIGdldCBtYW5hZ2VkY2x1c3RlciAiJChob3N0bmFtZSAtLXNob3J0KSIgLW9qc29uIHwganEgJy5tZXRhZGF0YS5sYWJlbHNbInp0cC1ydW5uaW5nIl0hPW51bGwnKQoJCTs7CgkiZG9uZSIpCgkJUkVTVUxUPSQoS1VCRUNPTkZJRz0vdG1wL2t1YmVjb25maWctaHViIG9jIGdldCBtYW5hZ2VkY2x1c3RlciAiJChob3N0bmFtZSAtLXNob3J0KSIgLW9qc29uIHwganEgJy5tZXRhZGF0YS5sYWJlbHNbInp0cC1kb25lIl0hPW51bGwnKQoJCTs7CgkqKQoJCSMgQ29kZSB0byBleGVjdXRlIHdoZW4gbm8gcGF0dGVybnMgbWF0Y2gKCQk7OwoJZXNhYwoJaWYgWyAiJFJFU1VMVCIgPT0gImZhbHNlIiBdOyB0aGVuCgkJbG9nRGVidWcgIlRBTE0gJHRhbG1TdGF0ZSBzdGF0ZSBpcyAkUkVTVUxUIgoJCXJldHVybiAiJEZBTFNFIgoJZmkKCWxvZ0RlYnVnICJUQUxNICR0YWxtU3RhdGUgc3RhdGUgaXMgJFJFU1VMVCIKCXJldHVybiAiJFRSVUUiCn0KCmlzVEFMTVVwZGF0aW5nKCkgewoJaWYgISBnZXRIdWJLdWJlY29uZmlnICRTUE9LRV9LVUJFQ09ORklHX1BBVEggJEhVQl9TRUNSRVRfTkFNRVNQQUNFICRIVUJfU0VDUkVUX05BTUU7IHRoZW4KCQlsb2dJbmZvICJUQUxNIG5vdCBhdmFpbGFibGUgb3IgaHViIGt1YmVjb25maWcgaXMgbm8gcmVhZHkgeWV0IGF0ICRTUE9LRV9LVUJFQ09ORklHX1BBVEggcGF0aCwgY2Fubm90IGdldCBzcG9rZSBzZWNyZXQgJEhVQl9TRUNSRVRfTkFNRSBpbiAkSFVCX1NFQ1JFVF9OQU1FU1BBQ0UgbmFtZXNwYWNlIgoJCXJldHVybiAiJEZBTFNFIgoJZmkKCWlzWnRwU3RhdGUgInJ1bm5pbmciCglyZXR1cm4gJD8KfQoKIyBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGFycmF5IG9mIHVwZGF0ZSBkZXRlY3Rpb24gbWV0aG9kcwpzZXJ2ZXJVcGRhdGVEZXRlY3Rpb25NZXRob2RzKz0oImlzVEFMTVVwZGF0aW5nIikK
337
+ mode: 493
338
+ path: /usr/local/bin/hwupgrade-detection-methods/talm.sh
339
+ systemd:
340
+ units:
341
+ - contents: |
342
+ [Unit]
343
+ After=cryptsetup.target systemd-boot-update.service
344
+ Requires=cryptsetup.target systemd-boot-update.service
345
+ [Service]
346
+ Type=oneshot
347
+ ExecStart=/usr/local/bin/rebindDiskOnBoot.sh
348
+ [Install]
349
+ RequiredBy=sysinit.target
350
+ enabled: true
351
+ name: pcr-rebind-boot.service
352
+ - contents: |
353
+ [Service]
354
+ Type=oneshot
355
+ RemainAfterExit=true
356
+ ExecStart=/usr/bin/true
357
+ ExecStop=/usr/local/bin/disablePcrOnRebootOrShutdown.sh
358
+ [Install]
359
+ WantedBy=multi-user.target
360
+ enabled: true
361
+ name: pcr-disable-shutdown.service
362
+ - 03-sctp-machine-config-master.yaml: |
363
+ # Automatically generated by extra-manifests-builder
364
+ # Do not make changes directly.
365
+ apiVersion: machineconfiguration.openshift.io/v1
366
+ kind: MachineConfig
367
+ metadata:
368
+ labels:
369
+ machineconfiguration.openshift.io/role: master
370
+ name: load-sctp-module-master
371
+ spec:
372
+ config:
373
+ ignition:
374
+ version: 2.2.0
375
+ storage:
376
+ files:
377
+ - contents:
378
+ source: data:,
379
+ verification: {}
380
+ filesystem: root
381
+ mode: 420
382
+ path: /etc/modprobe.d/sctp-blacklist.conf
383
+ - contents:
384
+ source: data:text/plain;charset=utf-8,sctp
385
+ filesystem: root
386
+ mode: 420
387
+ path: /etc/modules-load.d/sctp-load.conf
388
+ - 03-sctp-machine-config-worker.yaml: |
389
+ # Automatically generated by extra-manifests-builder
390
+ # Do not make changes directly.
391
+ apiVersion: machineconfiguration.openshift.io/v1
392
+ kind: MachineConfig
393
+ metadata:
394
+ labels:
395
+ machineconfiguration.openshift.io/role: worker
396
+ name: load-sctp-module-worker
397
+ spec:
398
+ config:
399
+ ignition:
400
+ version: 2.2.0
401
+ storage:
402
+ files:
403
+ - contents:
404
+ source: data:,
405
+ verification: {}
406
+ filesystem: root
407
+ mode: 420
408
+ path: /etc/modprobe.d/sctp-blacklist.conf
409
+ - contents:
410
+ source: data:text/plain;charset=utf-8,sctp
411
+ filesystem: root
412
+ mode: 420
413
+ path: /etc/modules-load.d/sctp-load.conf
414
+ - 06-kdump-master.yaml: |
415
+ # Automatically generated by extra-manifests-builder
416
+ # Do not make changes directly.
417
+ apiVersion: machineconfiguration.openshift.io/v1
418
+ kind: MachineConfig
419
+ metadata:
420
+ labels:
421
+ machineconfiguration.openshift.io/role: master
422
+ name: 06-kdump-enable-master
423
+ spec:
424
+ config:
425
+ ignition:
426
+ version: 3.2.0
427
+ systemd:
428
+ units:
429
+ - enabled: true
430
+ name: kdump.service
431
+ kernelArguments:
432
+ - crashkernel=512M
433
+ - 06-kdump-worker.yaml: |
434
+ # Automatically generated by extra-manifests-builder
435
+ # Do not make changes directly.
436
+ apiVersion: machineconfiguration.openshift.io/v1
437
+ kind: MachineConfig
438
+ metadata:
439
+ labels:
440
+ machineconfiguration.openshift.io/role: worker
441
+ name: 06-kdump-enable-worker
442
+ spec:
443
+ config:
444
+ ignition:
445
+ version: 3.2.0
446
+ systemd:
447
+ units:
448
+ - enabled: true
449
+ name: kdump.service
450
+ kernelArguments:
451
+ - crashkernel=512M
452
+ - 07-sriov-related-kernel-args-master.yaml: |
453
+ # Automatically generated by extra-manifests-builder
454
+ # Do not make changes directly.
455
+ apiVersion: machineconfiguration.openshift.io/v1
456
+ kind: MachineConfig
457
+ metadata:
458
+ labels:
459
+ machineconfiguration.openshift.io/role: master
460
+ name: 07-sriov-related-kernel-args-master
461
+ spec:
462
+ config:
463
+ ignition:
464
+ version: 3.2.0
465
+ kernelArguments:
466
+ - intel_iommu=on
467
+ - iommu=pt
468
+ - 07-sriov-related-kernel-args-worker.yaml: |
469
+ # Automatically generated by extra-manifests-builder
470
+ # Do not make changes directly.
471
+ apiVersion: machineconfiguration.openshift.io/v1
472
+ kind: MachineConfig
473
+ metadata:
474
+ labels:
475
+ machineconfiguration.openshift.io/role: worker
476
+ name: 07-sriov-related-kernel-args-worker
477
+ spec:
478
+ config:
479
+ ignition:
480
+ version: 3.2.0
481
+ kernelArguments:
482
+ - intel_iommu=on
483
+ - iommu=pt
484
+ - 08-set-rcu-normal-master.yaml: |
485
+ # Automatically generated by extra-manifests-builder
486
+ # Do not make changes directly.
487
+ apiVersion: machineconfiguration.openshift.io/v1
488
+ kind: MachineConfig
489
+ metadata:
490
+ labels:
491
+ machineconfiguration.openshift.io/role: master
492
+ name: 08-set-rcu-normal-master
493
+ spec:
494
+ config:
495
+ ignition:
496
+ version: 3.2.0
497
+ storage:
498
+ files:
499
+ - contents:
500
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKIwojIERpc2FibGUgcmN1X2V4cGVkaXRlZCBhZnRlciBub2RlIGhhcyBmaW5pc2hlZCBib290aW5nCiMKIyBUaGUgZGVmYXVsdHMgYmVsb3cgY2FuIGJlIG92ZXJyaWRkZW4gdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcwojCgojIERlZmF1bHQgd2FpdCB0aW1lIGlzIDYwMHMgPSAxMG06Ck1BWElNVU1fV0FJVF9USU1FPSR7TUFYSU1VTV9XQUlUX1RJTUU6LTYwMH0KCiMgRGVmYXVsdCBzdGVhZHktc3RhdGUgdGhyZXNob2xkID0gMiUKIyBBbGxvd2VkIHZhbHVlczoKIyAgNCAgLSBhYnNvbHV0ZSBwb2QgY291bnQgKCsvLSkKIyAgNCUgLSBwZXJjZW50IGNoYW5nZSAoKy8tKQojICAtMSAtIGRpc2FibGUgdGhlIHN0ZWFkeS1zdGF0ZSBjaGVjawpTVEVBRFlfU1RBVEVfVEhSRVNIT0xEPSR7U1RFQURZX1NUQVRFX1RIUkVTSE9MRDotMiV9CgojIERlZmF1bHQgc3RlYWR5LXN0YXRlIHdpbmRvdyA9IDYwcwojIElmIHRoZSBydW5uaW5nIHBvZCBjb3VudCBzdGF5cyB3aXRoaW4gdGhlIGdpdmVuIHRocmVzaG9sZCBmb3IgdGhpcyB0aW1lCiMgcGVyaW9kLCByZXR1cm4gQ1BVIHV0aWxpemF0aW9uIHRvIG5vcm1hbCBiZWZvcmUgdGhlIG1heGltdW0gd2FpdCB0aW1lIGhhcwojIGV4cGlyZXMKU1RFQURZX1NUQVRFX1dJTkRPVz0ke1NURUFEWV9TVEFURV9XSU5ET1c6LTYwfQoKIyBEZWZhdWx0IHN0ZWFkeS1zdGF0ZSBhbGxvd3MgYW55IHBvZCBjb3VudCB0byBiZSAic3RlYWR5IHN0YXRlIgojIEluY3JlYXNpbmcgdGhpcyB3aWxsIHNraXAgYW55IHN0ZWFkeS1zdGF0ZSBjaGVja3MgdW50aWwgdGhlIGNvdW50IHJpc2VzIGFib3ZlCiMgdGhpcyBudW1iZXIgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIGlmIHRoZXJlIGFyZSBzb21lIHBlcmlvZHMgd2hlcmUgdGhlCiMgY291bnQgZG9lc24ndCBpbmNyZWFzZSBidXQgd2Uga25vdyB3ZSBjYW4ndCBiZSBhdCBzdGVhZHktc3RhdGUgeWV0LgpTVEVBRFlfU1RBVEVfTUlOSU1VTT0ke1NURUFEWV9TVEFURV9NSU5JTVVNOi0wfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKd2l0aGluKCkgewogIGxvY2FsIGxhc3Q9JDEgY3VycmVudD0kMiB0aHJlc2hvbGQ9JDMKICBsb2NhbCBkZWx0YT0wIHBjaGFuZ2UKICBkZWx0YT0kKCggY3VycmVudCAtIGxhc3QgKSkKICBpZiBbWyAkY3VycmVudCAtZXEgJGxhc3QgXV07IHRoZW4KICAgIHBjaGFuZ2U9MAogIGVsaWYgW1sgJGxhc3QgLWVxIDAgXV07IHRoZW4KICAgIHBjaGFuZ2U9MTAwMDAwMAogIGVsc2UKICAgIHBjaGFuZ2U9JCgoICggIiRkZWx0YSIgKiAxMDApIC8gbGFzdCApKQogIGZpCiAgZWNobyAtbiAibGFzdDokbGFzdCBjdXJyZW50OiRjdXJyZW50IGRlbHRhOiRkZWx0YSBwY2hhbmdlOiR7cGNoYW5nZX0lOiAiCiAgbG9jYWwgYWJzb2x1dGUgbGltaXQKICBjYXNlICR0aHJlc2hvbGQgaW4KICAgIColKQogICAgICBhYnNvbHV0ZT0ke3BjaGFuZ2UjIy19ICMgYWJzb2x1dGUgdmFsdWUKICAgICAgbGltaXQ9JHt0aHJlc2hvbGQlJSV9CiAgICAgIDs7CiAgICAqKQogICAgICBhYnNvbHV0ZT0ke2RlbHRhIyMtfSAjIGFic29sdXRlIHZhbHVlCiAgICAgIGxpbWl0PSR0aHJlc2hvbGQKICAgICAgOzsKICBlc2FjCiAgaWYgW1sgJGFic29sdXRlIC1sZSAkbGltaXQgXV07IHRoZW4KICAgIGVjaG8gIndpdGhpbiAoKy8tKSR0aHJlc2hvbGQiCiAgICByZXR1cm4gMAogIGVsc2UKICAgIGVjaG8gIm91dHNpZGUgKCsvLSkkdGhyZXNob2xkIgogICAgcmV0dXJuIDEKICBmaQp9CgpzdGVhZHlzdGF0ZSgpIHsKICBsb2NhbCBsYXN0PSQxIGN1cnJlbnQ9JDIKICBpZiBbWyAkbGFzdCAtbHQgJFNURUFEWV9TVEFURV9NSU5JTVVNIF1dOyB0aGVuCiAgICBlY2hvICJsYXN0OiRsYXN0IGN1cnJlbnQ6JGN1cnJlbnQgV2FpdGluZyB0byByZWFjaCAkU1RFQURZX1NUQVRFX01JTklNVU0gYmVmb3JlIGNoZWNraW5nIGZvciBzdGVhZHktc3RhdGUiCiAgICByZXR1cm4gMQogIGZpCiAgd2l0aGluICIkbGFzdCIgIiRjdXJyZW50IiAiJFNURUFEWV9TVEFURV9USFJFU0hPTEQiCn0KCndhaXRGb3JSZWFkeSgpIHsKICBsb2dnZXIgIlJlY292ZXJ5OiBXYWl0aW5nICR7TUFYSU1VTV9XQUlUX1RJTUV9cyBmb3IgdGhlIGluaXRpYWxpemF0aW9uIHRvIGNvbXBsZXRlIgogIGxvY2FsIHQ9MCBzPTEwCiAgbG9jYWwgbGFzdENjb3VudD0wIGNjb3VudD0wIHN0ZWFkeVN0YXRlVGltZT0wCiAgd2hpbGUgW1sgJHQgLWx0ICRNQVhJTVVNX1dBSVRfVElNRSBdXTsgZG8KICAgIHNsZWVwICRzCiAgICAoKHQgKz0gcykpCiAgICAjIERldGVjdCBzdGVhZHktc3RhdGUgcG9kIGNvdW50CiAgICBjY291bnQ9JChjcmljdGwgcHMgMj4vZGV2L251bGwgfCB3YyAtbCkKICAgIGlmIFtbICRjY291bnQgLWd0IDAgXV0gJiYgc3RlYWR5c3RhdGUgIiRsYXN0Q2NvdW50IiAiJGNjb3VudCI7IHRoZW4KICAgICAgKChzdGVhZHlTdGF0ZVRpbWUgKz0gcykpCiAgICAgIGVjaG8gIlN0ZWFkeS1zdGF0ZSBmb3IgJHtzdGVhZHlTdGF0ZVRpbWV9cy8ke1NURUFEWV9TVEFURV9XSU5ET1d9cyIKICAgICAgaWYgW1sgJHN0ZWFkeVN0YXRlVGltZSAtZ2UgJFNURUFEWV9TVEFURV9XSU5ET1cgXV07IHRoZW4KICAgICAgICBsb2dnZXIgIlJlY292ZXJ5OiBTdGVhZHktc3RhdGUgKCsvLSAkU1RFQURZX1NUQVRFX1RIUkVTSE9MRCkgZm9yICR7U1RFQURZX1NUQVRFX1dJTkRPV31zOiBEb25lIgogICAgICAgIHJldHVybiAwCiAgICAgIGZpCiAgICBlbHNlCiAgICAgIGlmIFtbICRzdGVhZHlTdGF0ZVRpbWUgLWd0IDAgXV07IHRoZW4KICAgICAgICBlY2hvICJSZXNldHRpbmcgc3RlYWR5LXN0YXRlIHRpbWVyIgogICAgICAgIHN0ZWFkeVN0YXRlVGltZT0wCiAgICAgIGZpCiAgICBmaQogICAgbGFzdENjb3VudD0kY2NvdW50CiAgZG9uZQogIGxvZ2dlciAiUmVjb3Zlcnk6IFJlY292ZXJ5IENvbXBsZXRlIFRpbWVvdXQiCn0KCnNldFJjdU5vcm1hbCgpIHsKICBlY2hvICJTZXR0aW5nIHJjdV9ub3JtYWwgdG8gMSIKICBlY2hvIDEgPiAvc3lzL2tlcm5lbC9yY3Vfbm9ybWFsCn0KCm1haW4oKSB7CiAgd2FpdEZvclJlYWR5CiAgZWNobyAiV2FpdGluZyBmb3Igc3RlYWR5IHN0YXRlIHRvb2s6ICQoYXdrICd7cHJpbnQgaW50KCQxLzM2MDApImgiLCBpbnQoKCQxJTM2MDApLzYwKSJtIiwgaW50KCQxJTYwKSJzIn0nIC9wcm9jL3VwdGltZSkiCiAgc2V0UmN1Tm9ybWFsCn0KCmlmIFtbICIke0JBU0hfU09VUkNFWzBdfSIgPSAiJHswfSIgXV07IHRoZW4KICBtYWluICIke0B9IgogIGV4aXQgJD8KZmkK
501
+ mode: 493
502
+ path: /usr/local/bin/set-rcu-normal.sh
503
+ systemd:
504
+ units:
505
+ - contents: |
506
+ [Unit]
507
+ Description=Disable rcu_expedited after node has finished booting by setting rcu_normal to 1
508
+
509
+ [Service]
510
+ Type=simple
511
+ ExecStart=/usr/local/bin/set-rcu-normal.sh
512
+
513
+ # Maximum wait time is 600s = 10m:
514
+ Environment=MAXIMUM_WAIT_TIME=600
515
+
516
+ # Steady-state threshold = 2%
517
+ # Allowed values:
518
+ # 4 - absolute pod count (+/-)
519
+ # 4% - percent change (+/-)
520
+ # -1 - disable the steady-state check
521
+ # Note: '%' must be escaped as '%%' in systemd unit files
522
+ Environment=STEADY_STATE_THRESHOLD=2%%
523
+
524
+ # Steady-state window = 120s
525
+ # If the running pod count stays within the given threshold for this time
526
+ # period, return CPU utilization to normal before the maximum wait time has
527
+ # expires
528
+ Environment=STEADY_STATE_WINDOW=120
529
+
530
+ # Steady-state minimum = 40
531
+ # Increasing this will skip any steady-state checks until the count rises above
532
+ # this number to avoid false positives if there are some periods where the
533
+ # count doesn't increase but we know we can't be at steady-state yet.
534
+ Environment=STEADY_STATE_MINIMUM=40
535
+
536
+ [Install]
537
+ WantedBy=multi-user.target
538
+ enabled: true
539
+ name: set-rcu-normal.service
540
+ - 08-set-rcu-normal-worker.yaml: |
541
+ # Automatically generated by extra-manifests-builder
542
+ # Do not make changes directly.
543
+ apiVersion: machineconfiguration.openshift.io/v1
544
+ kind: MachineConfig
545
+ metadata:
546
+ labels:
547
+ machineconfiguration.openshift.io/role: worker
548
+ name: 08-set-rcu-normal-worker
549
+ spec:
550
+ config:
551
+ ignition:
552
+ version: 3.2.0
553
+ storage:
554
+ files:
555
+ - contents:
556
+ source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKIwojIERpc2FibGUgcmN1X2V4cGVkaXRlZCBhZnRlciBub2RlIGhhcyBmaW5pc2hlZCBib290aW5nCiMKIyBUaGUgZGVmYXVsdHMgYmVsb3cgY2FuIGJlIG92ZXJyaWRkZW4gdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcwojCgojIERlZmF1bHQgd2FpdCB0aW1lIGlzIDYwMHMgPSAxMG06Ck1BWElNVU1fV0FJVF9USU1FPSR7TUFYSU1VTV9XQUlUX1RJTUU6LTYwMH0KCiMgRGVmYXVsdCBzdGVhZHktc3RhdGUgdGhyZXNob2xkID0gMiUKIyBBbGxvd2VkIHZhbHVlczoKIyAgNCAgLSBhYnNvbHV0ZSBwb2QgY291bnQgKCsvLSkKIyAgNCUgLSBwZXJjZW50IGNoYW5nZSAoKy8tKQojICAtMSAtIGRpc2FibGUgdGhlIHN0ZWFkeS1zdGF0ZSBjaGVjawpTVEVBRFlfU1RBVEVfVEhSRVNIT0xEPSR7U1RFQURZX1NUQVRFX1RIUkVTSE9MRDotMiV9CgojIERlZmF1bHQgc3RlYWR5LXN0YXRlIHdpbmRvdyA9IDYwcwojIElmIHRoZSBydW5uaW5nIHBvZCBjb3VudCBzdGF5cyB3aXRoaW4gdGhlIGdpdmVuIHRocmVzaG9sZCBmb3IgdGhpcyB0aW1lCiMgcGVyaW9kLCByZXR1cm4gQ1BVIHV0aWxpemF0aW9uIHRvIG5vcm1hbCBiZWZvcmUgdGhlIG1heGltdW0gd2FpdCB0aW1lIGhhcwojIGV4cGlyZXMKU1RFQURZX1NUQVRFX1dJTkRPVz0ke1NURUFEWV9TVEFURV9XSU5ET1c6LTYwfQoKIyBEZWZhdWx0IHN0ZWFkeS1zdGF0ZSBhbGxvd3MgYW55IHBvZCBjb3VudCB0byBiZSAic3RlYWR5IHN0YXRlIgojIEluY3JlYXNpbmcgdGhpcyB3aWxsIHNraXAgYW55IHN0ZWFkeS1zdGF0ZSBjaGVja3MgdW50aWwgdGhlIGNvdW50IHJpc2VzIGFib3ZlCiMgdGhpcyBudW1iZXIgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIGlmIHRoZXJlIGFyZSBzb21lIHBlcmlvZHMgd2hlcmUgdGhlCiMgY291bnQgZG9lc24ndCBpbmNyZWFzZSBidXQgd2Uga25vdyB3ZSBjYW4ndCBiZSBhdCBzdGVhZHktc3RhdGUgeWV0LgpTVEVBRFlfU1RBVEVfTUlOSU1VTT0ke1NURUFEWV9TVEFURV9NSU5JTVVNOi0wfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKd2l0aGluKCkgewogIGxvY2FsIGxhc3Q9JDEgY3VycmVudD0kMiB0aHJlc2hvbGQ9JDMKICBsb2NhbCBkZWx0YT0wIHBjaGFuZ2UKICBkZWx0YT0kKCggY3VycmVudCAtIGxhc3QgKSkKICBpZiBbWyAkY3VycmVudCAtZXEgJGxhc3QgXV07IHRoZW4KICAgIHBjaGFuZ2U9MAogIGVsaWYgW1sgJGxhc3QgLWVxIDAgXV07IHRoZW4KICAgIHBjaGFuZ2U9MTAwMDAwMAogIGVsc2UKICAgIHBjaGFuZ2U9JCgoICggIiRkZWx0YSIgKiAxMDApIC8gbGFzdCApKQogIGZpCiAgZWNobyAtbiAibGFzdDokbGFzdCBjdXJyZW50OiRjdXJyZW50IGRlbHRhOiRkZWx0YSBwY2hhbmdlOiR7cGNoYW5nZX0lOiAiCiAgbG9jYWwgYWJzb2x1dGUgbGltaXQKICBjYXNlICR0aHJlc2hvbGQgaW4KICAgIColKQogICAgICBhYnNvbHV0ZT0ke3BjaGFuZ2UjIy19ICMgYWJzb2x1dGUgdmFsdWUKICAgICAgbGltaXQ9JHt0aHJlc2hvbGQlJSV9CiAgICAgIDs7CiAgICAqKQogICAgICBhYnNvbHV0ZT0ke2RlbHRhIyMtfSAjIGFic29sdXRlIHZhbHVlCiAgICAgIGxpbWl0PSR0aHJlc2hvbGQKICAgICAgOzsKICBlc2FjCiAgaWYgW1sgJGFic29sdXRlIC1sZSAkbGltaXQgXV07IHRoZW4KICAgIGVjaG8gIndpdGhpbiAoKy8tKSR0aHJlc2hvbGQiCiAgICByZXR1cm4gMAogIGVsc2UKICAgIGVjaG8gIm91dHNpZGUgKCsvLSkkdGhyZXNob2xkIgogICAgcmV0dXJuIDEKICBmaQp9CgpzdGVhZHlzdGF0ZSgpIHsKICBsb2NhbCBsYXN0PSQxIGN1cnJlbnQ9JDIKICBpZiBbWyAkbGFzdCAtbHQgJFNURUFEWV9TVEFURV9NSU5JTVVNIF1dOyB0aGVuCiAgICBlY2hvICJsYXN0OiRsYXN0IGN1cnJlbnQ6JGN1cnJlbnQgV2FpdGluZyB0byByZWFjaCAkU1RFQURZX1NUQVRFX01JTklNVU0gYmVmb3JlIGNoZWNraW5nIGZvciBzdGVhZHktc3RhdGUiCiAgICByZXR1cm4gMQogIGZpCiAgd2l0aGluICIkbGFzdCIgIiRjdXJyZW50IiAiJFNURUFEWV9TVEFURV9USFJFU0hPTEQiCn0KCndhaXRGb3JSZWFkeSgpIHsKICBsb2dnZXIgIlJlY292ZXJ5OiBXYWl0aW5nICR7TUFYSU1VTV9XQUlUX1RJTUV9cyBmb3IgdGhlIGluaXRpYWxpemF0aW9uIHRvIGNvbXBsZXRlIgogIGxvY2FsIHQ9MCBzPTEwCiAgbG9jYWwgbGFzdENjb3VudD0wIGNjb3VudD0wIHN0ZWFkeVN0YXRlVGltZT0wCiAgd2hpbGUgW1sgJHQgLWx0ICRNQVhJTVVNX1dBSVRfVElNRSBdXTsgZG8KICAgIHNsZWVwICRzCiAgICAoKHQgKz0gcykpCiAgICAjIERldGVjdCBzdGVhZHktc3RhdGUgcG9kIGNvdW50CiAgICBjY291bnQ9JChjcmljdGwgcHMgMj4vZGV2L251bGwgfCB3YyAtbCkKICAgIGlmIFtbICRjY291bnQgLWd0IDAgXV0gJiYgc3RlYWR5c3RhdGUgIiRsYXN0Q2NvdW50IiAiJGNjb3VudCI7IHRoZW4KICAgICAgKChzdGVhZHlTdGF0ZVRpbWUgKz0gcykpCiAgICAgIGVjaG8gIlN0ZWFkeS1zdGF0ZSBmb3IgJHtzdGVhZHlTdGF0ZVRpbWV9cy8ke1NURUFEWV9TVEFURV9XSU5ET1d9cyIKICAgICAgaWYgW1sgJHN0ZWFkeVN0YXRlVGltZSAtZ2UgJFNURUFEWV9TVEFURV9XSU5ET1cgXV07IHRoZW4KICAgICAgICBsb2dnZXIgIlJlY292ZXJ5OiBTdGVhZHktc3RhdGUgKCsvLSAkU1RFQURZX1NUQVRFX1RIUkVTSE9MRCkgZm9yICR7U1RFQURZX1NUQVRFX1dJTkRPV31zOiBEb25lIgogICAgICAgIHJldHVybiAwCiAgICAgIGZpCiAgICBlbHNlCiAgICAgIGlmIFtbICRzdGVhZHlTdGF0ZVRpbWUgLWd0IDAgXV07IHRoZW4KICAgICAgICBlY2hvICJSZXNldHRpbmcgc3RlYWR5LXN0YXRlIHRpbWVyIgogICAgICAgIHN0ZWFkeVN0YXRlVGltZT0wCiAgICAgIGZpCiAgICBmaQogICAgbGFzdENjb3VudD0kY2NvdW50CiAgZG9uZQogIGxvZ2dlciAiUmVjb3Zlcnk6IFJlY292ZXJ5IENvbXBsZXRlIFRpbWVvdXQiCn0KCnNldFJjdU5vcm1hbCgpIHsKICBlY2hvICJTZXR0aW5nIHJjdV9ub3JtYWwgdG8gMSIKICBlY2hvIDEgPiAvc3lzL2tlcm5lbC9yY3Vfbm9ybWFsCn0KCm1haW4oKSB7CiAgd2FpdEZvclJlYWR5CiAgZWNobyAiV2FpdGluZyBmb3Igc3RlYWR5IHN0YXRlIHRvb2s6ICQoYXdrICd7cHJpbnQgaW50KCQxLzM2MDApImgiLCBpbnQoKCQxJTM2MDApLzYwKSJtIiwgaW50KCQxJTYwKSJzIn0nIC9wcm9jL3VwdGltZSkiCiAgc2V0UmN1Tm9ybWFsCn0KCmlmIFtbICIke0JBU0hfU09VUkNFWzBdfSIgPSAiJHswfSIgXV07IHRoZW4KICBtYWluICIke0B9IgogIGV4aXQgJD8KZmkK
557
+ mode: 493
558
+ path: /usr/local/bin/set-rcu-normal.sh
559
+ systemd:
560
+ units:
561
+ - contents: |
562
+ [Unit]
563
+ Description=Disable rcu_expedited after node has finished booting by setting rcu_normal to 1
564
+
565
+ [Service]
566
+ Type=simple
567
+ ExecStart=/usr/local/bin/set-rcu-normal.sh
568
+
569
+ # Maximum wait time is 600s = 10m:
570
+ Environment=MAXIMUM_WAIT_TIME=600
571
+
572
+ # Steady-state threshold = 2%
573
+ # Allowed values:
574
+ # 4 - absolute pod count (+/-)
575
+ # 4% - percent change (+/-)
576
+ # -1 - disable the steady-state check
577
+ # Note: '%' must be escaped as '%%' in systemd unit files
578
+ Environment=STEADY_STATE_THRESHOLD=2%%
579
+
580
+ # Steady-state window = 120s
581
+ # If the running pod count stays within the given threshold for this time
582
+ # period, return CPU utilization to normal before the maximum wait time has
583
+ # expires
584
+ Environment=STEADY_STATE_WINDOW=120
585
+
586
+ # Steady-state minimum = 40
587
+ # Increasing this will skip any steady-state checks until the count rises above
588
+ # this number to avoid false positives if there are some periods where the
589
+ # count doesn't increase but we know we can't be at steady-state yet.
590
+ Environment=STEADY_STATE_MINIMUM=40
591
+
592
+ [Install]
593
+ WantedBy=multi-user.target
594
+ enabled: true
595
+ name: set-rcu-normal.service
596
+ - 09-openshift-marketplace-ns.yaml: |
597
+ # Taken from https://github.com/operator-framework/operator-marketplace/blob/53c124a3f0edfd151652e1f23c87dd39ed7646bb/manifests/01_namespace.yaml
598
+ # Update it as the source evolves.
599
+ apiVersion: v1
600
+ kind: Namespace
601
+ metadata:
602
+ annotations:
603
+ openshift.io/node-selector: ""
604
+ workload.openshift.io/allowed: "management"
605
+ labels:
606
+ openshift.io/cluster-monitoring: "true"
607
+ pod-security.kubernetes.io/enforce: baseline
608
+ pod-security.kubernetes.io/enforce-version: v1.25
609
+ pod-security.kubernetes.io/audit: baseline
610
+ pod-security.kubernetes.io/audit-version: v1.25
611
+ pod-security.kubernetes.io/warn: baseline
612
+ pod-security.kubernetes.io/warn-version: v1.25
613
+ name: "openshift-marketplace"
614
+ - 99-crio-disable-wipe-master.yaml: |
615
+ # Automatically generated by extra-manifests-builder
616
+ # Do not make changes directly.
617
+ apiVersion: machineconfiguration.openshift.io/v1
618
+ kind: MachineConfig
619
+ metadata:
620
+ labels:
621
+ machineconfiguration.openshift.io/role: master
622
+ name: 99-crio-disable-wipe-master
623
+ spec:
624
+ config:
625
+ ignition:
626
+ version: 3.2.0
627
+ storage:
628
+ files:
629
+ - contents:
630
+ source: data:text/plain;charset=utf-8;base64,W2NyaW9dCmNsZWFuX3NodXRkb3duX2ZpbGUgPSAiIgo=
631
+ mode: 420
632
+ path: /etc/crio/crio.conf.d/99-crio-disable-wipe.toml
633
+ - 99-crio-disable-wipe-worker.yaml: |
634
+ # Automatically generated by extra-manifests-builder
635
+ # Do not make changes directly.
636
+ apiVersion: machineconfiguration.openshift.io/v1
637
+ kind: MachineConfig
638
+ metadata:
639
+ labels:
640
+ machineconfiguration.openshift.io/role: worker
641
+ name: 99-crio-disable-wipe-worker
642
+ spec:
643
+ config:
644
+ ignition:
645
+ version: 3.2.0
646
+ storage:
647
+ files:
648
+ - contents:
649
+ source: data:text/plain;charset=utf-8;base64,W2NyaW9dCmNsZWFuX3NodXRkb3duX2ZpbGUgPSAiIgo=
650
+ mode: 420
651
+ path: /etc/crio/crio.conf.d/99-crio-disable-wipe.toml
652
+ - 99-sync-time-once-master.yaml: |
653
+ # Automatically generated by extra-manifests-builder
654
+ # Do not make changes directly.
655
+ apiVersion: machineconfiguration.openshift.io/v1
656
+ kind: MachineConfig
657
+ metadata:
658
+ labels:
659
+ machineconfiguration.openshift.io/role: master
660
+ name: 99-sync-time-once-master
661
+ spec:
662
+ config:
663
+ ignition:
664
+ version: 3.2.0
665
+ systemd:
666
+ units:
667
+ - contents: |
668
+ [Unit]
669
+ Description=Sync time once
670
+ After=network-online.target
671
+ Wants=network-online.target
672
+ [Service]
673
+ Type=oneshot
674
+ TimeoutStartSec=300
675
+ ExecCondition=/bin/bash -c 'systemctl is-enabled chronyd.service --quiet && exit 1 || exit 0'
676
+ ExecStart=/usr/sbin/chronyd -n -f /etc/chrony.conf -q
677
+ RemainAfterExit=yes
678
+ [Install]
679
+ WantedBy=multi-user.target
680
+ enabled: true
681
+ name: sync-time-once.service
682
+ 99-sync-time-once-worker.yaml: |
683
+ # Automatically generated by extra-manifests-builder
684
+ # Do not make changes directly.
685
+ apiVersion: machineconfiguration.openshift.io/v1
686
+ kind: MachineConfig
687
+ metadata:
688
+ labels:
689
+ machineconfiguration.openshift.io/role: worker
690
+ name: 99-sync-time-once-worker
691
+ spec:
692
+ config:
693
+ ignition:
694
+ version: 3.2.0
695
+ systemd:
696
+ units:
697
+ - contents: |
698
+ [Unit]
699
+ Description=Sync time once
700
+ After=network-online.target
701
+ Wants=network-online.target
702
+ [Service]
703
+ Type=oneshot
704
+ TimeoutStartSec=300
705
+ ExecCondition=/bin/bash -c 'systemctl is-enabled chronyd.service --quiet && exit 1 || exit 0'
706
+ ExecStart=/usr/sbin/chronyd -n -f /etc/chrony.conf -q
707
+ RemainAfterExit=yes
708
+ [Install]
709
+ WantedBy=multi-user.target
710
+ enabled: true
711
+ name: sync-time-once.service
712
+ - enable-crun-master.yaml: |
713
+ ---
714
+ apiVersion: machineconfiguration.openshift.io/v1
715
+ kind: ContainerRuntimeConfig
716
+ metadata:
717
+ name: enable-crun-master
718
+ spec:
719
+ machineConfigPoolSelector:
720
+ matchLabels:
721
+ pools.operator.machineconfiguration.openshift.io/master: ""
722
+ containerRuntimeConfig:
723
+ defaultRuntime: crun
724
+ - enable-crun-worker.yaml: |
725
+ ---
726
+ apiVersion: machineconfiguration.openshift.io/v1
727
+ kind: ContainerRuntimeConfig
728
+ metadata:
729
+ name: enable-crun-worker
730
+ spec:
731
+ machineConfigPoolSelector:
732
+ matchLabels:
733
+ pools.operator.machineconfiguration.openshift.io/worker: ""
734
+ containerRuntimeConfig:
735
+ defaultRuntime: crun
736
+ - ReduceMonitoringFootprint.yaml: |
737
+ ---
738
+ apiVersion: v1
739
+ kind: ConfigMap
740
+ metadata:
741
+ name: cluster-monitoring-config
742
+ namespace: openshift-monitoring
743
+ annotations:
744
+ ran.openshift.io/ztp-deploy-wave: "1"
745
+ data:
746
+ config.yaml: |
747
+ alertmanagerMain:
748
+ enabled: false
749
+ telemeterClient:
750
+ enabled: false
751
+ prometheusK8s:
752
+ retention: 24h
753
+ - DisableOLMPprof.yaml: |
754
+ ---
755
+ apiVersion: v1
756
+ kind: ConfigMap
757
+ metadata:
758
+ name: collect-profiles-config
759
+ namespace: openshift-operator-lifecycle-manager
760
+ annotations:
761
+ ran.openshift.io/ztp-deploy-wave: "10"
762
+ data:
763
+ pprof-config.yaml: |
764
+ disabled: True
765
+ - DisableSnoNetworkDiag.yaml: |
766
+ ---
767
+ apiVersion: operator.openshift.io/v1
768
+ kind: Network
769
+ metadata:
770
+ name: cluster
771
+ annotations:
772
+ ran.openshift.io/ztp-deploy-wave: "10"
773
+ spec:
774
+ disableNetworkDiagnostics: true
775
+ - ConsoleOperatorDisable.yaml: |
776
+ ---
777
+ apiVersion: operator.openshift.io/v1
778
+ kind: Console
779
+ metadata:
780
+ annotations:
781
+ include.release.openshift.io/ibm-cloud-managed: "false"
782
+ include.release.openshift.io/self-managed-high-availability: "false"
783
+ include.release.openshift.io/single-node-developer: "false"
784
+ release.openshift.io/create-only: "true"
785
+ ran.openshift.io/ztp-deploy-wave: "10"
786
+ name: cluster
787
+ spec:
788
+ logLevel: Normal
789
+ managementState: Removed
790
+ operatorLogLevel: Normal