parent
83fe089c5e
commit
98833bdc6f
14 changed files with 367 additions and 46 deletions
modules/caddy-plus
52
modules/caddy-plus/sub-domain-options.nix
Normal file
52
modules/caddy-plus/sub-domain-options.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{cfg}: {
|
||||
lib,
|
||||
name,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) literalExpression mkOption types;
|
||||
in {
|
||||
options = {
|
||||
subDomainName = mkOption {
|
||||
type = types.str;
|
||||
default = name;
|
||||
description = "The sub domain name to handle.";
|
||||
};
|
||||
|
||||
reverseProxy = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Option to give the parameters to a simple "reverse_proxy" command
|
||||
appended after extraConfig.
|
||||
'';
|
||||
};
|
||||
|
||||
subDirectories = mkOption {
|
||||
type = types.attrsOf (types.submodule (import ./sub-dir-options.nix {inherit cfg;}));
|
||||
default = {};
|
||||
example = literalExpression ''
|
||||
{
|
||||
headscale = {
|
||||
appSupport = false;
|
||||
reverseProxy = "localhost:8080";
|
||||
extraConfig = '''
|
||||
encode gzip
|
||||
''';
|
||||
};
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
Declarative specification of a subdomain's subdirectories served by Caddy.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional lines of configuration appended to this sub domain in the
|
||||
automatically generated `Caddyfile`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue