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