2023-11-20 16:10:09 +00:00
|
|
|
/*
|
|
|
|
|
|
|
|
Name: https://en.wikipedia.org/wiki/Marvin_the_Paranoid_Android
|
|
|
|
Why: Has terrible pain in all the diodes down its left side
|
|
|
|
Type: VM
|
|
|
|
Hardware: -
|
|
|
|
From: 2023
|
|
|
|
Role: For trainees.
|
|
|
|
Notes:
|
|
|
|
*/
|
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
nodes,
|
|
|
|
...
|
|
|
|
}: let
|
|
|
|
name = "marvin";
|
|
|
|
ip_pub = "193.1.99.81";
|
|
|
|
hostname = "${name}.skynet.ie";
|
2023-11-20 20:12:11 +00:00
|
|
|
|
|
|
|
groups = [
|
|
|
|
"skynet-admins-linux"
|
|
|
|
"skynet-trainees-linux"
|
|
|
|
];
|
|
|
|
groups_trusted = map (x: "@${x}") groups;
|
2023-11-20 16:10:09 +00:00
|
|
|
in {
|
|
|
|
imports = [
|
|
|
|
];
|
|
|
|
|
|
|
|
deployment = {
|
|
|
|
targetHost = hostname;
|
|
|
|
targetPort = 22;
|
|
|
|
targetUser = null;
|
|
|
|
|
|
|
|
# not deployed automatically as its a test server
|
|
|
|
tags = [];
|
|
|
|
};
|
|
|
|
|
|
|
|
# allow trainees to deploy
|
2023-11-20 20:12:11 +00:00
|
|
|
nix.settings.trusted-users =
|
|
|
|
[
|
|
|
|
"root"
|
|
|
|
]
|
|
|
|
++ groups_trusted;
|
2023-11-20 16:10:09 +00:00
|
|
|
|
|
|
|
# allow trainees access
|
2023-11-20 20:12:11 +00:00
|
|
|
services.skynet_ldap_client = {
|
|
|
|
groups = groups;
|
|
|
|
sudo_groups = groups;
|
|
|
|
};
|
2023-11-20 16:10:09 +00:00
|
|
|
|
|
|
|
skynet_dns.records = [
|
|
|
|
{
|
|
|
|
record = name;
|
|
|
|
r_type = "A";
|
|
|
|
value = ip_pub;
|
|
|
|
server = true;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
record = ip_pub;
|
|
|
|
r_type = "PTR";
|
|
|
|
value = hostname;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
services.skynet_backup = {
|
|
|
|
host = {
|
|
|
|
ip = ip_pub;
|
|
|
|
name = name;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Put test services below this
|
|
|
|
}
|