---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/component: kmm
    app.kubernetes.io/instance: amd-gpu
    app.kubernetes.io/name: kmm
    app.kubernetes.io/part-of: kmm
    app.kubernetes.io/version: v20240618-v2.1.1
  name: nodemodulesconfigs.kmm.sigs.x-k8s.io
spec:
  group: kmm.sigs.x-k8s.io
  names:
    kind: NodeModulesConfig
    listKind: NodeModulesConfigList
    plural: nodemodulesconfigs
    shortNames:
      - nmc
    singular: nodemodulesconfig
  scope: Cluster
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                modules:
                  items:
                    properties:
                      config:
                        properties:
                          containerImage:
                            type: string
                          imagePullPolicy:
                            default: IfNotPresent
                            type: string
                          inTreeModuleToRemove:
                            type: string
                          inTreeModulesToRemove:
                            items:
                              type: string
                            type: array
                          insecurePull:
                            type: boolean
                          kernelVersion:
                            type: string
                          modprobe:
                            properties:
                              args:
                                properties:
                                  load:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                  unload:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                type: object
                              dirName:
                                default: /opt
                                type: string
                              firmwarePath:
                                type: string
                              moduleName:
                                type: string
                              modulesLoadingOrder:
                                items:
                                  type: string
                                type: array
                              parameters:
                                items:
                                  type: string
                                type: array
                              rawArgs:
                                properties:
                                  load:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                  unload:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                type: object
                            type: object
                          tolerations:
                            items:
                              properties:
                                effect:
                                  type: string
                                key:
                                  type: string
                                operator:
                                  type: string
                                tolerationSeconds:
                                  format: int64
                                  type: integer
                                value:
                                  type: string
                              type: object
                            type: array
                        required:
                          - containerImage
                          - imagePullPolicy
                          - insecurePull
                          - kernelVersion
                          - modprobe
                        type: object
                      imageRepoSecret:
                        properties:
                          name:
                            default: ""
                            type: string
                        type: object
                        x-kubernetes-map-type: atomic
                      name:
                        type: string
                      namespace:
                        type: string
                      serviceAccountName:
                        type: string
                    required:
                      - config
                      - name
                      - namespace
                      - serviceAccountName
                    type: object
                  type: array
              type: object
            status:
              properties:
                modules:
                  items:
                    properties:
                      bootId:
                        type: string
                      config:
                        properties:
                          containerImage:
                            type: string
                          imagePullPolicy:
                            default: IfNotPresent
                            type: string
                          inTreeModuleToRemove:
                            type: string
                          inTreeModulesToRemove:
                            items:
                              type: string
                            type: array
                          insecurePull:
                            type: boolean
                          kernelVersion:
                            type: string
                          modprobe:
                            properties:
                              args:
                                properties:
                                  load:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                  unload:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                type: object
                              dirName:
                                default: /opt
                                type: string
                              firmwarePath:
                                type: string
                              moduleName:
                                type: string
                              modulesLoadingOrder:
                                items:
                                  type: string
                                type: array
                              parameters:
                                items:
                                  type: string
                                type: array
                              rawArgs:
                                properties:
                                  load:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                  unload:
                                    items:
                                      type: string
                                    minItems: 1
                                    type: array
                                type: object
                            type: object
                          tolerations:
                            items:
                              properties:
                                effect:
                                  type: string
                                key:
                                  type: string
                                operator:
                                  type: string
                                tolerationSeconds:
                                  format: int64
                                  type: integer
                                value:
                                  type: string
                              type: object
                            type: array
                        required:
                          - containerImage
                          - imagePullPolicy
                          - insecurePull
                          - kernelVersion
                          - modprobe
                        type: object
                      imageRepoSecret:
                        properties:
                          name:
                            default: ""
                            type: string
                        type: object
                        x-kubernetes-map-type: atomic
                      lastTransitionTime:
                        format: date-time
                        type: string
                      name:
                        type: string
                      namespace:
                        type: string
                      serviceAccountName:
                        type: string
                    required:
                      - name
                      - namespace
                      - serviceAccountName
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
