diff --git a/pages/edge/learn/volumes.mdx b/pages/edge/learn/volumes.mdx index e448170..8a53ac3 100644 --- a/pages/edge/learn/volumes.mdx +++ b/pages/edge/learn/volumes.mdx @@ -12,7 +12,7 @@ In the current initial implementation, volumes are restricted to a single [Edge region](/edge/learn/regions). Volumes also at the moment only provide *read-write-many* semantics. -Due the automatic auto-scaling for apps, this means that volumes are not currently +Due to the automatic auto-scaling for apps, this means that volumes are not currently well-suited for databases or other more complex use cases that require a single writer. Keep in mind that volumes can be accessed concurrently, and even from different @@ -22,7 +22,7 @@ These restrictions (including the single-region restriction) will be lifted in the future. -## Using Volumes With rclone +## Create and Use Volumes * Every app may have multiple volumes. * Each volume has a name, which must be unique for the application. @@ -39,19 +39,17 @@ volumes: # A name for your volume. # Must be unique for the given app. - name: data - # Where to mount the volume into the filesystem. - # You can specify multiple mounts with optional subpaths. - mounts: - # Mount the volume to `/data`. - - mount_path: /data - # Optional: the subdirectory of the volume to mount. - # subpath: /subpath + # Create a persistent volume named "data" in `/data`. + mount: /data + + - name: more_data + # Create a persistent volume named "more_data" in `/other_mntpoint`. + mount: /other_mntpoint ``` -This will create a new "data" volume, which will be mounted at `/data`. +This will create two new volumes: "data", which will be mounted at `/data` and "more_data" which will be mounted at `/other_mntpoint`. -Now just re-deploy your app with `wasmer deploy`. -The volume will be automatically created. +Now just re-deploy your app with `wasmer deploy`, and the volume will be automatically created. Your application can now use the mount path and treat it as persistent storage. @@ -86,13 +84,13 @@ You can inspect volumes in two ways: Volumes are not only available to your apps, but can also be remotely accessed through the standard S3 API, or through a builtin web UI. -You can use the CLI to retrieve S3 credentials: +You can use the CLI to retrieve the credentials: ```bash -wasmer app volumes s3-credentials +wasmer app volumes credentials --format=json ``` -This will print the S3 API URL, access key and secret key. +This will print the S3 API URL, access key and secret key in the JSON format. @@ -107,7 +105,7 @@ to your volumes. It even allows mounting a volume to your local machine! You can get an rclone configuration snippet through the CLI: ```bash -wasmer app volumes s3-credentials --rclone-print +wasmer app volumes credentials --format=rclone ``` This will print out a configuration snippet that can be added to the rclone @@ -137,3 +135,13 @@ rclone copy ./local-filename :/remote-filename mkdir my-volume rclone mount : ./my-volume ``` + +### Rotating credentials +In order to rotate (i.e. automatically assign a different value) the credentials tied to your volumes, +you can simply run this command with the CLI: + +```bash +wasmer app volumes rotate-secrets +``` + +This command will rotate their values and show the new ones directly in the CLI.