From dd92764a36cf6c3ff6c6532a76514f8ea87da7f3 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Thu, 10 Aug 2023 18:28:16 +0200 Subject: [PATCH] docs: admin: storage: fix sections names # Conflicts: # v1.21/admin/config-cheat-sheet.md # v1.21/admin/storage.md --- admin/config-cheat-sheet.md | 46 +++++++++++++++++++------- admin/storage.md | 65 ++++++++++++++++++++++--------------- 2 files changed, 74 insertions(+), 37 deletions(-) diff --git a/admin/config-cheat-sheet.md b/admin/config-cheat-sheet.md index 71d429a5..39f9b84f 100644 --- a/admin/config-cheat-sheet.md +++ b/admin/config-cheat-sheet.md @@ -801,6 +801,8 @@ Default templates for project boards: - `MAX_SIZE`: **4**: Maximum size (MB). - `MAX_FILES`: **5**: Maximum number of attachments that can be uploaded at once. +Additional settings can be included in this section to specify where the data is stored, as [explained in detail in the storage documentation](../storage/). + ## Log (`log`) - `ROOT_PATH`: **\**: Root path for log files. @@ -1198,6 +1200,8 @@ WARNING: Changing the settings below can break federation. - `LIMIT_SIZE_SWIFT`: **-1**: Maximum size of a Swift upload (`-1` means no limits, format `1000`, `1 MB`, `1 GiB`) - `LIMIT_SIZE_VAGRANT`: **-1**: Maximum size of a Vagrant upload (`-1` means no limits, format `1000`, `1 MB`, `1 GiB`) +Additional settings can be included in this section to specify where the data is stored, as [explained in detail in the storage documentation](../storage/). + ## Mirror (`mirror`) - `ENABLED`: **true**: Enables the mirror functionality. Set to **false** to disable all mirrors. Pre-existing mirrors remain valid but won't be updated; may be converted to regular repo. @@ -1206,20 +1210,40 @@ WARNING: Changing the settings below can break federation. - `DEFAULT_INTERVAL`: **8h**: Default interval between each check - `MIN_INTERVAL`: **10m**: Minimum interval for checking. (Must be >1m). +## LFS (`lfs`) + +Settings can be included in this section to specify where the LFS files are stored, as [explained in detail in the storage documentation](../storage/). + +## Repository Avatars (`repo-avatar`) + +Settings can be included in this section to specify where the repository avatars are stored, as [explained in detail in the storage documentation](../storage/). + +## Avatars (`avatar`) + +Settings can be included in this section to specify where the avatars are stored, as [explained in detail in the storage documentation](../storage/). + +## Actions logs (`storage.actions_log`) + +Settings can be included in this section to specify where the actions logs are stored, as [explained in detail in the storage documentation](../storage/). + +## Actions Artifacts (`storage.artifacts`) + +Settings can be included in this section to specify where the actions artifacts are stored, as [explained in detail in the storage documentation](../storage/). + ## Storage (`storage`) -| storage | default base path | app.ini sections | -| ----------------- | ------------------ | ------------------- | -| Attachments | attachments/ | [attachment] | -| LFS | lfs/ | [lfs] | -| Avatars | avatars/ | [avatars] | -| Repo avatars | repo-avatars/ | [repo-avatars] | -| Repo archives | repo-archive/ | [repo-archive] | -| Packages | packages/ | [packages] | -| Actions logs | actions_log/ | [actions_log] | -| Actions Artifacts | actions_artifacts/ | [actions_artifacts] | +| subsystem | default base path | app.ini sections | +| ------------------- | ------------------ | --------------------- | +| Attachments | attachments/ | [attachment] | +| LFS | lfs/ | [lfs] | +| Avatars | avatars/ | [avatar] | +| Repository avatars | repo-avatars/ | [repo-avatar] | +| Repository archives | repo-archive/ | [repo-archive] | +| Packages | packages/ | [packages] | +| Actions logs | actions_log/ | [storage.actions_log] | +| Actions Artifacts | actions_artifacts/ | [actions.artifacts] | -The storage configuration for attachments, lfs, avatars, repo-avatars, repo-archive, packages, actions_log, actions_artifact is [explained in detail in a dedicated section](../storage/). +The settings for all these sections are [explained in detail in the storage documentation](../storage/). ## Proxy (`proxy`) diff --git a/admin/storage.md b/admin/storage.md index db9df18c..7fdc2929 100644 --- a/admin/storage.md +++ b/admin/storage.md @@ -3,25 +3,23 @@ title: 'Storage settings' license: 'CC-BY-SA-4.0' --- -The storage for each subsystem (`attachments`, `lfs`, `avatars`, -`repo-avatars`, `repo-archive`, `packages`, `actions_log`, -`actions_artifact`) is defined in `app.ini`. It can either be on disk +The storage for each subsystem is defined in `app.ini`. It can either be on disk (`local`) or using a MinIO server (`minio`). The default is `local` storage, using the following hierarchy under the `APP_DATA_PATH` directory: -| storage | default base path | app.ini sections | -| ----------------- | ------------------ | ------------------- | -| Attachments | attachments/ | [attachment] | -| LFS | lfs/ | [lfs] | -| Avatars | avatars/ | [avatars] | -| Repo avatars | repo-avatars/ | [repo-avatars] | -| Repo archives | repo-archive/ | [repo-archive] | -| Packages | packages/ | [packages] | -| Actions logs | actions_log/ | [actions_log] | -| Actions Artifacts | actions_artifacts/ | [actions_artifacts] | +| subsystem | default base path | app.ini sections | +| ------------------- | ------------------ | --------------------- | +| Attachments | attachments/ | [attachment] | +| LFS | lfs/ | [lfs] | +| Avatars | avatars/ | [avatar] | +| Repository avatars | repo-avatars/ | [repo-avatar] | +| Repository archives | repo-archive/ | [repo-archive] | +| Packages | packages/ | [packages] | +| Actions logs | actions_log/ | [storage.actions_log] | +| Actions Artifacts | actions_artifacts/ | [actions.artifacts] | For instance if `APP_DATA_PATH` was `/appdata`, the default directory to -store attachments would be `/appdata/attachments`. +store attachments will be `/appdata/attachments`. ## Overriding the defaults @@ -33,9 +31,9 @@ section. For instance setting: PATH = /mystorage ``` -would change the default for storing attachments to +will change the default for storing attachments to `/mystorage/attachments`. It is also possible to change these settings -for each subsystem in a `[XXXX]` section. For instance setting: +for each subsystem in their dedicated section. For instance: ``` [storage] @@ -45,8 +43,8 @@ PATH = /mystorage PATH = /otherstorage/attachments ``` -would store attachments in `/otherstorage/attachments` while `lfs` -files would be stored in `/mystorage/lfs`. +will store attachments in `/otherstorage/attachments` while `lfs` +files will be stored in `/mystorage/lfs`. ## Storage type @@ -57,14 +55,18 @@ The value of `STORAGE_TYPE` can be `local` (the default) or `minio`. For instanc STORAGE_TYPE = minio ``` -Will use `minio` for all subsystems (`attachments`, `lfs`, etc.) +will use `minio` for all subsystems (Attachments, LFS, etc.) instead of storing them on disk. Each storage type has its own settings, as explained below. ## `local` storage There is just one setting when the `STORAGE_TYPE` is set to `local`, -`PATH`. For instance: +`PATH`. It must be an absolute path and is interpreted as follows. + +In the `[storage]` section, `PATH` is the directory under which the default +base path of each subsystem will be created instead of +`APP_DATA_PATH`. For instance, if `APP_DATA_PATH` equals `/appdata`: ``` [storage] @@ -72,14 +74,25 @@ STORAGE_TYPE = local PATH = /mystorage ``` -If the value of PATH for the `XXXX` subsystem is relative, it is -constructed as follows: +Will create attachments in `/mystorage/attachments` instead of +`/appdata/attachments`, LFS files in `/mystorage/lfs` instead of +`/appdata/lfs`, etc. -- The default base path is `APP_DATA_PATH` (for instance `/appdata`) -- If `[storage].PATH` is relative (for instance `storage`), the default base path becomes `APP_DATA_PATH`/`[storage].PATH` (for instance `/appdata/storage`) +In the section dedicated to a subsystem (see the table above), `PATH` +is the base path under which all files will be stored. For instance: -It is recommended to always set the `PATH` values to an absolute path -name because it is easier to understand and maintain. +``` +[storage] +STORAGE_TYPE = local +PATH = /mystorage + +[attachment] +STORAGE_TYPE = local +PATH = /otherstorage/attachments +``` + +will store attachments in `/otherstorage/attachments` while `lfs` +files will be stored in `/mystorage/lfs`. ## `minio` storage