docs update
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Wed, 22 Jan 2020 15:08:53 +0000 (18:08 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Wed, 22 Jan 2020 15:08:53 +0000 (18:08 +0300)
docs/API/admin_api.md
docs/admin/config.md
docs/administration/CLI_tasks/config.md

index 37cd1910d8943da087ec607da01857aa95607358..534c49eedac483390512608bcd85d2e0dc3d6363 100644 (file)
@@ -682,11 +682,12 @@ Copies all settings from database to `config/{env}.exported_from_db.secret.exs`
 
 ## `GET /api/pleroma/admin/config`
 
-### Get saved config settings
+### Get list of merged default settings with saved in database.
 
 **Only works when configuration from database is enabled.**
 
-- Params: none
+- Params:
+  - `only_db`: true (*optional*, get only saved in database settings)
 - Response:
   - On failure:
     - 400 Bad Request `"To use this endpoint you need to enable configuration from database."`
@@ -734,7 +735,6 @@ Most of the settings will be applied in `runtime`, this means that you don't nee
 - all settings inside these keys:
   - `:hackney_pools`
   - `:chat`
-  - `Pleroma.Web.Endpoint`
 - partially settings inside these keys:
   - `:seconds_valid` in `Pleroma.Captcha`
   - `:proxy_remote` in `Pleroma.Upload`
@@ -763,11 +763,10 @@ Example of setting without keyword in value:
 config :tesla, :adapter, Tesla.Adapter.Hackney
 ```
 
-List of settings which support only full update:
+List of settings which support only full update by key:
 ```elixir
 @full_key_update [
     {:pleroma, :ecto_repos},
-    {:pleroma, :assets},
     {:quack, :meta},
     {:mime, :types},
     {:cors_plug, [:max_age, :methods, :expose, :headers]},
@@ -777,6 +776,17 @@ List of settings which support only full update:
   ]
 ```
 
+List of settings which support only full update by subkey:
+```elixir
+@full_subkey_update [
+    {:pleroma, :assets, :mascots},
+    {:pleroma, :emoji, :groups},
+    {:pleroma, :workers, :retries},
+    {:pleroma, :mrf_subchain, :match_actor},
+    {:pleroma, :mrf_keyword, :replace}
+  ]
+```
+
 *Settings without explicit key must be sended in separate config object params.*
 ```elixir
 config :quack,
index 41ca8fd5850187b300c945ce45dbef3df4eb94de..35e43b6a9d840a0b5d1409e09b9e3c0d39f9ddc1 100644 (file)
@@ -8,14 +8,24 @@ config :pleroma, configurable_from_database: true
 ## How it works
 Settings are stored in database and are applied in `runtime` after each change. Most of the settings take effect immediately, except some, which need instance reboot. These settings are needed in `compile time`, that's why settings are duplicated to the file.
 
-File with duplicated settings is located in `config/{env}.exported_from_db.exs`. For prod env it will be `config/prod.exported_from_db.exs`.
+File with duplicated settings is located in `config/{env}.exported_from_db.exs` if pleroma is runned from source. For prod env it will be `config/prod.exported_from_db.exs`.
+
+For releases: `/etc/pleroma/prod.exported_from_db.secret.exs` or `PLEROMA_CONFIG_PATH/prod.exported_from_db.exs`.
 
 ## How to set it up
-You need to migrate your existing settings to the database. You can do this with mix task (all config files will remain untouched):
-```bash
+You need to migrate your existing settings to the database. This task will migrate only added by user settings.
+For example you add settings to `prod.secret.exs` file, only these settings will be migrated to database. For release it will be `/etc/pleroma/config.exs` or `PLEROMA_CONFIG_PATH`.
+You can do this with mix task (all config files will remain untouched):
+
+```sh tab="OTP"
+ ./bin/pleroma_ctl config migrate_to_db
+```
+
+```sh tab="From Source"
 mix pleroma.config migrate_to_db
 ```
-Now you can change settings in admin interface. After each save, settings are duplicated to the `config/{env}.exported_from_db.exs` file.
+
+Now you can change settings in admin interface. After each save, settings from database are duplicated to the `config/{env}.exported_from_db.exs` file.
 
 <span style="color:red">**ATTENTION**</span>
 
@@ -25,13 +35,25 @@ Now you can change settings in admin interface. After each save, settings are du
 - all settings inside these keys:
   - `:hackney_pools`
   - `:chat`
-  - `Pleroma.Web.Endpoint`
 - partially settings inside these keys:
   - `:seconds_valid` in `Pleroma.Captcha`
   - `:proxy_remote` in `Pleroma.Upload`
   - `:upload_limit` in `:instance`
 
-## How to remove it
+## How to dump settings from database to file
+
+*Adding `-d` flag will delete migrated settings from database table.*
+
+```sh tab="OTP"
+ ./bin/pleroma_ctl config migrate_from_db [-d]
+```
+
+```sh tab="From Source"
+mix pleroma.config migrate_from_db [-d]
+```
+
+
+## How to completely remove it
 
 1. Truncate or delete all values from `config` table
 ```sql
index fe76b534b6b745ab81009778e4ff523ad9a9290b..2af51c247957ff45f668053065e554ad6e302853 100644 (file)
@@ -18,11 +18,11 @@ mix pleroma.config migrate_to_db
 
 ## Transfer config from DB to `config/env.exported_from_db.secret.exs`
 
-To delete transfered settings from database optional flag `-d` can be used.
+To delete transfered settings from database optional flag `-d` can be used. <env> is `prod` by default.
 ```sh tab="OTP"
- ./bin/pleroma_ctl config migrate_from_db --env=<env> [-d]
+ ./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
 ```
 
 ```sh tab="From Source"
-mix pleroma.config migrate_from_db --env=<env> [-d]
+mix pleroma.config migrate_from_db [--env=<env>] [-d]
 ```