2023-06-23 22:52:31 +00:00
|
|
|
/*
|
|
|
|
|
2023-09-17 19:51:08 +00:00
|
|
|
Name: https://williamgibson.fandom.com/wiki/Neuromancer_(AI)
|
|
|
|
Why: A sibling to Wintermute, stores and archives memories.
|
|
|
|
Type: VM
|
|
|
|
Hardware: -
|
|
|
|
From: 2023
|
|
|
|
Role: Backup Server
|
|
|
|
Notes:
|
2023-06-23 22:52:31 +00:00
|
|
|
*/
|
2023-09-17 19:51:08 +00:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
nodes,
|
|
|
|
...
|
|
|
|
}: let
|
2023-06-23 22:52:31 +00:00
|
|
|
# name of the server, sets teh hostname and record for it
|
2023-09-17 19:51:08 +00:00
|
|
|
name = "neuromancer";
|
|
|
|
ip_pub = "193.1.99.80";
|
|
|
|
hostname = "${name}.skynet.ie";
|
2023-06-23 22:52:31 +00:00
|
|
|
in {
|
|
|
|
imports = [
|
2023-07-04 21:26:47 +00:00
|
|
|
./hardware/RM007.nix
|
2023-06-23 22:52:31 +00:00
|
|
|
];
|
|
|
|
|
2023-07-04 21:26:47 +00:00
|
|
|
networking.hostName = name;
|
|
|
|
# this has to be defined for any physical servers
|
|
|
|
# vms are defined by teh vm host
|
2023-12-22 15:52:34 +00:00
|
|
|
networking = {
|
2023-12-22 18:19:27 +00:00
|
|
|
defaultGateway.interface = lib.mkForce "eno1";
|
2023-12-22 15:52:34 +00:00
|
|
|
interfaces.eno1.ipv4.addresses = [
|
|
|
|
{
|
|
|
|
address = ip_pub;
|
|
|
|
prefixLength = 26;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2023-07-04 21:26:47 +00:00
|
|
|
|
2023-06-23 22:52:31 +00:00
|
|
|
deployment = {
|
|
|
|
targetHost = hostname;
|
|
|
|
targetPort = 22;
|
2023-09-30 22:18:14 +00:00
|
|
|
targetUser = null;
|
2023-06-23 22:52:31 +00:00
|
|
|
|
2023-09-17 19:51:08 +00:00
|
|
|
tags = ["active-core"];
|
2023-06-23 22:52:31 +00:00
|
|
|
};
|
|
|
|
|
2023-07-16 00:53:21 +00:00
|
|
|
skynet_dns.records = [
|
2023-09-17 19:51:08 +00:00
|
|
|
{
|
|
|
|
record = name;
|
|
|
|
r_type = "A";
|
|
|
|
value = ip_pub;
|
|
|
|
server = true;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
record = ip_pub;
|
|
|
|
r_type = "PTR";
|
|
|
|
value = hostname;
|
|
|
|
}
|
2023-07-16 00:53:21 +00:00
|
|
|
];
|
2023-06-23 22:52:31 +00:00
|
|
|
|
|
|
|
services.skynet_backup = {
|
2023-07-15 14:05:57 +00:00
|
|
|
server.enable = true;
|
2023-06-23 22:52:31 +00:00
|
|
|
host = {
|
|
|
|
ip = ip_pub;
|
|
|
|
name = name;
|
|
|
|
};
|
|
|
|
};
|
2023-09-17 19:51:08 +00:00
|
|
|
}
|