From 9d8fbac1c513b85ba002b40e01b9cc7959b8c318 Mon Sep 17 00:00:00 2001 From: Din Music Date: Fri, 13 Dec 2024 10:50:43 +0000 Subject: [PATCH] docs: Update metadata Signed-off-by: Din Music --- doc/metadata.txt | 108 ++++++++++++++++++++++++++++++ lxd/metadata/configuration.json | 113 ++++++++++++++++++++++++++++++++ 2 files changed, 221 insertions(+) diff --git a/doc/metadata.txt b/doc/metadata.txt index 26693a7a400d..ec60fc8f3893 100644 --- a/doc/metadata.txt +++ b/doc/metadata.txt @@ -5915,6 +5915,114 @@ Specify either a cron expression (` `), a comm ``` + +```{config:option} pure.api.token storage-pure-pool-conf +:shortdesc: "API token for Pure Storage gateway authentication" +:type: "string" + +``` + +```{config:option} pure.gateway storage-pure-pool-conf +:shortdesc: "Address of the Pure Storage gateway" +:type: "string" + +``` + +```{config:option} pure.gateway.verify storage-pure-pool-conf +:defaultdesc: "`true`" +:shortdesc: "Whether to verify the Pure Storage gateway's certificate" +:type: "bool" + +``` + +```{config:option} pure.mode storage-pure-pool-conf +:defaultdesc: "the discovered mode" +:shortdesc: "How volumes are mapped to the local server" +:type: "string" +The mode to use to map Pure Storage volumes to the local server. +Supported values are `iscsi` and `nvme`. +``` + +```{config:option} volume.size storage-pure-pool-conf +:defaultdesc: "`10GiB`" +:shortdesc: "Size/quota of the storage volume" +:type: "string" +Default Pure Storage volume size rounded to 512B. The minimum size is 1MiB. +``` + + + +```{config:option} block.filesystem storage-pure-volume-conf +:condition: "block-based volume with content type `filesystem`" +:defaultdesc: "same as `volume.block.filesystem`" +:shortdesc: "File system of the storage volume" +:type: "string" +Valid options are: `btrfs`, `ext4`, `xfs` +If not set, `ext4` is assumed. +``` + +```{config:option} block.mount_options storage-pure-volume-conf +:condition: "block-based volume with content type `filesystem`" +:defaultdesc: "same as `volume.block.mount_options`" +:shortdesc: "Mount options for block-backed file system volumes" +:type: "string" + +``` + +```{config:option} size storage-pure-volume-conf +:defaultdesc: "same as `volume.size`" +:shortdesc: "Size/quota of the storage volume" +:type: "string" +Default Pure Storage volume size rounded to 512B. The minimum size is 1MiB. +``` + +```{config:option} snapshots.expiry storage-pure-volume-conf +:condition: "custom volume" +:defaultdesc: "same as `volume.snapshots.expiry`" +:scope: "global" +:shortdesc: "When snapshots are to be deleted" +:type: "string" +Specify an expression like `1M 2H 3d 4w 5m 6y`. +``` + +```{config:option} snapshots.pattern storage-pure-volume-conf +:condition: "custom volume" +:defaultdesc: "same as `volume.snapshots.pattern` or `snap%d`" +:scope: "global" +:shortdesc: "Template for the snapshot name" +:type: "string" +You can specify a naming template that is used for scheduled snapshots and unnamed snapshots. + +The `snapshots.pattern` option takes a Pongo2 template string to format the snapshot name. + +To add a time stamp to the snapshot name, use the Pongo2 context variable `creation_date`. +Make sure to format the date in your template string to avoid forbidden characters in the snapshot name. +For example, set `snapshots.pattern` to `{{ creation_date|date:'2006-01-02_15-04-05' }}` to name the snapshots after their time of creation, down to the precision of a second. + +Another way to avoid name collisions is to use the placeholder `%d` in the pattern. +For the first snapshot, the placeholder is replaced with `0`. +For subsequent snapshots, the existing snapshot names are taken into account to find the highest number at the placeholder's position. +This number is then incremented by one for the new name. +``` + +```{config:option} snapshots.schedule storage-pure-volume-conf +:condition: "custom volume" +:defaultdesc: "same as `snapshots.schedule`" +:scope: "global" +:shortdesc: "Schedule for automatic volume snapshots" +:type: "string" +Specify either a cron expression (` `), a comma-separated list of schedule aliases (`@hourly`, `@daily`, `@midnight`, `@weekly`, `@monthly`, `@annually`, `@yearly`), or leave empty to disable automatic snapshots (the default). +``` + +```{config:option} volatile.uuid storage-pure-volume-conf +:defaultdesc: "random UUID" +:scope: "global" +:shortdesc: "The volume's UUID" +:type: "string" + +``` + + ```{config:option} size storage-zfs-bucket-conf :condition: "appropriate driver" diff --git a/lxd/metadata/configuration.json b/lxd/metadata/configuration.json index 5040c6e96ef1..7e9031232383 100644 --- a/lxd/metadata/configuration.json +++ b/lxd/metadata/configuration.json @@ -6600,6 +6600,119 @@ ] } }, + "storage-pure": { + "pool-conf": { + "keys": [ + { + "pure.api.token": { + "longdesc": "", + "shortdesc": "API token for Pure Storage gateway authentication", + "type": "string" + } + }, + { + "pure.gateway": { + "longdesc": "", + "shortdesc": "Address of the Pure Storage gateway", + "type": "string" + } + }, + { + "pure.gateway.verify": { + "defaultdesc": "`true`", + "longdesc": "", + "shortdesc": "Whether to verify the Pure Storage gateway's certificate", + "type": "bool" + } + }, + { + "pure.mode": { + "defaultdesc": "the discovered mode", + "longdesc": "The mode to use to map Pure Storage volumes to the local server.\nSupported values are `iscsi` and `nvme`.", + "shortdesc": "How volumes are mapped to the local server", + "type": "string" + } + }, + { + "volume.size": { + "defaultdesc": "`10GiB`", + "longdesc": "Default Pure Storage volume size rounded to 512B. The minimum size is 1MiB.", + "shortdesc": "Size/quota of the storage volume", + "type": "string" + } + } + ] + }, + "volume-conf": { + "keys": [ + { + "block.filesystem": { + "condition": "block-based volume with content type `filesystem`", + "defaultdesc": "same as `volume.block.filesystem`", + "longdesc": "Valid options are: `btrfs`, `ext4`, `xfs`\nIf not set, `ext4` is assumed.", + "shortdesc": "File system of the storage volume", + "type": "string" + } + }, + { + "block.mount_options": { + "condition": "block-based volume with content type `filesystem`", + "defaultdesc": "same as `volume.block.mount_options`", + "longdesc": "", + "shortdesc": "Mount options for block-backed file system volumes", + "type": "string" + } + }, + { + "size": { + "defaultdesc": "same as `volume.size`", + "longdesc": "Default Pure Storage volume size rounded to 512B. The minimum size is 1MiB.", + "shortdesc": "Size/quota of the storage volume", + "type": "string" + } + }, + { + "snapshots.expiry": { + "condition": "custom volume", + "defaultdesc": "same as `volume.snapshots.expiry`", + "longdesc": "Specify an expression like `1M 2H 3d 4w 5m 6y`.", + "scope": "global", + "shortdesc": "When snapshots are to be deleted", + "type": "string" + } + }, + { + "snapshots.pattern": { + "condition": "custom volume", + "defaultdesc": "same as `volume.snapshots.pattern` or `snap%d`", + "longdesc": "You can specify a naming template that is used for scheduled snapshots and unnamed snapshots.\n\nThe `snapshots.pattern` option takes a Pongo2 template string to format the snapshot name.\n\nTo add a time stamp to the snapshot name, use the Pongo2 context variable `creation_date`.\nMake sure to format the date in your template string to avoid forbidden characters in the snapshot name.\nFor example, set `snapshots.pattern` to `{{ creation_date|date:'2006-01-02_15-04-05' }}` to name the snapshots after their time of creation, down to the precision of a second.\n\nAnother way to avoid name collisions is to use the placeholder `%d` in the pattern.\nFor the first snapshot, the placeholder is replaced with `0`.\nFor subsequent snapshots, the existing snapshot names are taken into account to find the highest number at the placeholder's position.\nThis number is then incremented by one for the new name.", + "scope": "global", + "shortdesc": "Template for the snapshot name", + "type": "string" + } + }, + { + "snapshots.schedule": { + "condition": "custom volume", + "defaultdesc": "same as `snapshots.schedule`", + "longdesc": "Specify either a cron expression (`\u003cminute\u003e \u003chour\u003e \u003cdom\u003e \u003cmonth\u003e \u003cdow\u003e`), a comma-separated list of schedule aliases (`@hourly`, `@daily`, `@midnight`, `@weekly`, `@monthly`, `@annually`, `@yearly`), or leave empty to disable automatic snapshots (the default).", + "scope": "global", + "shortdesc": "Schedule for automatic volume snapshots", + "type": "string" + } + }, + { + "volatile.uuid": { + "defaultdesc": "random UUID", + "longdesc": "", + "scope": "global", + "shortdesc": "The volume's UUID", + "type": "string" + } + } + ] + } + }, "storage-zfs": { "bucket-conf": { "keys": [