This PR continues the work started in https://github.com/ibizaman/selfhostblocks/pull/314 I had to create my own PR since I couldn't add commits on the fork. --------- Co-authored-by: sivertism <10866270+sivertism@users.noreply.github.com>
43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
contracts = pkgs.callPackage ../. {};
|
|
|
|
inherit (lib) mkOption;
|
|
inherit (lib.types) anything submodule;
|
|
in
|
|
{
|
|
options.shb.contracts.databasebackup = mkOption {
|
|
description = ''
|
|
Contract for database backup between a requester module
|
|
and a provider module.
|
|
|
|
The requester communicates to the provider
|
|
how to backup the database
|
|
through the `request` options.
|
|
|
|
The provider reads from the `request` options
|
|
and backs up the database as requested.
|
|
It communicates to the requester what script is used
|
|
to backup and restore the database
|
|
through the `result` options.
|
|
'';
|
|
|
|
type = submodule {
|
|
options = {
|
|
request = mkOption {
|
|
description = ''
|
|
Options set by a requester module of the database contract.
|
|
'';
|
|
type = contracts.databasebackup.requestType;
|
|
};
|
|
|
|
result = mkOption {
|
|
description = ''
|
|
Options set by a provider module of the database contract.
|
|
'';
|
|
type = contracts.databasebackup.resultType;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|