forked from Fediversity/Fediversity
add TODO, reformat
This commit is contained in:
parent
ee70a0026d
commit
658fa7ff60
1 changed files with 25 additions and 6 deletions
|
@ -56,12 +56,14 @@ let
|
|||
--property "User=${name}" \
|
||||
--property "Group=${name}" \
|
||||
--property "WorkingDirectory=/var/lib/${name}" \
|
||||
--property "Environment=DATABASE_URL=${database-url} USER_SETTINGS_FILE=${configFile} ''
|
||||
+
|
||||
# env vars mandatory in `settings.py` tho not used in `manage`
|
||||
''
|
||||
NIX_BIN=${lib.getExe pkgs.nix} REPO_DIR=${../..}" \
|
||||
''
|
||||
--property "Environment=''
|
||||
+ (toString [
|
||||
"NIX_BIN=${lib.getExe pkgs.nix}"
|
||||
"REPO_DIR=${../..}"
|
||||
"DATABASE_URL=${database-url}"
|
||||
"USER_SETTINGS_FILE=${configFile}"
|
||||
])
|
||||
+ "\" \\\n"
|
||||
+ optionalString (credentials != [ ]) (
|
||||
(concatStringsSep " \\\n" (map (cred: "--property 'LoadCredential=${cred}'") credentials)) + " \\\n"
|
||||
)
|
||||
|
@ -194,6 +196,23 @@ in
|
|||
RuntimeDirectory = name;
|
||||
LogsDirectory = name;
|
||||
} // lib.optionalAttrs (credentials != [ ]) { LoadCredential = credentials; };
|
||||
|
||||
# TODO(@fricklerhandwerk):
|
||||
# Unify handling of runtime settings.
|
||||
# Right now we have four(!) places where we need to set environment variables, each in its own format:
|
||||
# - Django's `settings.py` declaring the setting
|
||||
# - the development environment
|
||||
# - the `manage` command
|
||||
# - here, the service configuration
|
||||
# Ideally we'd set them in two places (development environment and service configuration) but in the same format.
|
||||
# For that we need to take into account
|
||||
# - the different types of settings
|
||||
# - secrets, which must not end up in the store
|
||||
# - other values, which can be world-readable
|
||||
# - ergonomics
|
||||
# - manipulation should be straightforward in both places; e.g. dumping secrets to a directory that is not git-tracked and adding values to an attrset otherwise
|
||||
# - error detection and correction; it should be clear where and why one messed up so it can be fixed immediately
|
||||
# We meay also want to test the development environment in CI in order to make sure that we don't break it inadvertently, because misconfiguration due to multiplpe sources of truth wastes a lot of time.
|
||||
environment = {
|
||||
USER_SETTINGS_FILE = "${configFile}";
|
||||
DATABASE_URL = database-url;
|
||||
|
|
Loading…
Add table
Reference in a new issue