Skip to content

Commit 0f32883

Browse files
committed
docs: improve wording around UserVolume types
Previously, we did not clearly explain the difference between `volumeType` options in UserVolumeConfig. This commit adds clarifications to help users understand when to use each type. Signed-off-by: Mateusz Urbanek <[email protected]>
1 parent 19d2a61 commit 0f32883

File tree

2 files changed

+20
-4
lines changed
  • public/talos
    • v1.12/configure-your-talos-cluster/storage-and-disk-management/disk-management
    • v1.13/configure-your-talos-cluster/storage-and-disk-management/disk-management

2 files changed

+20
-4
lines changed

public/talos/v1.12/configure-your-talos-cluster/storage-and-disk-management/disk-management/user.mdx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,22 @@ or from the `DiscoveredVolume` resource any time later.
102102

103103
## Types of User Volumes
104104

105-
`UserVolumeConfig` includes an optional `volumeType` field that controls how a user volume is created and managed. If omitted, the system defaults to `partition`.
105+
`UserVolumeConfig` includes an optional `volumeType` field that controls how a user volume is created and managed.
106+
If omitted, the system defaults to `partition`.
107+
Types `disk` and `directory` are advanced options with specific use cases. If unsure, use the default `partition` type.
106108

107109
### `volumeType: partition` (default)
108110

109111
A standard volume backed by a dedicated partition on the underlying storage device.
112+
If you are unsure which type to choose, this is the recommended option.
110113

111114
### `volumeType: disk`
112115

116+
It is primarily intended for scenarios where you want to dedicate a whole disk to a single workload without partitioning - for example, when provisioning on top of LVM logical volumes or other block devices that do not support partitioning.
113117
When set to `disk`, the volume is provisioned from an entire block device rather than a partition.
118+
If you want to consume the entire disk with partitioning support, use a `partition` user volume instead and set `grow: true` without specifying `maxSize`.
119+
120+
When using `volumeType: disk`, the disk itself is not labeled or partitioned. The disk selector must uniquely and stably identify the device (for example via WWN, serial, or persistent path). If the selector is ambiguous, a different device may be selected after a reboot.
114121

115122
Restrictions for `disk` volumes:
116123

@@ -119,6 +126,7 @@ Restrictions for `disk` volumes:
119126

120127
### `volumeType: directory`
121128

129+
This type is useful for lightweight storage needs where full partitioning is unnecessary or impractical, and all that is required is a simple directory on the EPHEMERAL volume.
122130
When set to `directory`, the system bypasses provisioning and filesystem creation. Instead, it creates a host directory at:
123131

124132
```
@@ -128,7 +136,7 @@ When set to `directory`, the system bypasses provisioning and filesystem creatio
128136
Characteristics and limitations of `directory` volumes:
129137

130138
* No provisioning, filesystem operations, or encryption are performed.
131-
* The volume is simply a directory on the host filesystem.
139+
* The volume is simply a directory on the EPHEMERAL volume.
132140
* This type provides minimal overhead but does not deliver filesystem-level isolation.
133141
* Storage capacity is limited by the host’s EPHEMERAL partition.
134142
* Not suitable for workloads that require predictable or enforceable storage quotas.

public/talos/v1.13/configure-your-talos-cluster/storage-and-disk-management/disk-management/user.mdx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,22 @@ or from the `DiscoveredVolume` resource any time later.
102102

103103
## Types of User Volumes
104104

105-
`UserVolumeConfig` includes an optional `volumeType` field that controls how a user volume is created and managed. If omitted, the system defaults to `partition`.
105+
`UserVolumeConfig` includes an optional `volumeType` field that controls how a user volume is created and managed.
106+
If omitted, the system defaults to `partition`.
107+
Types `disk` and `directory` are advanced options with specific use cases. If unsure, use the default `partition` type.
106108

107109
### `volumeType: partition` (default)
108110

109111
A standard volume backed by a dedicated partition on the underlying storage device.
112+
If you are unsure which type to choose, this is the recommended option.
110113

111114
### `volumeType: disk`
112115

116+
It is primarily intended for scenarios where you want to dedicate a whole disk to a single workload without partitioning - for example, when provisioning on top of LVM logical volumes or other block devices that do not support partitioning.
113117
When set to `disk`, the volume is provisioned from an entire block device rather than a partition.
118+
If you want to consume the entire disk with partitioning support, use a `partition` user volume instead and set `grow: true` without specifying `maxSize`.
119+
120+
When using `volumeType: disk`, the disk itself is not labeled or partitioned. The disk selector must uniquely and stably identify the device (for example via WWN, serial, or persistent path). If the selector is ambiguous, a different device may be selected after a reboot.
114121

115122
Restrictions for `disk` volumes:
116123

@@ -119,6 +126,7 @@ Restrictions for `disk` volumes:
119126

120127
### `volumeType: directory`
121128

129+
This type is useful for lightweight storage needs where full partitioning is unnecessary or impractical, and all that is required is a simple directory on the EPHEMERAL volume.
122130
When set to `directory`, the system bypasses provisioning and filesystem creation. Instead, it creates a host directory at:
123131

124132
```
@@ -128,7 +136,7 @@ When set to `directory`, the system bypasses provisioning and filesystem creatio
128136
Characteristics and limitations of `directory` volumes:
129137

130138
* No provisioning, filesystem operations, or encryption are performed.
131-
* The volume is simply a directory on the host filesystem.
139+
* The volume is simply a directory on the EPHEMERAL volume.
132140
* This type provides minimal overhead but does not deliver filesystem-level isolation.
133141
* Storage capacity is limited by the host’s EPHEMERAL partition.
134142
* Not suitable for workloads that require predictable or enforceable storage quotas.

0 commit comments

Comments
 (0)