132 lines
3 KiB
Nix
132 lines
3 KiB
Nix
# storage-node01 - Storage Control Plane Primary
|
|
#
|
|
# Services: ChainFire, FlareDB, IAM, PlasmaVMC, CoronaFS, LightningStor
|
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./common.nix
|
|
../modules/chainfire.nix
|
|
../modules/flaredb.nix
|
|
../modules/iam.nix
|
|
../modules/plasmavmc.nix
|
|
../modules/coronafs.nix
|
|
../modules/lightningstor.nix
|
|
];
|
|
|
|
photonTestCluster = {
|
|
sshBasePort = 2300;
|
|
vdeSock = "/tmp/photoncloud-test-cluster-vde.sock-storage";
|
|
};
|
|
|
|
networking.hostName = "node01";
|
|
|
|
virtualisation = {
|
|
cores = lib.mkForce 8;
|
|
memorySize = 10240;
|
|
diskSize = 61440;
|
|
};
|
|
|
|
networking.interfaces.eth1.ipv4.addresses = [{
|
|
address = "10.100.0.11";
|
|
prefixLength = 24;
|
|
}];
|
|
|
|
services.chainfire = {
|
|
enable = true;
|
|
nodeId = "node01";
|
|
raftAddr = "10.100.0.11:2380";
|
|
apiAddr = "10.100.0.11:2379";
|
|
initialPeers = [
|
|
"node01=10.100.0.11:2380"
|
|
"node02=10.100.0.12:2380"
|
|
"node03=10.100.0.13:2380"
|
|
];
|
|
};
|
|
|
|
services.flaredb = {
|
|
enable = true;
|
|
nodeId = "node01";
|
|
raftAddr = "10.100.0.11:2480";
|
|
apiAddr = "10.100.0.11:2479";
|
|
initialPeers = [
|
|
"node01=10.100.0.11:2479"
|
|
"node02=10.100.0.12:2479"
|
|
"node03=10.100.0.13:2479"
|
|
];
|
|
settings.namespace_modes = {
|
|
default = "strong";
|
|
validation = "eventual";
|
|
plasmavmc = "strong";
|
|
lightningstor = "eventual";
|
|
creditservice = "strong";
|
|
};
|
|
};
|
|
|
|
services.iam = {
|
|
enable = true;
|
|
port = 50080;
|
|
chainfireAddr = "10.100.0.11:2379";
|
|
flaredbAddr = "10.100.0.11:2479";
|
|
};
|
|
|
|
services.plasmavmc = {
|
|
enable = true;
|
|
mode = "server";
|
|
port = 50082;
|
|
httpPort = 8084;
|
|
iamAddr = "10.100.0.11:50080";
|
|
chainfireAddr = "10.100.0.11:2379";
|
|
flaredbAddr = "10.100.0.11:2479";
|
|
lightningstorAddr = "10.100.0.11:50086";
|
|
coronafsEndpoint = "http://10.100.0.11:50088";
|
|
};
|
|
|
|
services.coronafs = {
|
|
enable = true;
|
|
port = 50088;
|
|
advertiseHost = "10.100.0.11";
|
|
exportBasePort = 11000;
|
|
exportPortCount = 256;
|
|
exportSharedClients = 32;
|
|
exportCacheMode = "none";
|
|
exportAioMode = "io_uring";
|
|
exportDiscardMode = "ignore";
|
|
exportDetectZeroesMode = "off";
|
|
preallocate = true;
|
|
syncOnWrite = false;
|
|
};
|
|
|
|
services.lightningstor = {
|
|
enable = true;
|
|
mode = "all-in-one";
|
|
port = 50086;
|
|
nodePort = 50090;
|
|
s3Port = 9000;
|
|
objectStorageBackend = "distributed";
|
|
distributedRequestTimeoutMs = 300000;
|
|
distributedNodeEndpoints = [
|
|
"http://10.100.0.21:50086"
|
|
"http://10.100.0.22:50086"
|
|
];
|
|
replicaCount = 3;
|
|
readQuorum = 1;
|
|
writeQuorum = 2;
|
|
nodeMetricsPort = 9198;
|
|
chainfireAddr = "10.100.0.11:2379";
|
|
iamAddr = "10.100.0.11:50080";
|
|
flaredbAddr = "10.100.0.11:2479";
|
|
zone = "zone-a";
|
|
region = "test";
|
|
};
|
|
|
|
systemd.services.iam.environment = {
|
|
IAM_ALLOW_RANDOM_SIGNING_KEY = "1";
|
|
};
|
|
|
|
systemd.services.lightningstor.environment = {
|
|
S3_ACCESS_KEY_ID = "photoncloud-test";
|
|
S3_SECRET_KEY = "photoncloud-test-secret";
|
|
};
|
|
}
|