-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Use the plural form for the NodeModulesConfig CRD, per convention. Add new CRD fields to be used by the NodeModulesConfig reconciler. Upstream-Commit: 1767d02 Co-authored-by: Quentin Barrand <[email protected]>
- Loading branch information
1 parent
42e9b03
commit 26b385d
Showing
8 changed files
with
558 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
304 changes: 304 additions & 0 deletions
304
bundle/manifests/kmm.sigs.x-k8s.io_nodemodulesconfigs.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,304 @@ | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.12.0 | ||
creationTimestamp: null | ||
labels: | ||
app.kubernetes.io/component: kmm | ||
app.kubernetes.io/name: kmm | ||
app.kubernetes.io/part-of: kmm | ||
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: | ||
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 | ||
inTreeModuleToRemove: | ||
type: string | ||
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. | ||
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 | ||
required: | ||
- moduleName | ||
type: object | ||
required: | ||
- containerImage | ||
- insecurePull | ||
- kernelVersion | ||
- modprobe | ||
type: object | ||
name: | ||
type: string | ||
namespace: | ||
type: string | ||
required: | ||
- config | ||
- name | ||
- namespace | ||
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: | ||
config: | ||
properties: | ||
containerImage: | ||
type: string | ||
inTreeModuleToRemove: | ||
type: string | ||
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. | ||
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 | ||
required: | ||
- moduleName | ||
type: object | ||
required: | ||
- containerImage | ||
- insecurePull | ||
- kernelVersion | ||
- modprobe | ||
type: object | ||
inProgress: | ||
type: boolean | ||
lastTransitionTime: | ||
format: date-time | ||
type: string | ||
name: | ||
type: string | ||
namespace: | ||
type: string | ||
serviceAccountName: | ||
type: string | ||
required: | ||
- inProgress | ||
- name | ||
- namespace | ||
- serviceAccountName | ||
type: object | ||
type: array | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: | ||
status: {} | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: null | ||
storedVersions: null |
Oops, something went wrong.