| Field | Type | Description | Value(s) |
|---|---|---|---|
name | string | Name of the volume. | |
provisioning | ProvisioningSpec | The provisioning describes how the volume is provisioned. | |
encryption | EncryptionSpec | The encryption describes how the volume is encrypted. | |
mount | MountSpec | The mount describes additional mount options. | |
trim | TrimConfig | The trim describes the per-volume filesystem trim (fstrim) configuration. |
provisioning
ProvisioningSpec describes how the volume is provisioned.| Field | Type | Description | Value(s) |
|---|---|---|---|
diskSelector | DiskSelector | The disk selector expression. | |
grow | bool | Should the volume grow to the size of the disk (if possible). | |
minSize | ByteSize | The minimum size of the volume. Size is specified in bytes, but can be expressed in human readable format, e.g. 100MB. | |
maxSize | Size | The maximum size of the volume, if not specified the volume can grow to the size of the disk. Size is specified in bytes or in percents. It can be expressed in human readable format, e.g. 100MB. |
diskSelector
DiskSelector selects a disk for the volume.| Field | Type | Description | Value(s) |
|---|---|---|---|
match | Expression | The Common Expression Language (CEL) expression to match the disk. |
encryption
EncryptionSpec represents volume encryption settings.| Field | Type | Description | Value(s) |
|---|---|---|---|
provider | EncryptionProviderType | Encryption provider to use for the encryption. | luks2 |
keys | EncryptionKey | Defines the encryption keys generation and storage method. | |
cipher | string | Cipher to use for the encryption. Depends on the encryption provider. | aes-xts-plain64xchacha12,aes-adiantum-plain64xchacha20,aes-adiantum-plain64 |
keySize | uint | Defines the encryption key length. | |
blockSize | uint64 | Defines the encryption sector size. | |
options | []string | Additional —perf parameters for the LUKS2 encryption. | |
allowDiscards | bool | Allow TRIM/discard requests to be passed through to the underlying device when the encrypted volume is opened. Defaults to false. |
keys[]
EncryptionKey represents configuration for disk encryption key.| Field | Type | Description | Value(s) |
|---|---|---|---|
slot | int | Key slot number for LUKS2 encryption. | |
static | EncryptionKeyStatic | Key which value is stored in the configuration file. | |
nodeID | EncryptionKeyNodeID | Deterministically generated key from the node UUID and PartitionLabel. | |
kms | EncryptionKeyKMS | KMS managed encryption key. | |
tpm | EncryptionKeyTPM | Enable TPM based disk encryption. | |
lockToState | bool | Lock the disk encryption key to the random salt stored in the STATE partition. This is useful to prevent the volume from being unlocked if STATE partition is compromised or replaced. It is recommended to use this option with TPM disk encryption for non-STATE volumes. |
static
EncryptionKeyStatic represents throw away key type.| Field | Type | Description | Value(s) |
|---|---|---|---|
passphrase | string | Defines the static passphrase value. |
nodeID
EncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.kms
EncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoint | string | KMS endpoint to Seal/Unseal the key. |
tpm
EncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.| Field | Type | Description | Value(s) |
|---|---|---|---|
options | EncryptionKeyTPMOptions | TPM options for key protection. | |
checkSecurebootStatusOnEnroll | bool | Check that Secureboot is enabled in the EFI firmware. If Secureboot is not enabled, the enrollment of the key will fail. |
options
EncryptionKeyTPMOptions represents the options for TPM-based key protection.| Field | Type | Description | Value(s) |
|---|---|---|---|
pcrs | []int | List of PCRs to bind the key to. If not set, defaults to PCR 7, can be disabled by passing an empty list. |
mount
MountSpec describes how the volume is mounted.| Field | Type | Description | Value(s) |
|---|---|---|---|
secure | bool | Enable secure mount options (nosuid, nodev). Defaults to true for better security. Supported only for EPHEMERAL volume. | |
disableAccessTime | bool | If true, disable file access time updates. Supported only for EPHEMERAL volume. |
trim
TrimConfig describes per-volume filesystem trim (fstrim) configuration. It overrides the global FilesystemTrimConfig for the volume.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | Enable or disable trimming for this volume. If not set, trimming is enabled when the global FilesystemTrimConfig is present. | |
interval | Duration | The interval at which the volume is trimmed, overriding the global trim interval. |