first commit
This commit is contained in:
449
charts/kmm/crds/nodemodulesconfig-crd.yaml
Normal file
449
charts/kmm/crds/nodemodulesconfig-crd.yaml
Normal file
@@ -0,0 +1,449 @@
|
||||
---
|
||||
# Source: kmm/templates/nodemodulesconfig-crd.yaml
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: nodemodulesconfigs.kmm.sigs.x-k8s.io
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.16.1
|
||||
labels:
|
||||
app.kubernetes.io/component: kmm
|
||||
app.kubernetes.io/part-of: kmm
|
||||
helm.sh/chart: kmm-v1.0.0
|
||||
app.kubernetes.io/name: kmm
|
||||
app.kubernetes.io/instance: amd-gpu
|
||||
app.kubernetes.io/version: "v20240618-v2.1.1"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
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:
|
||||
description: NodeModulesConfig keeps spec and state of the KMM modules on a
|
||||
node.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: |-
|
||||
NodeModulesConfigSpec describes the desired state of modules on the node
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||
properties:
|
||||
modules:
|
||||
description: |-
|
||||
Modules list the spec of all the modules that need to be executed
|
||||
on the node
|
||||
items:
|
||||
properties:
|
||||
config:
|
||||
properties:
|
||||
containerImage:
|
||||
type: string
|
||||
imagePullPolicy:
|
||||
default: IfNotPresent
|
||||
description: PullPolicy describes a policy for if/when to
|
||||
pull a container image
|
||||
type: string
|
||||
inTreeModuleToRemove:
|
||||
type: string
|
||||
inTreeModulesToRemove:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
insecurePull:
|
||||
description: When InsecurePull is true, the container image
|
||||
can be pulled without TLS.
|
||||
type: boolean
|
||||
kernelVersion:
|
||||
type: string
|
||||
modprobe:
|
||||
properties:
|
||||
args:
|
||||
description: |-
|
||||
Args is an optional list of arguments to be passed to modprobe before the name of the kernel module.
|
||||
The resulting commands will be: `modprobe ${Args} module_name`.
|
||||
properties:
|
||||
load:
|
||||
description: Load is an optional list of arguments
|
||||
to be used when loading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
unload:
|
||||
description: Unload is an optional list of arguments
|
||||
to be used when unloading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
type: object
|
||||
dirName:
|
||||
default: /opt
|
||||
description: |-
|
||||
DirName is the root directory for modules.
|
||||
It adds `-d ${DirName}` to the modprobe command-line.
|
||||
type: string
|
||||
firmwarePath:
|
||||
description: |-
|
||||
FirmwarePath is the path of the firmware(s).
|
||||
The firmware(s) will be copied to the host for the kernel to find them.
|
||||
type: string
|
||||
moduleName:
|
||||
description: |-
|
||||
ModuleName is the name of the Module to be loaded.
|
||||
This field can only be unset if rawArgs is set.
|
||||
type: string
|
||||
modulesLoadingOrder:
|
||||
description: |-
|
||||
ModulesLoadingOrder defines the dependency between kernel modules loading, in case
|
||||
it was not created by depmod (independent kernel modules).
|
||||
The list order should be: upmost module, then the module it depends on and so on.
|
||||
Example: if moduleA depends on first loading moduleB, and moduleB depends on first loading moduleC
|
||||
the entry should look:
|
||||
ModulesLoadingOrder:
|
||||
- moduleA
|
||||
- moduleB
|
||||
- moduleC
|
||||
In order to load all 3 modules, moduleA shoud be defined in the ModuleName parameter of this struct
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
parameters:
|
||||
description: |-
|
||||
Parameters is an optional list of kernel module parameters to be provided to modprobe.
|
||||
They should be in the form of key=value and will be separated by spaces in the modprobe command.
|
||||
The resulting loading command will be: `modprobe module_name ${Parameters}`.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
rawArgs:
|
||||
description: |-
|
||||
If RawArgs are specified, they are passed straight to the modprobe binary; all other properties in this
|
||||
object are ignored.
|
||||
The resulting commands will be: `modprobe ${RawArgs}`.
|
||||
properties:
|
||||
load:
|
||||
description: Load is an optional list of arguments
|
||||
to be used when loading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
unload:
|
||||
description: Unload is an optional list of arguments
|
||||
to be used when unloading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- containerImage
|
||||
- imagePullPolicy
|
||||
- insecurePull
|
||||
- kernelVersion
|
||||
- modprobe
|
||||
type: object
|
||||
imageRepoSecret:
|
||||
description: |-
|
||||
LocalObjectReference contains enough information to let you locate the
|
||||
referenced object inside the same namespace.
|
||||
properties:
|
||||
name:
|
||||
default: ""
|
||||
description: |-
|
||||
Name of the referent.
|
||||
This field is effectively required, but due to backwards compatibility is
|
||||
allowed to be empty. Instances of this type with an empty value here are
|
||||
almost certainly wrong.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
name:
|
||||
type: string
|
||||
namespace:
|
||||
type: string
|
||||
serviceAccountName:
|
||||
type: string
|
||||
tolerations:
|
||||
description: tolerations define which tolerations should be added
|
||||
for every load/unload pod running on the node
|
||||
items:
|
||||
description: |-
|
||||
The pod this Toleration is attached to tolerates any taint that matches
|
||||
the triple <key,value,effect> using the matching operator <operator>.
|
||||
properties:
|
||||
effect:
|
||||
description: |-
|
||||
Effect indicates the taint effect to match. Empty means match all taint effects.
|
||||
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
type: string
|
||||
key:
|
||||
description: |-
|
||||
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
||||
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
||||
type: string
|
||||
operator:
|
||||
description: |-
|
||||
Operator represents a key's relationship to the value.
|
||||
Valid operators are Exists and Equal. Defaults to Equal.
|
||||
Exists is equivalent to wildcard for value, so that a pod can
|
||||
tolerate all taints of a particular category.
|
||||
type: string
|
||||
tolerationSeconds:
|
||||
description: |-
|
||||
TolerationSeconds represents the period of time the toleration (which must be
|
||||
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
||||
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
||||
negative values will be treated as 0 (evict immediately) by the system.
|
||||
format: int64
|
||||
type: integer
|
||||
value:
|
||||
description: |-
|
||||
Value is the taint value the toleration matches to.
|
||||
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- config
|
||||
- name
|
||||
- namespace
|
||||
- serviceAccountName
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
status:
|
||||
description: |-
|
||||
NodeModuleConfigStatus is the most recently observed status of the KMM modules on node.
|
||||
It is populated by the system and is read-only.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||
properties:
|
||||
modules:
|
||||
description: Modules contain observations about each Module's node state
|
||||
status
|
||||
items:
|
||||
properties:
|
||||
bootId:
|
||||
type: string
|
||||
config:
|
||||
properties:
|
||||
containerImage:
|
||||
type: string
|
||||
imagePullPolicy:
|
||||
default: IfNotPresent
|
||||
description: PullPolicy describes a policy for if/when to
|
||||
pull a container image
|
||||
type: string
|
||||
inTreeModuleToRemove:
|
||||
type: string
|
||||
inTreeModulesToRemove:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
insecurePull:
|
||||
description: When InsecurePull is true, the container image
|
||||
can be pulled without TLS.
|
||||
type: boolean
|
||||
kernelVersion:
|
||||
type: string
|
||||
modprobe:
|
||||
properties:
|
||||
args:
|
||||
description: |-
|
||||
Args is an optional list of arguments to be passed to modprobe before the name of the kernel module.
|
||||
The resulting commands will be: `modprobe ${Args} module_name`.
|
||||
properties:
|
||||
load:
|
||||
description: Load is an optional list of arguments
|
||||
to be used when loading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
unload:
|
||||
description: Unload is an optional list of arguments
|
||||
to be used when unloading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
type: object
|
||||
dirName:
|
||||
default: /opt
|
||||
description: |-
|
||||
DirName is the root directory for modules.
|
||||
It adds `-d ${DirName}` to the modprobe command-line.
|
||||
type: string
|
||||
firmwarePath:
|
||||
description: |-
|
||||
FirmwarePath is the path of the firmware(s).
|
||||
The firmware(s) will be copied to the host for the kernel to find them.
|
||||
type: string
|
||||
moduleName:
|
||||
description: |-
|
||||
ModuleName is the name of the Module to be loaded.
|
||||
This field can only be unset if rawArgs is set.
|
||||
type: string
|
||||
modulesLoadingOrder:
|
||||
description: |-
|
||||
ModulesLoadingOrder defines the dependency between kernel modules loading, in case
|
||||
it was not created by depmod (independent kernel modules).
|
||||
The list order should be: upmost module, then the module it depends on and so on.
|
||||
Example: if moduleA depends on first loading moduleB, and moduleB depends on first loading moduleC
|
||||
the entry should look:
|
||||
ModulesLoadingOrder:
|
||||
- moduleA
|
||||
- moduleB
|
||||
- moduleC
|
||||
In order to load all 3 modules, moduleA shoud be defined in the ModuleName parameter of this struct
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
parameters:
|
||||
description: |-
|
||||
Parameters is an optional list of kernel module parameters to be provided to modprobe.
|
||||
They should be in the form of key=value and will be separated by spaces in the modprobe command.
|
||||
The resulting loading command will be: `modprobe module_name ${Parameters}`.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
rawArgs:
|
||||
description: |-
|
||||
If RawArgs are specified, they are passed straight to the modprobe binary; all other properties in this
|
||||
object are ignored.
|
||||
The resulting commands will be: `modprobe ${RawArgs}`.
|
||||
properties:
|
||||
load:
|
||||
description: Load is an optional list of arguments
|
||||
to be used when loading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
unload:
|
||||
description: Unload is an optional list of arguments
|
||||
to be used when unloading the kernel module.
|
||||
items:
|
||||
type: string
|
||||
minItems: 1
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- containerImage
|
||||
- imagePullPolicy
|
||||
- insecurePull
|
||||
- kernelVersion
|
||||
- modprobe
|
||||
type: object
|
||||
imageRepoSecret:
|
||||
description: |-
|
||||
LocalObjectReference contains enough information to let you locate the
|
||||
referenced object inside the same namespace.
|
||||
properties:
|
||||
name:
|
||||
default: ""
|
||||
description: |-
|
||||
Name of the referent.
|
||||
This field is effectively required, but due to backwards compatibility is
|
||||
allowed to be empty. Instances of this type with an empty value here are
|
||||
almost certainly wrong.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
lastTransitionTime:
|
||||
format: date-time
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
namespace:
|
||||
type: string
|
||||
serviceAccountName:
|
||||
type: string
|
||||
tolerations:
|
||||
description: tolerations define which tolerations should be added
|
||||
for every load/unload pod running on the node
|
||||
items:
|
||||
description: |-
|
||||
The pod this Toleration is attached to tolerates any taint that matches
|
||||
the triple <key,value,effect> using the matching operator <operator>.
|
||||
properties:
|
||||
effect:
|
||||
description: |-
|
||||
Effect indicates the taint effect to match. Empty means match all taint effects.
|
||||
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
type: string
|
||||
key:
|
||||
description: |-
|
||||
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
||||
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
||||
type: string
|
||||
operator:
|
||||
description: |-
|
||||
Operator represents a key's relationship to the value.
|
||||
Valid operators are Exists and Equal. Defaults to Equal.
|
||||
Exists is equivalent to wildcard for value, so that a pod can
|
||||
tolerate all taints of a particular category.
|
||||
type: string
|
||||
tolerationSeconds:
|
||||
description: |-
|
||||
TolerationSeconds represents the period of time the toleration (which must be
|
||||
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
||||
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
||||
negative values will be treated as 0 (evict immediately) by the system.
|
||||
format: int64
|
||||
type: integer
|
||||
value:
|
||||
description: |-
|
||||
Value is the taint value the toleration matches to.
|
||||
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- name
|
||||
- namespace
|
||||
- serviceAccountName
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
Reference in New Issue
Block a user