cluster/services/ways: support gRPC
This commit is contained in:
parent
06041f8498
commit
25bd410599
2 changed files with 15 additions and 2 deletions
|
@ -25,7 +25,14 @@ in
|
|||
];
|
||||
locations = lib.mkMerge [
|
||||
{
|
||||
"/".proxyPass = cfg.target;
|
||||
"/" = if cfg.grpc then {
|
||||
extraConfig = ''
|
||||
set $nix_proxy_grpc_target ${cfg.target};
|
||||
grpc_pass $nix_proxy_grpc_target;
|
||||
'';
|
||||
} else {
|
||||
proxyPass = cfg.target;
|
||||
};
|
||||
"${cfg.healthCheckPath}".extraConfig = "access_log off;";
|
||||
}
|
||||
{
|
||||
|
|
|
@ -35,6 +35,12 @@ with lib;
|
|||
};
|
||||
};
|
||||
|
||||
grpc = mkOption {
|
||||
description = "Whether this endpoint is a gRPC service.";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
target = mkOption {
|
||||
type = types.str;
|
||||
};
|
||||
|
@ -101,7 +107,7 @@ with lib;
|
|||
(lib.mkIf options.consulService.isDefined {
|
||||
useConsul = true;
|
||||
nginxUpstreamName = "ways_upstream_${builtins.hashString "md5" options.consulService.value}";
|
||||
target = "http://${options.nginxUpstreamName.value}";
|
||||
target = "${if config.grpc then "grpc" else "http"}://${options.nginxUpstreamName.value}";
|
||||
})
|
||||
(lib.mkIf options.bucket.isDefined {
|
||||
consulService = "garage-web";
|
||||
|
|
Loading…
Reference in a new issue