Files
platform/clusters/k2/k2.nix
2021-07-01 12:36:49 +02:00

47 lines
1.2 KiB
Nix

let
# Pin the deployment package-set to a specific version of nixpkgs
# pkgs = import (builtins.fetchTarball {
# url = "https://github.com/NixOS/nixpkgs/archive/e9148dc1c30e02aae80cc52f68ceb37b772066f3.tar.gz";
# sha256 = "1ckzhh24mgz6jd1xhfgx0i9mijk6xjqxwsshnvq789xsavrmsc36";
# }) {};
pkgs = import <nixpkgs> {};
master = {
deployment.tags = [ "master" ];
node.name = "k2-0";
node.address = "10.1.8.60";
features.k8s.master.enable = true;
features.k8s.nodes = nodes;
imports = [ ./cluster.nix ./hw/k2-0.nix ];
};
nodes = [
{ name = "k2-1"; address = "10.1.8.61"; }
{ name = "k2-2"; address = "10.1.8.62"; }
{ name = "k2-3"; address = "10.1.8.63"; }
{ name = "k2-4"; address = "10.1.8.64"; }
];
mkNode = x: {
"${x.name}" = { config, pkgs, ... }: {
deployment.tags = [ "node" ];
node.name = x.name;
node.address = x.address;
imports = [ ./cluster.nix (./hw + "/${x.name}.nix") ];
};
};
in
{
network = {
inherit pkgs;
description = "k0";
ordering = {
tags = [ "master" "node" ];
};
};
} // builtins.foldl' (a: x: a // mkNode x) {
"${master.node.name}" = master;
} nodes