29 lines
719 B
Nix
29 lines
719 B
Nix
{ lib, shb, ... }:
|
|
let
|
|
inherit (lib) mkOption;
|
|
inherit (lib.types) submodule;
|
|
in
|
|
{
|
|
imports = [
|
|
../../../lib/module.nix
|
|
];
|
|
|
|
options.shb.contracts.secret = mkOption {
|
|
description = ''
|
|
Contract for secrets between a requester module
|
|
and a provider module.
|
|
|
|
The requester communicates to the provider
|
|
some properties the secret should have
|
|
through the `request.*` options.
|
|
|
|
The provider reads from the `request.*` options
|
|
and creates the secret as requested.
|
|
It then communicates to the requester where the secret can be found
|
|
through the `result.*` options.
|
|
'';
|
|
type = submodule {
|
|
options = shb.contracts.secret.contract;
|
|
};
|
|
};
|
|
}
|