feat(website): created vm
This commit is contained in:
parent
7f5761a250
commit
01f804a517
6 changed files with 164 additions and 2 deletions
|
@ -39,11 +39,11 @@ with lib;
|
||||||
{
|
{
|
||||||
kat = {
|
kat = {
|
||||||
anywhere = pkgs.writeShellApplication {
|
anywhere = pkgs.writeShellApplication {
|
||||||
name = "anywhere-deploy_${name}.sh";
|
name = "anywhere-deploy_${config.networking.hostName}.sh";
|
||||||
runtimeInputs = [ pkgs.nixos-anywhere ];
|
runtimeInputs = [ pkgs.nixos-anywhere ];
|
||||||
# --kexec ${nodes.kat-kexec.config.system.build.kexecTarball}/${nodes.kat-kexec.config.system.kexec-installer.name}-${pkgs.stdenv.hostPlatform.system}.tar.gz
|
# --kexec ${nodes.kat-kexec.config.system.build.kexecTarball}/${nodes.kat-kexec.config.system.kexec-installer.name}-${pkgs.stdenv.hostPlatform.system}.tar.gz
|
||||||
text = ''
|
text = ''
|
||||||
nixos-anywhere --store-paths ${config.system.build.diskoScriptNoDeps} ${config.system.build.toplevel} ${config.deployment.targetHost}
|
nixos-anywhere --no-substitute-on-destination --store-paths ${config.system.build.diskoScriptNoDeps} ${config.system.build.toplevel} ${config.deployment.targetHost}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
redirects = [
|
redirects = [
|
||||||
"kat-orchid"
|
"kat-orchid"
|
||||||
"kat-son"
|
"kat-son"
|
||||||
|
"kat-www"
|
||||||
"kat-virt"
|
"kat-virt"
|
||||||
"kat-mail-test"
|
"kat-mail-test"
|
||||||
];
|
];
|
||||||
|
|
95
machines/kat-www/default.nix
Normal file
95
machines/kat-www/default.nix
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
deployment = {
|
||||||
|
targetHost = "www.kat";
|
||||||
|
tags = [ "kat-vms" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./disks.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
kernelParams = [ "console=ttyS0" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kat = {
|
||||||
|
fqdn = "website.katvayor.net";
|
||||||
|
proxies = {
|
||||||
|
aliases = [
|
||||||
|
"www.katvayor.net"
|
||||||
|
"katvayor.net"
|
||||||
|
];
|
||||||
|
ip = "192.168.122.7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.network.enable = lib.mkForce false;
|
||||||
|
networking = {
|
||||||
|
useNetworkd = lib.mkForce false;
|
||||||
|
interfaces."enp1s0" = {
|
||||||
|
useDHCP = false;
|
||||||
|
ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "192.168.122.7";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv6.addresses = [
|
||||||
|
{
|
||||||
|
address = "fe80::7";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
defaultGateway = "192.168.122.1";
|
||||||
|
defaultGateway6 = {
|
||||||
|
address = "fe80::1";
|
||||||
|
interface = "enp1s0";
|
||||||
|
};
|
||||||
|
nameservers = [
|
||||||
|
"192.168.122.1"
|
||||||
|
"fe80::1%enp1s0"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
security.acme = {
|
||||||
|
acceptTerms = true;
|
||||||
|
defaults.email = "root@katvayor.net";
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
openssh.enable = true;
|
||||||
|
qemuGuest.enable = true;
|
||||||
|
nginx = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts = {
|
||||||
|
"website.katvayor.net" = {
|
||||||
|
serverAliases = [
|
||||||
|
"www.katvayor.net"
|
||||||
|
"katvayor.net"
|
||||||
|
];
|
||||||
|
enableACME = true;
|
||||||
|
addSSL = true;
|
||||||
|
locations."/" = {
|
||||||
|
alias = "/var/lib/www/";
|
||||||
|
index = "index.html";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
}
|
36
machines/kat-www/disks.nix
Normal file
36
machines/kat-www/disks.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
vda = {
|
||||||
|
device = "/dev/vda";
|
||||||
|
type = "disk";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
type = "EF00";
|
||||||
|
size = "100M";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
root = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "bcachefs";
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [
|
||||||
|
"fsck"
|
||||||
|
"fix_errors"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
25
machines/kat-www/hardware-configuration.nix
Normal file
25
machines/kat-www/hardware-configuration.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ahci"
|
||||||
|
"xhci_pci"
|
||||||
|
"virtio_pci"
|
||||||
|
"sr_mod"
|
||||||
|
"virtio_blk"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
|
@ -39,6 +39,11 @@
|
||||||
hostname = "fe80::6%%virbr0";
|
hostname = "fe80::6%%virbr0";
|
||||||
proxyJump = "manah.kat";
|
proxyJump = "manah.kat";
|
||||||
};
|
};
|
||||||
|
"www.kat" = {
|
||||||
|
user = "root";
|
||||||
|
hostname = "fe80::7%%virbr0";
|
||||||
|
proxyJump = "manah.kat";
|
||||||
|
};
|
||||||
|
|
||||||
"sas.ens" = {
|
"sas.ens" = {
|
||||||
user = "lbailly";
|
user = "lbailly";
|
||||||
|
|
Loading…
Reference in a new issue