Skip to content

WekaManualOperation

WekaManualOperation

kubectl explain wekamanualoperation

WekaManualOperation is the Schema for the wekamanualoperations API

Field Description Default Validation
apiVersion string weka.weka.io/v1alpha1
kind string WekaManualOperation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec WekaManualOperationSpec
status WekaManualOperationStatus

WekaManualOperationSpec

kubectl explain wekamanualoperation.spec

WekaManualOperationSpec defines the desired state of WekaManualOperation

Appears in: - WekaManualOperation

Field Description Default Validation
action WekaManualOperationAction Enum: [sign-drives discover-drives force-resign-drives block-drives unblock-drives ensure-nics remote-traces-session clean-stale-virtual-drives rotate-ssdproxy]
payload ManualOperatorPayload
image string
imagePullSecret string
tolerations Toleration array
serviceAccountName string
deletionDelay Duration DeletionDelay specifies how long to wait after completion before deleting the resource.
Defaults to 5m if not specified.
5m Pattern: ^(0\|([0-9]+(\.[0-9]+)?(s\|m\|h))+)$
Type: string

ManualOperatorPayload

kubectl explain wekamanualoperation.spec.payload

Appears in: - WekaManualOperationSpec

Field Description Default Validation
signDrivesPayload SignDrivesPayload
blockDrivesPayload BlockDrivesPayload
discoverDrivesPayload DiscoverDrivesPayload
ensureNICsPayload EnsureNICsPayload
forceResignDrivesPayload ForceResignDrivesPayload
remoteTracesSessionPayload RemoteTracesSessionConfig
cleanStaleVirtualDrivesPayload CleanStaleVirtualDrivesPayload
rotateSsdProxyPayload RotateSsdProxyPayload
BlockDrivesPayload
kubectl explain wekamanualoperation.spec.payload.blockDrivesPayload

Appears in: - ManualOperatorPayload

Field Description Default Validation
serialIDs string array
physicalUUIDs string array
virtualUUIDs string array VirtualUUIDs blocks individual virtual drives (VIDs) on a drive-sharing node. Removes exactly
the named VIDs, leaving other VIDs on the same physical drive — including other tenants' —
untouched. Node physical inventory and capacity resources are unchanged. Blocked entries are
never cleaned automatically: unblock them once the replacement is in place.
node string
CleanStaleVirtualDrivesPayload
kubectl explain wekamanualoperation.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

Field Description Default Validation
nodeSelector object (keys:string, values:string) NodeSelector limits the scan to ssdproxies on nodes matching these labels.
Empty = all nodes that have an ssdproxy.
onlyNonExistingClusters boolean OnlyNonExistingClusters restricts the stale set to VIDs whose owner cluster GUID has NO
WekaCluster CR at all (category dead_cluster) — the safe-by-construction subset (no live
cluster could be mid-allocating them). Excludes live_cluster_unclaimed. Recommended ON
when pairing with deletion.
false
deleteStaleVids boolean DeleteStaleVids enables ACTUAL removal of detected stale VIDs. DANGEROUS — disabled by
default. Even when true, a VID is only removed if it was reported stale and UNCHANGED on
the previous cycle (fingerprint match) and is still unclaimed at removal time. Acts as the
user's confirmation.
false
DiscoverDrivesPayload
kubectl explain wekamanualoperation.spec.payload.discoverDrivesPayload

Appears in: - ManualOperatorPayload - PolicyPayload

Field Description Default Validation
nodeSelector object (keys:string, values:string)
EnsureNICsPayload
kubectl explain wekamanualoperation.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
ForceResignDrivesPayload
kubectl explain wekamanualoperation.spec.payload.forceResignDrivesPayload

Appears in: - ManualOperatorPayload

Field Description Default Validation
nodeName NodeName
deviceSerials string array
devicePaths string array
NodeName

Underlying type: NodeName

Appears in: - ForceResignDrivesPayload - WekaContainerSpec - WekaContainerStatus

RemoteTracesSessionConfig
kubectl explain wekamanualoperation.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 wekamanualoperation.spec.payload.remoteTracesSessionPayload.cluster

Appears in: - RemoteTracesSessionConfig - WekaClientSpec

Field Description Default Validation
name string
namespace string
RotateSsdProxyPayload
kubectl explain wekamanualoperation.spec.payload.rotateSsdProxyPayload

RotateSsdProxyPayload configures the rotate-ssdproxy operation, which rolls a new image across ssdproxy WekaContainers one node at a time, gated by a cross-cluster disruption check.

Appears in: - ManualOperatorPayload

Field Description Default Validation
targetImage string TargetImage is the image to roll out. Empty means fall back to helm
nodeSelector object (keys:string, values:string) NodeSelector restricts rotation to a subset of nodes. Empty = all nodes that have an ssdproxy.
paused boolean Paused stops starting new nodes; an in-flight node finishes.
SignDrivesPayload
kubectl explain wekamanualoperation.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 wekamanualoperation.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 wekamanualoperation.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

Field Description Default Validation
model string Model matches the device model exactly, case-insensitively, ignoring surrounding
whitespace. Find it with: lsblk -dno MODEL /dev/nvme0n1
Empty means "do not match on model".
capacityGiB integer CapacityGiB matches the drive capacity in GiB exactly, as reported in the
weka.io/weka-shared-drives annotation. 0 means "do not match on capacity".
Minimum: 1
type string Type is the drive type to report for matching drives. Enum: [TLC QLC]
PCIDevices
kubectl explain wekamanualoperation.spec.payload.signDrivesPayload.pciDevices

Appears in: - SignDrivesPayload

Field Description Default Validation
vendorId string VendorId is the 4-digit hexadecimal vendor ID
default for AWS: 1d0f (Amazon.com, Inc.)
Pattern: ^[0-9a-fA-F]\{4\}$
deviceId string DeviceId is the 4-digit hexadecimal device ID
default for AWS: cd01 (NVMe SSD)
Pattern: ^[0-9a-fA-F]\{4\}$
SignOptions
kubectl explain wekamanualoperation.spec.payload.signDrivesPayload.options

Appears in: - SignDrivesPayload

Field Description Default Validation
allowEraseWekaPartitions boolean
allowEraseNonWekaPartitions boolean
allowNonEmptyDevice boolean
skipTrimFormat boolean

WekaManualOperationAction

Underlying type: string

WekaManualOperationAction enumerates the supported WekaManualOperation actions.

Appears in: - WekaManualOperationSpec

WekaManualOperationStatus

kubectl explain wekamanualoperation.status

WekaManualOperationStatus defines the observed state of WekaManualOperation

Appears in: - WekaManualOperation

Field Description Default Validation
result string
status string
completedAt Time