Create staging environment for frappe

As a lot of our stuff relies on frappe, we should have an environment to test
our changes (both imperative and version) before they become production.

Change-Id: I4e9a31652339fa0c98821b12d2f48d2c5ae5447c
Reviewed-on: https://git.clicks.codes/c/Infra/NixFiles/+/629
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
1 file changed
tree: 50c74aa62483aaccb4d5f9885c79a81c5b824e2e
  1. .vscode/
  2. homes/
  3. modules/
  4. packages/
  5. secrets/
  6. services/
  7. variables/
  8. .editorconfig
  9. .envrc
  10. .gitignore
  11. .gitmodules
  12. .gitreview
  13. .sops.yaml
  14. flake.lock
  15. flake.nix
  16. LICENSE
  17. README.md
README.md

Clicks' NixFiles

Deploying

To deploy these files to our server we use deploy-rs. If you've got a flakes-enabled nix installed on your system you can run

nix run github:serokell/deploy-rs

You can also install deploy-rs to your profile, at which point you'll be able to run

deploy

Updating secrets

Secrets are stored in SOPS and deployed using scalpel.

If you have a service which needs to store secrets in its config file, please set systemd reloadTriggers and restartTriggers to automatically reload/restart the service whenever the configuration changes.

It's notable that changing the secrets will not trigger a reload/restart of the service. If you want to update the secrets without updating the rest of the configuration you currently need to manually restart the service. It's possible that this could be solved by using systemd paths to watch the files (see https://superuser.com/questions/1171751/restart-systemd-service-automatically-whenever-a-directory-changes-any-file-ins) but this is not a priority