nixos: Add actual IP / CIDR calculation

This commit is contained in:
2023-05-27 16:57:28 +01:00
parent 1fa718c20a
commit 75fc5ae163
14 changed files with 1458 additions and 105 deletions

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.chatterbox = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -6,11 +11,11 @@
assignments = {
internal = {
name = "chatterbox-ctr";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}5";
inherit domain;
ipv4.address = net.cidr.host 5 prefixes.ctrs.v4;
ipv6 = {
iid = "::5";
address = "${lib.my.colony.start.ctrs.v6}5";
address = net.cidr.host 5 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.colony-psql = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -7,11 +12,11 @@
internal = {
name = "colony-psql-ctr";
altNames = [ "colony-psql" ];
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}4";
inherit domain;
ipv4.address = net.cidr.host 4 prefixes.ctrs.v4;
ipv6 = {
iid = "::4";
address = "${lib.my.colony.start.ctrs.v6}4";
address = net.cidr.host 4 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.jackflix = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -6,11 +11,11 @@
assignments = {
internal = {
name = "jackflix-ctr";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}6";
inherit domain;
ipv4.address = net.cidr.host 6 prefixes.ctrs.v4;
ipv6 = {
iid = "::6";
address = "${lib.my.colony.start.ctrs.v6}6";
address = net.cidr.host 6 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.middleman = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -6,11 +11,11 @@
assignments = {
internal = {
name = "middleman-ctr";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}2";
inherit domain;
ipv4.address = net.cidr.host 2 prefixes.ctrs.v4;
ipv6 = {
iid = "::2";
address = "${lib.my.colony.start.ctrs.v6}2";
address = net.cidr.host 2 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.object = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -6,11 +11,11 @@
assignments = {
internal = {
name = "object-ctr";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}7";
inherit domain;
ipv4.address = net.cidr.host 7 prefixes.ctrs.v4;
ipv6 = {
iid = "::7";
address = "${lib.my.colony.start.ctrs.v6}7";
address = net.cidr.host 7 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.toot = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -6,11 +11,11 @@
assignments = {
internal = {
name = "toot-ctr";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}8";
inherit domain;
ipv4.address = net.cidr.host 8 prefixes.ctrs.v4;
ipv6 = {
iid = "::8";
address = "${lib.my.colony.start.ctrs.v6}8";
address = net.cidr.host 8 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
nixos.systems.vaultwarden = {
system = "x86_64-linux";
nixpkgs = "mine";
@@ -6,11 +11,11 @@
assignments = {
internal = {
name = "vaultwarden-ctr";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.ctrs.v4}3";
inherit domain;
ipv4.address = net.cidr.host 3 prefixes.ctrs.v4;
ipv6 = {
iid = "::3";
address = "${lib.my.colony.start.ctrs.v6}3";
address = net.cidr.host 3 prefixes.ctrs.v6;
};
};
};

View File

@@ -1,4 +1,9 @@
{ lib, ... }: {
{ lib, ... }:
let
inherit (lib.my) net;
inherit (lib.my.colony) domain prefixes;
in
{
imports = [ ./containers ];
nixos.systems.shill = {
@@ -8,32 +13,32 @@
assignments = {
routing = {
name = "shill-vm-routing";
domain = lib.my.colony.domain;
ipv4.address = "${lib.my.colony.start.vms.v4}2";
inherit domain;
ipv4.address = net.cidr.host 2 prefixes.vms.v4;
};
internal = {
name = "shill-vm";
altNames = [ "ctr" ];
domain = lib.my.colony.domain;
inherit domain;
ipv4 = {
address = "${lib.my.colony.start.vip1}5";
address = net.cidr.host 1 prefixes.vip1;
mask = 32;
gateway = null;
genPTR = false;
};
ipv6 = {
iid = "::2";
address = "${lib.my.colony.start.vms.v6}2";
address = net.cidr.host 2 prefixes.vms.v6;
};
};
ctrs = {
name = "shill-vm-ctrs";
domain = lib.my.colony.domain;
inherit domain;
ipv4 = {
address = "${lib.my.colony.start.ctrs.v4}1";
address = net.cidr.host 1 prefixes.ctrs.v4;
gateway = null;
};
ipv6.address = "${lib.my.colony.start.ctrs.v6}1";
ipv6.address = net.cidr.host 1 prefixes.ctrs.v6;
};
};