diff options
| author | seth <[email protected]> | 2023-10-30 04:22:32 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-10-30 09:46:15 +0000 |
| commit | 10b0df38b4286237b56ff9177f8d4c5676bfb5c1 (patch) | |
| tree | ab298c74339bf9bc41571fa88746ecd9c522fbdf /parts/modules/nixos/server | |
| parent | 4c2c60a4f2b14c1e6ffaffe5e301dc31ac4fed0f (diff) | |
tree-wide: refactor
i went overboard on modules. this is much comfier
Diffstat (limited to 'parts/modules/nixos/server')
| -rw-r--r-- | parts/modules/nixos/server/acme.nix | 26 | ||||
| -rw-r--r-- | parts/modules/nixos/server/default.nix | 47 | ||||
| -rw-r--r-- | parts/modules/nixos/server/secrets.nix | 25 | ||||
| -rw-r--r-- | parts/modules/nixos/server/services/cloudflared.nix | 41 | ||||
| -rw-r--r-- | parts/modules/nixos/server/services/default.nix | 7 | ||||
| -rw-r--r-- | parts/modules/nixos/server/services/hercules.nix | 57 | ||||
| -rw-r--r-- | parts/modules/nixos/server/services/promtail.nix | 47 |
7 files changed, 0 insertions, 250 deletions
diff --git a/parts/modules/nixos/server/acme.nix b/parts/modules/nixos/server/acme.nix deleted file mode 100644 index 69e02ac..0000000 --- a/parts/modules/nixos/server/acme.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - config, - lib, - self, - ... -}: let - cfg = config.server.acme; - inherit (lib) mkEnableOption mkIf; -in { - options.server.acme = { - enable = mkEnableOption "acme"; - }; - - config = mkIf cfg.enable { - age.secrets.cloudflareApiKey.file = "${self}/parts/secrets/systems/${config.networking.hostName}/cloudflareApiKey.age"; - - security.acme = { - acceptTerms = true; - defaults = { - email = "[email protected]"; - dnsProvider = "cloudflare"; - credentialsFile = config.age.secrets.cloudflareApiKey.path; - }; - }; - }; -} diff --git a/parts/modules/nixos/server/default.nix b/parts/modules/nixos/server/default.nix deleted file mode 100644 index acab4fc..0000000 --- a/parts/modules/nixos/server/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - config, - lib, - pkgs, - inputs, - ... -}: let - cfg = config.server; - inherit (lib) mkDefault mkEnableOption mkIf; -in { - options.server.enable = mkEnableOption "enable server configuration"; - - imports = [ - ./acme.nix - ./secrets.nix - ./services - ]; - - config = mkIf cfg.enable { - _module.args.unstable = inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}; - - base = { - enable = true; - documentation.enable = false; - defaultPackages.enable = false; - networking.enable = false; - }; - - nix = { - gc = { - dates = "*-*-1,5,9,13,17,21,25,29 00:00:00"; - options = "-d --delete-older-than 2d"; - }; - - settings.allowed-users = [config.networking.hostName]; - }; - - programs = { - git.enable = mkDefault true; - vim.defaultEditor = mkDefault true; - }; - - security = { - pam.enableSSHAgentAuth = mkDefault true; - }; - }; -} diff --git a/parts/modules/nixos/server/secrets.nix b/parts/modules/nixos/server/secrets.nix deleted file mode 100644 index 2dc6083..0000000 --- a/parts/modules/nixos/server/secrets.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - config, - lib, - self, - ... -}: let - cfg = config.server.secrets; - inherit (lib) mkEnableOption mkIf; -in { - options.server.secrets = { - enable = mkEnableOption "enable secret management"; - }; - - config.age = let - baseDir = "${self}/parts/secrets/systems/${config.networking.hostName}"; - in - mkIf cfg.enable { - identityPaths = ["/etc/age/key"]; - - secrets = { - rootPassword.file = "${baseDir}/rootPassword.age"; - userPassword.file = "${baseDir}/userPassword.age"; - }; - }; -} diff --git a/parts/modules/nixos/server/services/cloudflared.nix b/parts/modules/nixos/server/services/cloudflared.nix deleted file mode 100644 index 2bf7907..0000000 --- a/parts/modules/nixos/server/services/cloudflared.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - config, - lib, - self, - ... -}: let - cfg = config.server.services.cloudflared; - inherit (lib) mkEnableOption mkIf; -in { - options.server.services.cloudflared = { - enable = mkEnableOption "cloudflared"; - }; - - config = mkIf cfg.enable { - age.secrets.cloudflaredCreds = { - file = "${self}/parts/secrets/systems/${config.networking.hostName}/cloudflaredCreds.age"; - mode = "400"; - owner = "cloudflared"; - group = "cloudflared"; - }; - - services.cloudflared = { - enable = true; - tunnels = { - "${config.networking.hostName}-nginx" = { - default = "http_status:404"; - - ingress = let - inherit (config.services) nginx; - in - lib.genAttrs - (builtins.attrNames nginx.virtualHosts) - (_: {service = "http://localhost:${builtins.toString nginx.defaultHTTPListenPort}";}); - - originRequest.noTLSVerify = true; - credentialsFile = config.age.secrets.cloudflaredCreds.path; - }; - }; - }; - }; -} diff --git a/parts/modules/nixos/server/services/default.nix b/parts/modules/nixos/server/services/default.nix deleted file mode 100644 index 23f2542..0000000 --- a/parts/modules/nixos/server/services/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -_: { - imports = [ - ./cloudflared.nix - ./hercules.nix - ./promtail.nix - ]; -} diff --git a/parts/modules/nixos/server/services/hercules.nix b/parts/modules/nixos/server/services/hercules.nix deleted file mode 100644 index b11a133..0000000 --- a/parts/modules/nixos/server/services/hercules.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - config, - lib, - self, - unstable, - ... -}: let - cfg = config.server.services.hercules-ci; - inherit (lib) mkEnableOption mkIf; -in { - options.server.services.hercules-ci = { - enable = mkEnableOption "enable hercules-ci"; - secrets.enable = mkEnableOption "manage secrets for hercules-ci"; - }; - - config = mkIf cfg.enable { - age.secrets = let - baseDir = "${self}/parts/secrets/systems/${config.networking.hostName}"; - hercArgs = { - mode = "400"; - owner = "hercules-ci-agent"; - group = "hercules-ci-agent"; - }; - in - mkIf cfg.secrets.enable { - binaryCache = - { - file = "${baseDir}/binaryCache.age"; - } - // hercArgs; - - clusterToken = - { - file = "${baseDir}/clusterToken.age"; - } - // hercArgs; - - secretsJson = - { - file = "${baseDir}/secretsJson.age"; - } - // hercArgs; - }; - - services = { - hercules-ci-agent = { - enable = true; - package = unstable.hercules-ci-agent; - settings = { - binaryCachesPath = config.age.secrets.binaryCache.path; - clusterJoinTokenPath = config.age.secrets.clusterToken.path; - secretsJsonPath = config.age.secrets.secretsJson.path; - }; - }; - }; - }; -} diff --git a/parts/modules/nixos/server/services/promtail.nix b/parts/modules/nixos/server/services/promtail.nix deleted file mode 100644 index 63faf15..0000000 --- a/parts/modules/nixos/server/services/promtail.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - config, - lib, - ... -}: let - cfg = config.server.services.promtail; - inherit (lib) mkEnableOption mkIf mkOption types; -in { - options.server.services.promtail = { - enable = mkEnableOption "enable promtail"; - - clients = mkOption { - type = types.listOf types.attrs; - default = [{}]; - description = "clients for promtail"; - }; - }; - - config.services.promtail = mkIf cfg.enable { - enable = true; - configuration = { - inherit (cfg) clients; - server.disable = true; - - scrape_configs = [ - { - job_name = "journal"; - - journal = { - max_age = "12h"; - labels = { - job = "systemd-journal"; - host = "${config.networking.hostName}"; - }; - }; - - relabel_configs = [ - { - source_labels = ["__journal__systemd_unit"]; - target_label = "unit"; - } - ]; - } - ]; - }; - }; -} |
