Saving config in database requires writable config dir?
Migrated config, made changes, first save resulted in a 500 error. My config directory is not writable by the user running Pleroma which is intentional for security purposes. It seems odd that we are writing to the filesystem for each save; I think providing the mix task to export is good enough?
Jan 24 00:14:01 colo pleroma[4107]: request_id=FeyqUpzO5YVS0mkAABeB [error] Internal server error: %File.Error{action: "open", path: "config/prod.exported_from_db.secret.exs", reason: :eacces}
Jan 24 00:14:01 colo pleroma[4107]: request_id=FeyqUpzO5YVS0mkAABeB [info] Converted error File.Error to 500 response
Jan 24 00:14:01 colo pleroma[4107]: [error] #PID<0.1609.0> running Pleroma.Web.Endpoint (connection #PID<0.1558.0>, stream id 14) terminated Server: bikeshed.party:80 (http) Request: POST /api/pleroma/adm
in/config ** (exit) an exception was raised: ** (File.Error) could not open "config/prod.exported_from_db.secret.exs": permission denied (elixir) lib/file.ex:1439: File.open!/2 (plerom
a) lib/mix/tasks/pleroma/config.ex:98: Mix.Tasks.Pleroma.Config.migrate_from_db/1 (pleroma) lib/pleroma/web/admin_api/admin_api_controller.ex:895: Pleroma.Web.AdminAPI.AdminAPIController.config_up
date/2 (pleroma) lib/pleroma/web/admin_api/admin_api_controller.ex:5: Pleroma.Web.AdminAPI.AdminAPIController.action/2 (pleroma) lib/pleroma/web/admin_api/admin_api_controller.ex:5: Plerom
a.Web.AdminAPI.AdminAPIController.phoenix_controller_pipeline/2 (pleroma) lib/pleroma/web/endpoint.ex:5: Pleroma.Web.Endpoint.instrument/4 (phoenix) lib/phoenix/router.ex:288: Phoenix.Rout
er.__call__/2 (pleroma) lib/pleroma/web/endpoint.ex:5: Pleroma.Web.Endpoint.plug_builder_call/2
Jan 24 00:14:21 colo pleroma[4107]: [error] Ranch protocol #PID<0.1735.0> of listener Pleroma.Web.Endpoint.HTTP (connection #PID<0.1697.0>, stream id 6) terminated ** (exit) :badarg