github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/test/util/crds/machineconfiguration.openshift.io_machineconfigs_crd.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 # name must match the spec fields below, and be in the form: <plural>.<group> 5 name: machineconfigs.machineconfiguration.openshift.io 6 labels: 7 "openshift.io/operator-managed": "" 8 annotations: 9 include.release.openshift.io/ibm-cloud-managed: "true" 10 include.release.openshift.io/self-managed-high-availability: "true" 11 include.release.openshift.io/single-node-developer: "true" 12 spec: 13 # group name to use for REST API: /apis/<group>/<version> 14 group: machineconfiguration.openshift.io 15 # either Namespaced or Cluster 16 scope: Cluster 17 names: 18 # plural name to be used in the URL: /apis/<group>/<version>/<plural> 19 plural: machineconfigs 20 # singular name to be used as an alias on the CLI and for display 21 singular: machineconfig 22 # kind is normally the PascalCased singular type. Your resource manifests use this. 23 kind: MachineConfig 24 # shortNames allow shorter string to match your resource on the CLI 25 shortNames: 26 - mc 27 # list of versions supported by this CustomResourceDefinition 28 versions: 29 - name: v1 30 # Each version can be enabled/disabled by Served flag. 31 served: true 32 # One and only one version must be marked as the storage version. 33 storage: true 34 additionalPrinterColumns: 35 - jsonPath: .metadata.annotations.machineconfiguration\.openshift\.io/generated-by-controller-version 36 description: Version of the controller that generated the machineconfig. This 37 will be empty if the machineconfig is not managed by a controller. 38 name: GeneratedByController 39 type: string 40 - jsonPath: .spec.config.ignition.version 41 description: Version of the Ignition Config defined in the machineconfig. 42 name: IgnitionVersion 43 type: string 44 - jsonPath: .metadata.creationTimestamp 45 name: Age 46 type: date 47 # openAPIV3Schema has been hand modified. Do not overwrite directly with generated crd fields as we do not allow all config fields. 48 schema: 49 openAPIV3Schema: 50 description: MachineConfig defines the configuration for a machine 51 type: object 52 properties: 53 apiVersion: 54 description: 'APIVersion defines the versioned schema of this representation 55 of an object. Servers should convert recognized schemas to the latest 56 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 57 type: string 58 kind: 59 description: 'Kind is a string value representing the REST resource this 60 object represents. Servers may infer this from the endpoint the client 61 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 62 type: string 63 metadata: 64 type: object 65 spec: 66 description: MachineConfigSpec is the spec for MachineConfig 67 type: object 68 properties: 69 config: 70 description: Config is a Ignition Config object. 71 type: object 72 x-kubernetes-preserve-unknown-fields: true 73 required: 74 - ignition 75 properties: 76 ignition: 77 description: Ignition section contains metadata about the configuration 78 itself. We only permit a subsection of ignition fields for MachineConfigs. 79 type: object 80 x-kubernetes-preserve-unknown-fields: true 81 properties: 82 config: 83 type: object 84 properties: 85 append: 86 type: array 87 items: 88 type: object 89 properties: 90 source: 91 type: string 92 verification: 93 type: object 94 properties: 95 hash: 96 type: string 97 replace: 98 type: object 99 properties: 100 source: 101 type: string 102 verification: 103 type: object 104 properties: 105 hash: 106 type: string 107 security: 108 type: object 109 properties: 110 tls: 111 type: object 112 properties: 113 certificateAuthorities: 114 type: array 115 items: 116 type: object 117 properties: 118 source: 119 type: string 120 verification: 121 type: object 122 properties: 123 hash: 124 type: string 125 timeouts: 126 type: object 127 properties: 128 httpResponseHeaders: 129 type: integer 130 httpTotal: 131 type: integer 132 version: 133 description: Version string is the semantic version number of 134 the spec 135 type: string 136 passwd: 137 type: object 138 properties: 139 users: 140 type: array 141 items: 142 type: object 143 properties: 144 name: 145 description: Name of user. Must be \"core\" user. 146 type: string 147 sshAuthorizedKeys: 148 description: Public keys to be assigned to user core. 149 type: array 150 items: 151 type: string 152 storage: 153 description: Storage describes the desired state of the system's 154 storage devices. 155 type: object 156 x-kubernetes-preserve-unknown-fields: true 157 properties: 158 directories: 159 description: Directories is the list of directories to be created 160 type: array 161 items: 162 description: Items is list of directories to be written 163 type: object 164 properties: 165 filesystem: 166 description: Filesystem is the internal identifier of 167 the filesystem in which to write the file. This matches 168 the last filesystem with the given identifier. 169 type: string 170 group: 171 description: Group object specifies group of the owner 172 type: object 173 properties: 174 id: 175 description: ID is the user ID of the owner 176 type: integer 177 name: 178 description: Name is the user name of the owner 179 type: string 180 mode: 181 description: Mode is the file's permission mode. Note 182 that the mode must be properly specified as a decimal 183 value (i.e. 0644 -> 420) 184 type: integer 185 overwrite: 186 description: Overwrite specifies whether to delete preexisting 187 nodes at the path 188 type: boolean 189 path: 190 description: Path is the absolute path to the file 191 type: string 192 user: 193 description: User object specifies the file's owner 194 type: object 195 properties: 196 id: 197 description: ID is the user ID of the owner 198 type: integer 199 name: 200 description: Name is the user name of the owner 201 type: string 202 files: 203 description: Files is the list of files to be created/modified 204 type: array 205 items: 206 description: Items is list of files to be written 207 type: object 208 x-kubernetes-preserve-unknown-fields: true 209 properties: 210 contents: 211 description: Contents specifies options related to the 212 contents of the file 213 type: object 214 properties: 215 compression: 216 description: The type of compression used on the contents 217 (null or gzip). Compression cannot be used with 218 S3. 219 type: string 220 source: 221 description: Source is the URL of the file contents. 222 Supported schemes are http, https, tftp, s3, and 223 data. When using http, it is advisable to use the 224 verification option to ensure the contents haven't 225 been modified. 226 type: string 227 verification: 228 description: Verification specifies options related 229 to the verification of the file contents 230 type: object 231 properties: 232 hash: 233 description: Hash is the hash of the config, in 234 the form <type>-<value> where type is sha512 235 type: string 236 filesystem: 237 description: Filesystem is the internal identifier of 238 the filesystem in which to write the file. This matches 239 the last filesystem with the given identifier 240 type: string 241 group: 242 description: Group object specifies group of the owner 243 type: object 244 properties: 245 id: 246 description: ID specifies group ID of the owner 247 type: integer 248 name: 249 description: Name is the group name of the owner 250 type: string 251 mode: 252 description: Mode specifies the file's permission mode. 253 Note that the mode must be properly specified as a decimal 254 value (i.e. 0644 -> 420) 255 type: integer 256 overwrite: 257 description: Overwrite specifies whether to delete preexisting 258 nodes at the path 259 type: boolean 260 path: 261 description: Path is the absolute path to the file 262 type: string 263 user: 264 description: User object specifies the file's owner 265 type: object 266 properties: 267 id: 268 description: ID is the user ID of the owner 269 type: integer 270 name: 271 description: Name is the user name of the owner 272 type: string 273 systemd: 274 description: systemd describes the desired state of the systemd 275 units 276 type: object 277 properties: 278 units: 279 description: Units is a list of units to be configured 280 type: array 281 items: 282 description: Items describes unit configuration 283 type: object 284 properties: 285 contents: 286 description: Contents is the contents of the unit 287 type: string 288 dropins: 289 description: Dropins is the list of drop-ins for the unit 290 type: array 291 items: 292 description: Items describes unit dropin 293 type: object 294 properties: 295 contents: 296 description: Contents is the contents of the drop-in 297 type: string 298 name: 299 description: Name is the name of the drop-in. This 300 must be suffixed with '.conf' 301 type: string 302 enabled: 303 description: Enabled describes whether or not the service 304 shall be enabled. When true, the service is enabled. 305 When false, the service is disabled. When omitted, the 306 service is unmodified. In order for this to have any 307 effect, the unit must have an install section 308 type: boolean 309 mask: 310 description: Mask describes whether or not the service 311 shall be masked. When true, the service is masked by 312 symlinking it to /dev/null" 313 type: boolean 314 name: 315 description: Name is the name of the unit. This must be 316 suffixed with a valid unit type (e.g. 'thing.service') 317 type: string 318 extensions: 319 description: List of additional features that can be enabled on host 320 type: array 321 items: 322 type: string 323 nullable: true 324 fips: 325 description: FIPS controls FIPS mode 326 type: boolean 327 kernelArguments: 328 description: KernelArguments contains a list of kernel arguments to 329 be added 330 type: array 331 items: 332 type: string 333 nullable: true 334 kernelType: 335 description: Contains which kernel we want to be running like default 336 (traditional), realtime 337 type: string 338 osImageURL: 339 description: OSImageURL specifies the remote location that will be used 340 to fetch the OS to fetch the OS. 341 type: string