mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2026-08-11 05:42:33 +02:00
treewide: add missing systemd ordering directives
In particular, we were missing `sops-install-secrets.service` in a ton of places, and `network-online.target` for some homebrewn services. This has caused failure of some services on machine startup.
This commit is contained in:
@@ -154,8 +154,14 @@ in {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.gitea = lib.mkIf cfg.enable {
|
||||
wants = [ "redis-gitea.service" ];
|
||||
after = [ "redis-gitea.service" ];
|
||||
after = [
|
||||
"sops-install-secrets.service"
|
||||
"redis-gitea.service"
|
||||
];
|
||||
requires = [
|
||||
"sops-install-secrets.service"
|
||||
"redis-gitea.service"
|
||||
];
|
||||
|
||||
serviceConfig = {
|
||||
CPUSchedulingPolicy = "batch";
|
||||
@@ -216,6 +222,9 @@ in {
|
||||
};
|
||||
|
||||
systemd.services.gitea-dump = {
|
||||
after = [ "sops-install-secrets.service" ];
|
||||
requires = [ "sops-install-secrets.service" ];
|
||||
|
||||
serviceConfig.ExecStart = let
|
||||
args = lib.cli.toCommandLineShellGNU { } {
|
||||
type = cfg.dump.type;
|
||||
|
||||
@@ -32,7 +32,11 @@ in
|
||||
|
||||
systemd.services.gitea-ensure-gnupg-homedir = {
|
||||
description = "Import gpg key for gitea";
|
||||
|
||||
before = [ "gitea.service" ];
|
||||
after = [ "sops-install-secrets.service" ];
|
||||
requires = [ "sops-install-secrets.service" ];
|
||||
|
||||
environment = { inherit GNUPGHOME; };
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
|
||||
@@ -12,6 +12,16 @@ in
|
||||
systemd.services.gitea-import-users = lib.mkIf cfg.enable {
|
||||
enable = true;
|
||||
environment.PASSWD_FILE_PATH = "/run/gitea-import-users/passwd";
|
||||
after = [
|
||||
"sops-install-secrets.service"
|
||||
"gitea.service"
|
||||
"network-online.target"
|
||||
];
|
||||
requires = [
|
||||
"sops-install-secrets.service"
|
||||
"gitea.service"
|
||||
"network-online.target"
|
||||
];
|
||||
serviceConfig = {
|
||||
ExecStartPre = ''${pkgs.rsync}/bin/rsync -e "${pkgs.openssh}/bin/ssh -o UserKnownHostsFile=$CREDENTIALS_DIRECTORY/ssh-known-hosts -i $CREDENTIALS_DIRECTORY/sshkey" -a pvv@smtp.pvv.ntnu.no:/etc/passwd /run/gitea-import-users/passwd'';
|
||||
ExecStart = pkgs.writers.writePython3 "gitea-import-users" {
|
||||
|
||||
@@ -48,7 +48,16 @@ in
|
||||
# %d - secrets directory
|
||||
systemd.services."gitea-web-secret-provider@" = {
|
||||
description = "Ensure all repos in %i has an SSH key to push web content";
|
||||
requires = [ "gitea.service" "network.target" ];
|
||||
after = [
|
||||
"sops-install-secrets.service"
|
||||
"gitea.service"
|
||||
"network-online.target"
|
||||
];
|
||||
requires = [
|
||||
"sops-install-secrets.service"
|
||||
"gitea.service"
|
||||
"network-online.target"
|
||||
];
|
||||
serviceConfig = {
|
||||
Slice = "system-giteaweb.slice";
|
||||
Type = "oneshot";
|
||||
|
||||
Reference in New Issue
Block a user