/* 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, config, lib, nodes, ... }: let name = "marvin"; ip_pub = "193.1.99.81"; hostname = "${name}.skynet.ie"; groups = [ "skynet-admins-linux" "skynet-trainees-linux" ]; groups_trusted = map (x: "@${x}") groups; in { imports = [ ../applications/grafana.nix ../applications/prometheus.nix ]; deployment = { targetHost = hostname; targetPort = 22; targetUser = null; # not deployed automatically as its a test server tags = []; }; # allow trainees to deploy nix.settings.trusted-users = [ "root" ] ++ groups_trusted; # allow trainees access services.skynet_ldap_client = { groups = groups; sudo_groups = groups; }; services.skynet.prometheus.server = { host = { ip = ip_pub; name = name; }; port = 9001; servers = [ "agentjones" "cadie" "earth" "galatea" "gir" "glados" "kitt" "marvin" "neuromancer" "optimus" "skynet" "vendetta" "vigil" "wheatly" ]; }; services.skynet.grafana = { enable = true; host = { ip = ip_pub; name = name; }; # maybe just do provision config directly ? datasource = { name = "Prometheus"; url = "localhost:${toString config.services.prometheus.port}"; }; }; 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 }