Add fs0 cluster to new deployment infra

This commit is contained in:
Jonas Juselius
2019-02-23 16:11:21 +01:00
parent 20e584d767
commit 7b59038e50
4 changed files with 32 additions and 14 deletions

2
fs0/build.nix Normal file
View File

@@ -0,0 +1,2 @@
with import <nixpkgs> {};
pkgs.callPackage ./certs.nix {}

11
fs0/certs.nix Normal file
View 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
View 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 ];
};
}