From ca2773840b6f93ea0c534e41bbddf5b15dc3f5d3 Mon Sep 17 00:00:00 2001 From: Jonas Juselius Date: Thu, 1 Jul 2021 12:36:49 +0200 Subject: [PATCH] Add deployment expr for morph for k1 and k2 --- clusters/k1/k1.nix | 45 +++++++++++++++++++++++++++++++++++++++++++++ clusters/k2/k2.nix | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 clusters/k1/k1.nix create mode 100644 clusters/k2/k2.nix diff --git a/clusters/k1/k1.nix b/clusters/k1/k1.nix new file mode 100644 index 0000000..2669562 --- /dev/null +++ b/clusters/k1/k1.nix @@ -0,0 +1,45 @@ +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 {}; + + master = { + deployment.tags = [ "master" ]; + node.name = "k1-0"; + node.address = "10.1.30.100"; + features.k8s.master.enable = true; + features.k8s.nodes = nodes; + imports = [ ./cluster.nix ./hw/k1-0.nix ]; + }; + + nodes = [ + { name = "k1-1"; address = "10.1.30.101"; } + { name = "k1-2"; address = "10.1.30.102"; } + { name = "k1-3"; address = "10.1.30.103"; } + ]; + + 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 + diff --git a/clusters/k2/k2.nix b/clusters/k2/k2.nix new file mode 100644 index 0000000..b975186 --- /dev/null +++ b/clusters/k2/k2.nix @@ -0,0 +1,46 @@ +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 {}; + + 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 +