57f8ebfa26
* Adding check-legacy-links-format workflow * Adding test-link-rewrites workflow * chore: updates link checker workflow hash * Migrating links to new format Co-authored-by: Kendall Strautman <kendallstrautman@gmail.com>
74 lines
2 KiB
Plaintext
74 lines
2 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: capability Block - Volume Specification
|
|
description: The "capability" block allows for validating the capability of a volume.
|
|
---
|
|
|
|
# `capability` Block
|
|
|
|
<Placement
|
|
groups={[
|
|
['volume', 'capability'],
|
|
]}
|
|
/>
|
|
|
|
The `capability` block allows validating that a volume meets the requested
|
|
capabilities.
|
|
|
|
```hcl
|
|
id = "ebs_prod_db1"
|
|
namespace = "default"
|
|
name = "database"
|
|
type = "csi"
|
|
plugin_id = "ebs-prod"
|
|
capacity_max = "200G"
|
|
capacity_min = "100G"
|
|
|
|
capability {
|
|
access_mode = "single-node-reader-only"
|
|
attachment_mode = "file-system"
|
|
}
|
|
```
|
|
|
|
You must provide at least one `capability` block, and you must provide a block
|
|
for each capability you intend to use in a job's [`volume`] block.
|
|
|
|
## `capability` Parameters
|
|
|
|
- `access_mode` `(string: <required>)` - Defines whether a volume should be
|
|
available concurrently. Can be one of `"single-node-reader-only"`,
|
|
`"single-node-writer"`, `"multi-node-reader-only"`,
|
|
`"multi-node-single-writer"`, or `"multi-node-multi-writer"`. Most CSI plugins
|
|
support only single-node modes. Consult the documentation of the storage
|
|
provider and CSI plugin.
|
|
|
|
- `attachment_mode` `(string: <required>)` - The storage API that will be used
|
|
by the volume. Most storage providers will support `"file-system"`, to mount
|
|
volumes using the CSI filesystem API. Some storage providers will support
|
|
`"block-device"`, which will mount the volume with the CSI block device API
|
|
within the container.
|
|
|
|
## `capability` Examples
|
|
|
|
The following examples only show the `capability` blocks. Remember that the
|
|
`capability` block is only valid in the placement shown above.
|
|
|
|
### Multiple capabilities
|
|
|
|
This examples shows a volume that must satisfy multiple capability
|
|
requirements.
|
|
|
|
```hcl
|
|
capability {
|
|
access_mode = "single-node-reader-only"
|
|
attachment_mode = "file-system"
|
|
}
|
|
|
|
capability {
|
|
access_mode = "single-node-writer"
|
|
attachment_mode = "file-system"
|
|
}
|
|
```
|
|
|
|
[`volume`]: /nomad/docs/job-specification/volume
|