summaryrefslogtreecommitdiff
path: root/parts/modules/nixos/server
diff options
context:
space:
mode:
authorseth <[email protected]>2023-10-30 04:22:32 -0400
committerseth <[email protected]>2023-10-30 09:46:15 +0000
commit10b0df38b4286237b56ff9177f8d4c5676bfb5c1 (patch)
treeab298c74339bf9bc41571fa88746ecd9c522fbdf /parts/modules/nixos/server
parent4c2c60a4f2b14c1e6ffaffe5e301dc31ac4fed0f (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.nix26
-rw-r--r--parts/modules/nixos/server/default.nix47
-rw-r--r--parts/modules/nixos/server/secrets.nix25
-rw-r--r--parts/modules/nixos/server/services/cloudflared.nix41
-rw-r--r--parts/modules/nixos/server/services/default.nix7
-rw-r--r--parts/modules/nixos/server/services/hercules.nix57
-rw-r--r--parts/modules/nixos/server/services/promtail.nix47
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";
- }
- ];
- }
- ];
- };
- };
-}