1
Fork 0
satellite/modules/nixos/cloudflared.nix

23 lines
607 B
Nix

{ config, lib, ... }:
let cfg = config.satellite.cloudflared;
in
{
options.satellite.cloudflared = {
tunnel = lib.mkOption {
type = lib.types.string;
description = "Cloudflare tunnel id to use for the `satellite.cloudflared.proxy` helper";
};
proxy = lib.mkOption {
type = lib.types.functionTo (lib.types.functionTo lib.types.anything);
description = "Helper function for generating a quick proxy config";
};
};
config.satellite.cloudflared.proxy = from: port: {
${cfg.tunnel} = {
ingress.${from} = "http://localhost${toString port}";
};
};
}