Add fs0 cluster to new deployment infra
This commit is contained in:
2
fs0/build.nix
Normal file
2
fs0/build.nix
Normal file
@@ -0,0 +1,2 @@
|
||||
with import <nixpkgs> {};
|
||||
pkgs.callPackage ./certs.nix {}
|
||||
11
fs0/certs.nix
Normal file
11
fs0/certs.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ pkgs, ...}:
|
||||
let
|
||||
pki = pkgs.callPackage ../lib/pki.nix {};
|
||||
in
|
||||
{
|
||||
initca = pki.initca;
|
||||
ca = pki.ca;
|
||||
fs0-0 = pki.trust "fs0-0" ''"10.253.18.106", "127.0.0.1"'';
|
||||
fs0-1 = pki.trust "fs0-1" ''"10.1.2.164", "127.0.0.1"'';
|
||||
}
|
||||
|
||||
68
fs0/deployment.nix
Normal file
68
fs0/deployment.nix
Normal file
@@ -0,0 +1,68 @@
|
||||
with import <nixpkgs> {};
|
||||
let
|
||||
pki = pkgs.callPackage ../lib/pki.nix {};
|
||||
certs = pkgs.callPackage ./certs.nix {};
|
||||
clusterHosts = ''
|
||||
10.253.18.106 fs0-0 fs0-0.local
|
||||
10.1.2.164 fs0-1 fs0-1.local
|
||||
10.253.18.100 fs0-2 fs0-2.local
|
||||
'';
|
||||
|
||||
nixosConfig = node:
|
||||
let
|
||||
cert = pki.toSet certs.${node};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(../nixos/hardware-configuration + "/${node}.nix")
|
||||
../nixos/configuration.nix
|
||||
];
|
||||
boot.kernelModules = [
|
||||
"dm_snapshot"
|
||||
"dm_mirror"
|
||||
"dm_thin_pool"
|
||||
];
|
||||
networking = {
|
||||
hostName = node;
|
||||
extraHosts = clusterHosts;
|
||||
firewall.allowedTCPPortRanges = [ { from = 5000; to = 50000; } ];
|
||||
firewall.allowedTCPPorts = [ 111 ];
|
||||
firewall.allowedUDPPorts = [ 111 24007 24008 ];
|
||||
};
|
||||
services.glusterfs = {
|
||||
enable = true;
|
||||
tlsSettings = {
|
||||
caCert = pki.ca.cert;
|
||||
tlsKeyPath = cert.key;
|
||||
tlsPem = cert.cert;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = [ pkgs.lvm2 ];
|
||||
};
|
||||
in
|
||||
{
|
||||
fs0-0 = { ... }:
|
||||
let
|
||||
base = nixosConfig "fs0-0";
|
||||
in
|
||||
{
|
||||
deployment.targetHost = "10.253.18.106";
|
||||
require = [ base ];
|
||||
services.nfs.server = {
|
||||
enable=true;
|
||||
exports= ''
|
||||
/vol/brick0/nfs0 10.253.18.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0,no_root_squash)
|
||||
'';
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 111 2049 ];
|
||||
networking.firewall.allowedUDPPorts = [ 111 2049 ];
|
||||
};
|
||||
fs0-1 = { ... }:
|
||||
let
|
||||
base = nixosConfig "fs0-1";
|
||||
in
|
||||
{
|
||||
deployment.targetHost = "10.1.2.164";
|
||||
require = [ base ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user