rune storageclass

Manage storage classes — list, get, create, delete, set the cluster default.

rune storageclass <subcommand> [flags]
rune sc          <subcommand> [flags]    # short alias

StorageClass is cluster-scoped: it names a driver and a default set of parameters that volumes can pick up. Two classes (local, local-host) are seeded automatically on first boot. See the storage concept.

Subcommands

CommandPurpose
rune storageclass listList storage classes.
rune storageclass get <name>Show one storage class.
rune storageclass create -fCreate from a YAML/JSON spec file.
rune storageclass deleteDelete a storage class.
rune storageclass set-default <name>Mark a class as the cluster default.

StorageClass is cluster-scoped, which is why it has a dedicated create -f command rather than going through rune cast. Cast is the declarative path for namespaced resources (services, secrets, configmaps, volumes, snapshots); cluster-scoped resources get their own rune <kind> create -f so cast's namespace-aware machinery (--namespace flag, per-resource namespace: field) doesn't pretend to apply where it doesn't. The file format is identical to a cast file's storageClass: block, so the same YAML works either way.

Promoting a class to default and --cascade deletes are admin-only.

Examples

# List
rune storageclass list
 
# Show one
rune sc get local -o yaml
 
# Apply from a file
rune storageclass create -f do-nyc3.yaml
 
# Promote a different class to default (admin)
rune storageclass set-default do-nyc3
 
# Delete (refused if any Volume still references this class)
rune storageclass delete do-nyc3
 
# Force delete even with referencing volumes (admin)
rune storageclass delete do-nyc3 --cascade

do-nyc3.yaml

storageClass:
  name: do-nyc3
  driver: do-volume
  parameters:
    region: nyc3
    fsType: ext4
    apiTokenSecretRef: do/api-token
  reclaimPolicy: retain
  allowedTopologies:
    - matchLabels:
        rune.io/region: nyc3

Flags

list

FlagDefaultNotes
-o, --outputtabletable, json, yaml, name.
-l, --selectorLabel selector (key=value,key=value).

get <name>

FlagDefaultNotes
-o, --outputtabletable, json, yaml.

create -f <file>

FlagDefaultNotes
-f, --fileRequired. Path to YAML/JSON spec file.

delete <name>

FlagDefaultNotes
--cascadefalseDelete even if volumes still reference this class. Admin only.

See also