summaryrefslogtreecommitdiff
path: root/modules/nixos/server/mixins/cloudflared.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-10-27 20:12:19 -0400
committerGitHub <[email protected]>2024-10-28 00:12:19 +0000
commit5ec7ee21e036f7bc1cbdec714271c619cb3fdb3d (patch)
tree3277d8ba68ca466e68c58a8373063010db392d2e /modules/nixos/server/mixins/cloudflared.nix
parent75ec48c5f7dd7877f2294b86764b1fdadc6b7e88 (diff)
modules: restructure (#487)
* seth: remove unused pkgs * modules: restructure from archetypes back to profiles make less actual modules for everything use lib.mkDefault like it's supposed to move mixins out of server * nixos/resolved: use modern options
Diffstat (limited to 'modules/nixos/server/mixins/cloudflared.nix')
-rw-r--r--modules/nixos/server/mixins/cloudflared.nix60
1 files changed, 0 insertions, 60 deletions
diff --git a/modules/nixos/server/mixins/cloudflared.nix b/modules/nixos/server/mixins/cloudflared.nix
deleted file mode 100644
index 9a56aaa..0000000
--- a/modules/nixos/server/mixins/cloudflared.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- config,
- lib,
- secretsDir,
- ...
-}:
-let
- cfg = config.server.mixins.cloudflared;
- inherit (config.services) nginx;
-in
-{
- options.server.mixins.cloudflared = {
- enable = lib.mkEnableOption "cloudflared mixin";
- tunnelName = lib.mkOption {
- description = ''
- Name of the default tunnel being created
- '';
- type = lib.types.str;
- default = "${config.networking.hostName}-nginx";
- defaultText = lib.literalExpression "\${config.networking.hostName}-nginx";
- example = "my-tunnel";
- };
-
- manageSecrets = lib.mkEnableOption "automatic management of secrets" // {
- default = config.traits.secrets.enable;
- defaultText = lib.literalExpression "config.traits.secrets.enable";
- };
- };
-
- config = lib.mkIf cfg.enable (
- lib.mkMerge [
- {
- services.cloudflared = {
- enable = true;
- tunnels.${cfg.tunnelName} = {
- default = "http_status:404";
-
- # map our virtualHosts from nginx to ingress rules
- ingress = lib.mapAttrs (_: _: {
- service = "http://localhost:${toString nginx.defaultHTTPListenPort}";
- }) nginx.virtualHosts;
- };
- };
- }
-
- (lib.mkIf cfg.manageSecrets {
- age.secrets.cloudflaredCreds = {
- file = secretsDir + "/cloudflaredCreds.age";
- mode = "400";
- owner = "cloudflared";
- group = "cloudflared";
- };
-
- services.cloudflared.tunnels.${cfg.tunnelName} = {
- credentialsFile = config.age.secrets.cloudflaredCreds.path;
- };
- })
- ]
- );
-}