WekaPolicy¶
WekaPolicy¶
kubectl explain wekapolicy
WekaPolicy is the Schema for the wekapolicies API
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string |
weka.weka.io/v1alpha1 |
||
kind string |
WekaPolicy |
||
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata. |
||
spec WekaPolicySpec |
|||
status WekaPolicyStatus |
WekaPolicySpec¶
kubectl explain wekapolicy.spec
WekaPolicySpec defines the desired state of WekaPolicy
Appears in: - WekaPolicy
| Field | Description | Default | Validation |
|---|---|---|---|
type WekaPolicyType |
Enum: [sign-drives discover-drives ensure-nics enable-local-drivers-distribution remote-traces-session clean-stale-virtual-drives] |
||
payload PolicyPayload |
|||
image string |
|||
imagePullSecret string |
|||
tolerations Toleration array |
|||
serviceAccountName string |
PolicyPayload¶
kubectl explain wekapolicy.spec.payload
Appears in: - WekaPolicySpec
| Field | Description | Default | Validation |
|---|---|---|---|
signDrivesPayload SignDrivesPayload |
|||
schedulingConfigPayload SchedulingConfigPayload |
|||
discoverDrivesPayload DiscoverDrivesPayload |
|||
ensureNICsPayload EnsureNICsPayload |
|||
driverDistPayload DriverDistPayload |
|||
remoteTracesSessionPayload RemoteTracesSessionConfig |
|||
cleanStaleVirtualDrivesPayload CleanStaleVirtualDrivesPayload |
|||
interval Duration |
5m | Pattern: ^(0\|([0-9]+(\.[0-9]+)?(s\|m\|h))+)$ Type: string |
|
waitForPolicies string array |
CleanStaleVirtualDrivesPayload¶
kubectl explain wekapolicy.spec.payload.cleanStaleVirtualDrivesPayload
CleanStaleVirtualDrivesPayload is the shared payload for the clean-stale-virtual-drives operation, used by both WekaManualOperation (one-shot) and WekaPolicy (periodic).
The operation scans every ssdproxy's virtual drives (VIDs) and diffs them against the union of all live WekaContainer allocations to find stale VIDs. Detection always runs and reports; deletion is opt-in and double-gated (see DeleteStaleVids).
Appears in: - ManualOperatorPayload - PolicyPayload
DiscoverDrivesPayload¶
kubectl explain wekapolicy.spec.payload.discoverDrivesPayload
Appears in: - ManualOperatorPayload - PolicyPayload
| Field | Description | Default | Validation |
|---|---|---|---|
nodeSelector object (keys:string, values:string) |
DriverDistPayload¶
kubectl explain wekapolicy.spec.payload.driverDistPayload
DriverDistPayload defines the parameters for the enable-local-drivers-distribution policy
Appears in: - PolicyPayload
| Field | Description | Default | Validation |
|---|---|---|---|
ensureImages string array |
EnsureImages is a list of Weka images for which drivers should be proactively built. | ||
nodeSelectors object array |
NodeSelectors is a list of node selectors. Nodes matching any of these selectors will be considered for driver building. If empty, all nodes in the cluster are considered. |
||
kernelLabelKey string |
KernelLabelKey is the custom label key to use for storing the node's kernel version. If not specified, "weka.io/kernel" will be used. |
||
architectureLabelKey string |
ArchitectureLabelKey is the custom label key to use for storing the node's architecture. If not specified, "weka.io/architecture" will be used. |
||
osLabelKey string |
OsLabelKey is the custom label key to use for storing the node's os. If not specified, "weka.io/os" will be used. |
||
builderImageOverride string |
BuilderImageOverride is an optional image that you can specify for the builder | ||
builderPreRunScript string |
BuilderPreRunScript is an optional script to run on builder containers after kernel validation. | ||
distNodeSelector object (keys:string, values:string) |
DistNodeSelector is the node selector for the drivers distribution (dist) container. If not specified, the dist container will be scheduled on any available node. |
||
distResources PodResourcesSpec |
DistResources overrides the pod resources of the drivers distribution (dist) container. Fields left empty keep the built-in sizing. |
PodResourcesSpec¶
kubectl explain wekapolicy.spec.payload.driverDistPayload.distResources
Appears in: - DriverDistPayload - WekaClientSpec - WekaContainerSpec
| Field | Description | Default | Validation |
|---|---|---|---|
requests PodResources |
|||
limits PodResources |
PodResources¶
kubectl explain wekapolicy.spec.payload.driverDistPayload.distResources.requests
Appears in: - PodResourcesSpec
| Field | Description | Default | Validation |
|---|---|---|---|
cpu Quantity |
|||
memory Quantity |
|||
hugepages-2Mi Quantity |
Hugepages2Mi is requested verbatim as the pod's hugepages-2Mi resource. 1Gi pages are not settable through this field. |
EnsureNICsPayload¶
kubectl explain wekapolicy.spec.payload.ensureNICsPayload
Appears in: - ManualOperatorPayload - PolicyPayload
| Field | Description | Default | Validation |
|---|---|---|---|
type NICType |
|||
nodeSelector object (keys:string, values:string) |
|||
dataNICsNumber integer |
NICType¶
Underlying type: string
Appears in: - EnsureNICsPayload
| Field | Description |
|---|---|
aws |
RemoteTracesSessionConfig¶
kubectl explain wekapolicy.spec.payload.remoteTracesSessionPayload
Appears in: - ManualOperatorPayload - PolicyPayload
| Field | Description | Default | Validation |
|---|---|---|---|
cluster ObjectReference |
|||
nodeSelector object (keys:string, values:string) |
|||
hostNetwork boolean |
|||
duration Duration |
Duration specifies how long the trace session should run. WekaManualOperation: defaults to 1 week if omitted/0. CR auto-deletes after expiration. WekaPolicy: defaults to continuous if omitted/0. Resources cleaned up after expiration. Examples: "30m", "2h", "7d", "168h" |
||
wekahomeEndpointOverride string |
|||
allowHttpWekahomeEndpoint boolean |
|||
allowInsecureWekahomeEndpoint boolean |
|||
wekahomeCaSecret string |
ObjectReference¶
kubectl explain wekapolicy.spec.payload.remoteTracesSessionPayload.cluster
Appears in: - RemoteTracesSessionConfig - WekaClientSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string |
|||
namespace string |
SchedulingConfigPayload¶
kubectl explain wekapolicy.spec.payload.schedulingConfigPayload
Appears in: - PolicyPayload
SignDrivesPayload¶
kubectl explain wekapolicy.spec.payload.signDrivesPayload
Appears in: - ManualOperatorPayload - PolicyPayload
| Field | Description | Default | Validation |
|---|---|---|---|
type string |
Enum: [aws-all gcp-all device-identifiers device-paths all-not-root] |
||
nodeSelector object (keys:string, values:string) |
|||
devicePaths string array |
|||
pciDevices PCIDevices |
PCI vendor and device IDs of the drives to sign. To get the values for VendorId and DeviceId: 1. Run the following command to list all PCI devices on your system: bash<br /> lspci -nn<br />2. Find the relevant PCI device in the output, which will display both the vendor and device IDs in square brackets in the format [vendorId:deviceId]. For example: <br /> 00:1f.0 Non-Volatile memory controller [0108]: Amazon.com, Inc. NVMe SSD Controller [1d0f:cd01]<br /> |
||
options SignOptions |
|||
shared boolean |
Shared enables shared drive signing for proxy mode (defaults to false). When enabled: - Drives are signed for proxy using 'weka-sign-drive sign proxy' command - Drives are signed with a proxy system GUID - Results are stored in weka.io/shared-drives annotation (instead of weka.io/weka-drives) - Physical UUIDs, serial IDs, and capacities are captured - Enables multi-tenant drive sharing via SSD proxy |
||
driveTypeOverrides DriveTypeOverrides |
DriveTypeOverrides forces the reported TLC/QLC type for matching drives instead of deriving it from the drive's IU size. Only meaningful when Shared is true. Persisted on the node in the weka.io/drive-type-overrides annotation and re-applied on every later sign-drives run. Omit the field to keep whatever is already persisted on the node; set an empty rules list to clear all overrides. |
DriveTypeOverrides¶
kubectl explain wekapolicy.spec.payload.signDrivesPayload.driveTypeOverrides
Appears in: - SignDrivesPayload
| Field | Description | Default | Validation |
|---|---|---|---|
rules DriveTypeOverrideRule array |
Rules are evaluated in order; the first rule matching a drive wins. An empty list clears all previously persisted overrides on the node. |
DriveTypeOverrideRule¶
kubectl explain wekapolicy.spec.payload.signDrivesPayload.driveTypeOverrides.rules
DriveTypeOverrideRule forces the drive type for drives matching Model and/or CapacityGiB. When both Model and CapacityGiB are set, BOTH must match (AND semantics) — this lets you target one SKU shipped in several capacities where only some are QLC.
Appears in: - DriveTypeOverrides
PCIDevices¶
kubectl explain wekapolicy.spec.payload.signDrivesPayload.pciDevices
Appears in: - SignDrivesPayload
SignOptions¶
kubectl explain wekapolicy.spec.payload.signDrivesPayload.options
Appears in: - SignDrivesPayload
| Field | Description | Default | Validation |
|---|---|---|---|
allowEraseWekaPartitions boolean |
|||
allowEraseNonWekaPartitions boolean |
|||
allowNonEmptyDevice boolean |
|||
skipTrimFormat boolean |
WekaPolicyType¶
Underlying type: string
WekaPolicyType enumerates the supported WekaPolicy types.
Appears in: - WekaPolicySpec
WekaPolicyStatus¶
kubectl explain wekapolicy.status
WekaPolicyStatus defines the observed state of WekaPolicy
Appears in: - WekaPolicy
| Field | Description | Default | Validation |
|---|---|---|---|
status string |
|||
result string |
|||
lastRunTime Time |
|||
progress string |
|||
typedStatus TypedPolicyStatus |
TypedPolicyStatus¶
TypedPolicyStatus holds status fields specific to a policy type
Appears in: - WekaPolicyStatus
| Field | Description | Default | Validation |
|---|---|---|---|
distService DistServiceStatus |
DistServiceStatus¶
DistServiceStatus holds the status for the enable-local-drivers-distribution policy
Appears in: - TypedPolicyStatus
| Field | Description | Default | Validation |
|---|---|---|---|
serviceUrl string |