Add deployment expr for morph

This commit is contained in:
Jonas Juselius
2021-07-01 12:33:23 +02:00
parent fdb25aa964
commit bb86049c9e

44
clusters/k0/k0.nix Normal file
View File

@@ -0,0 +1,44 @@
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 = "k0-0";
node.address = "10.1.8.50";
features.k8s.master.enable = true;
features.k8s.nodes = nodes;
imports = [ ./cluster.nix ./hw/k0-0.nix ];
};
nodes = [
{ name = "k0-1"; address = "10.1.8.51"; }
{ name = "k0-2"; address = "10.1.8.52"; }
];
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