configure cluster
This commit is contained in:
164
flake.nix
164
flake.nix
@@ -6,100 +6,82 @@
|
||||
disko.url = "github:nix-community/disko";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, disko }: {
|
||||
nixosConfigurations.lin-va-llama1 = nixpkgs.lib.nixosSystem {
|
||||
# LLaMA C++ Server
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
./hosts/llama-server.nix
|
||||
{
|
||||
networking.hostName = "lin-va-llama1";
|
||||
disko.devices.disk.main.device = "/dev/sda";
|
||||
k8s.diskPoolID = "/dev/disk/by-id/unknown";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# K3s Server
|
||||
nixosConfigurations.lin-va-k3s1 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
./hosts/k3s.nix
|
||||
{
|
||||
networking.hostName = "lin-va-k3s1";
|
||||
disko.devices.disk.main.device = "/dev/sda";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# RKE2 Primary Server
|
||||
nixosConfigurations.lin-va-rke1 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
./hosts/rke2.nix
|
||||
{
|
||||
networking.hostName = "lin-va-rke1";
|
||||
|
||||
# Partitions
|
||||
disko.devices.disk.main.device = "/dev/disk/by-id/ata-VBOX_HARDDISK_VB0af7d668-04b70404";
|
||||
k8s.diskPoolID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBcd9425b8-d666f9b8";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# RKE2 Second Server
|
||||
nixosConfigurations.lin-va-rke2 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
./hosts/rke2.nix
|
||||
{
|
||||
networking.hostName = "lin-va-rke2";
|
||||
|
||||
# Partitions
|
||||
disko.devices.disk.main.device = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBf55aaccc-688cfd0d";
|
||||
k8s.diskPoolID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBfd391256-6e368424";
|
||||
|
||||
# Set RKE2 Join
|
||||
services.rke2.serverAddr = "https://10.0.20.147:9345";
|
||||
services.rke2.tokenFile = "/etc/rancher/rke2/node-token";
|
||||
environment.etc."rancher/rke2/node-token" = {
|
||||
source = ./k8s/rke2-token;
|
||||
mode = "0600";
|
||||
user = "root";
|
||||
group = "root";
|
||||
outputs = { self, nixpkgs, disko }:
|
||||
let
|
||||
mkSystem = { systemConfig, moduleConfig }: nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
./lib/disk-config.nix
|
||||
./lib/common-system.nix
|
||||
systemConfig
|
||||
({ ... }: moduleConfig)
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
# LLaMA C++ Server
|
||||
lin-va-llama1 = mkSystem {
|
||||
systemConfig = ./hosts/llama-server.nix;
|
||||
moduleConfig = {
|
||||
hostName = "lin-va-llama1";
|
||||
mainDiskID = "/dev/disk/by-id/ata-MTFDDAK512MBF-1AN1ZABHA_161212233628";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# RKE2 Third Server
|
||||
nixosConfigurations.lin-va-rke3 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
./hosts/rke2.nix
|
||||
{
|
||||
networking.hostName = "lin-va-rke3";
|
||||
# RKE2 Primary Server
|
||||
lin-va-rke1 = mkSystem {
|
||||
systemConfig = ./hosts/rke2.nix;
|
||||
moduleConfig = {
|
||||
hostName = "lin-va-rke1";
|
||||
mainDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VB0af7d668-04b70404";
|
||||
dataDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBcd9425b8-d666f9b8";
|
||||
|
||||
# Partitions
|
||||
disko.devices.disk.main.device = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBe9edacd5-ac4ed4fa";
|
||||
k8s.diskPoolID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBa1fc46d0-19380495";
|
||||
|
||||
# Set RKE2 Join
|
||||
services.rke2.serverAddr = "https://10.0.20.147:9345";
|
||||
services.rke2.tokenFile = "/etc/rancher/rke2/node-token";
|
||||
environment.etc."rancher/rke2/node-token" = {
|
||||
source = ./k8s/rke2-token;
|
||||
mode = "0600";
|
||||
user = "root";
|
||||
group = "root";
|
||||
networkConfig = {
|
||||
interface = "enp0s3";
|
||||
address = "10.0.20.201";
|
||||
defaultGateway = "10.0.20.254";
|
||||
nameservers = [ "10.0.20.254" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# RKE2 Second Server
|
||||
lin-va-rke2 = mkSystem {
|
||||
systemConfig = ./hosts/rke2.nix;
|
||||
moduleConfig = {
|
||||
hostName = "lin-va-rke2";
|
||||
mainDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBf55aaccc-688cfd0d";
|
||||
dataDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBfd391256-6e368424";
|
||||
serverAddr = "https://10.0.20.201:9345";
|
||||
|
||||
networkConfig = {
|
||||
interface = "enp0s3";
|
||||
address = "10.0.20.202";
|
||||
defaultGateway = "10.0.20.254";
|
||||
nameservers = [ "10.0.20.254" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# RKE2 Third Server
|
||||
lin-va-rke3 = mkSystem {
|
||||
systemConfig = ./hosts/rke2.nix;
|
||||
moduleConfig = {
|
||||
hostName = "lin-va-rke3";
|
||||
mainDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBe9edacd5-ac4ed4fa";
|
||||
dataDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBa1fc46d0-19380495";
|
||||
serverAddr = "https://10.0.20.201:9345";
|
||||
|
||||
networkConfig = {
|
||||
interface = "enp0s3";
|
||||
address = "10.0.20.203";
|
||||
defaultGateway = "10.0.20.254";
|
||||
nameservers = [ "10.0.20.254" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user