You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

79 lines
2.0 KiB

pkgs: with pkgs; with lib; with topology-lib;
let
regions = {
a = { name = "eu-central-1"; /* Europe (Frankfurt) */ };
b = { name = "us-east-2"; /* US East (Ohio) */ };
c = { name = "ap-southeast-1"; /* Asia Pacific (Singapore) */ };
d = { name = "eu-west-2"; /* Europe (London) */ };
};
bftCoreNodes = let
mkBftCoreNode = mkBftCoreNodeForRegions regions;
in regionalConnectGroupWith (reverseList stakingPoolNodes)
(fullyConnectNodes [
# OBFT centralized nodes recovery nodes
(mkBftCoreNode "a" 1 {
org = "IOHK";
nodeId = 1;
})
(mkBftCoreNode "b" 1 {
org = "IOHK";
nodeId = 2;
})
(mkBftCoreNode "c" 1 {
org = "IOHK";
nodeId = 3;
})
]);
stakingPoolNodes = let
mkStakingPool = mkStakingPoolForRegions regions;
in regionalConnectGroupWith bftCoreNodes
(fullyConnectNodes [
(mkStakingPool "a" 1 "IOHK1" { nodeId = 4; })
(mkStakingPool "b" 1 "IOHK2" { nodeId = 5; })
(mkStakingPool "c" 1 "IOHK3" { nodeId = 6; })
]);
coreNodes = bftCoreNodes ++ stakingPoolNodes;
relayNodes = map (withAutoRestartEvery 6) (mkRelayTopology {
inherit regions coreNodes;
autoscaling = false;
maxProducersPerNode = 20;
maxInRegionPeers = 5;
});
in {
inherit coreNodes relayNodes;
monitoring = {
services.monitoring-services.publicGrafana = false;
};
"${globals.faucetHostname}" = {
services.cardano-faucet = {
anonymousAccess = false;
faucetLogLevel = "DEBUG";
secondsBetweenRequestsAnonymous = 86400;
secondsBetweenRequestsApiKeyAuth = 86400;
lovelacesToGiveAnonymous = 1000000000;
lovelacesToGiveApiKeyAuth = 10000000000;
useByronWallet = false;
};
};
explorer = {
services.nginx.virtualHosts.${globals.explorerHostName}.locations."/p" = lib.mkIf (__pathExists ../static/pool-metadata) {
root = ../static/pool-metadata;
};
services.cardano-graphql = {
allowListPath = mkForce null;
allowIntrospection = true;
};
};
}