feat: simplified the config for running services, only one hosts config is required now in each server config file
This commit is contained in:
parent
f8c7860eb5
commit
379cb84839
34 changed files with 200 additions and 581 deletions
|
@ -18,6 +18,9 @@ in {
|
|||
# for the secrets
|
||||
inputs.agenix.nixosModules.default
|
||||
|
||||
# base config for all servers
|
||||
../applications/_base.nix
|
||||
|
||||
# every sever may need the firewall config stuff
|
||||
../applications/firewall.nix
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ Notes: Used to have Agent Smith as a partner but it died (Ironically)
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -35,22 +36,9 @@ in {
|
|||
tags = ["active-firewall"];
|
||||
};
|
||||
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
};
|
||||
|
||||
# keep the wired usb connection alive (front panel)
|
||||
|
|
|
@ -21,6 +21,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -35,27 +36,10 @@ in {
|
|||
tags = ["active"];
|
||||
};
|
||||
|
||||
services.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 = host;
|
||||
};
|
||||
|
||||
services.skynet.nextcloud = {
|
||||
enable = true;
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
nextcloud.enable = true;
|
||||
};
|
||||
|
||||
# this was causing a conflict for some reason
|
||||
|
|
|
@ -22,6 +22,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -38,24 +39,11 @@ in {
|
|||
tags = ["active"];
|
||||
};
|
||||
|
||||
# it has two network devices so two
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet = {
|
||||
nix-cache.host = host;
|
||||
open-governance.host = host;
|
||||
keyserver.host = host;
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
nix-cache.enable = true;
|
||||
open-governance.enable = true;
|
||||
keyserver.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -35,26 +36,9 @@ in {
|
|||
tags = ["active-core"];
|
||||
};
|
||||
|
||||
# it has two network devices so two
|
||||
services.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 = host;
|
||||
};
|
||||
|
||||
services.skynet.website = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
website.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -36,26 +37,9 @@ in {
|
|||
tags = ["active"];
|
||||
};
|
||||
|
||||
services.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 = host;
|
||||
};
|
||||
|
||||
services.skynet.ulfm = {
|
||||
enable = true;
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
ulfm.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -35,29 +36,9 @@ in {
|
|||
tags = ["active-core"];
|
||||
};
|
||||
|
||||
# add this server to dns
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
};
|
||||
|
||||
# we use this to pass in teh relevent infomation to the
|
||||
services.skynet.email = {
|
||||
enable = true;
|
||||
host = host;
|
||||
domain = "skynet.ie";
|
||||
backup.enable = true;
|
||||
email.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ Notes: Each user has roughly 20gb os storage
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -36,26 +37,9 @@ in {
|
|||
tags = ["active-gitlab"];
|
||||
};
|
||||
|
||||
services.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 = host;
|
||||
};
|
||||
|
||||
services.skynet.gitlab = {
|
||||
enable = true;
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
gitlab.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,10 +22,12 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
../applications/ldap/server.nix
|
||||
../applications/ldap/backend.nix
|
||||
../applications/discord.nix
|
||||
../applications/bitwarden/vaultwarden.nix
|
||||
../applications/bitwarden/bitwarden_sync.nix
|
||||
|
@ -41,49 +43,20 @@ in {
|
|||
tags = ["active-core"];
|
||||
};
|
||||
|
||||
# add this server to dns
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
};
|
||||
backup.enable = true;
|
||||
|
||||
services.skynet.ldap = {
|
||||
enable = true;
|
||||
host = host;
|
||||
};
|
||||
# ldap setup
|
||||
ldap.enable = true;
|
||||
ldap_backend.enable = true;
|
||||
|
||||
services.skynet.discord_bot = {
|
||||
enable = true;
|
||||
};
|
||||
# private member services
|
||||
discord_bot.enable = true;
|
||||
|
||||
services.skynet.vaultwarden = {
|
||||
enable = true;
|
||||
|
||||
host = host;
|
||||
};
|
||||
services.skynet.prometheus = {
|
||||
server = {
|
||||
enable = true;
|
||||
host = host;
|
||||
};
|
||||
};
|
||||
|
||||
services.skynet.grafana = {
|
||||
enable = true;
|
||||
|
||||
host = host;
|
||||
# committee/admin services
|
||||
vaultwarden.enable = true;
|
||||
prometheus.server.enable = true;
|
||||
grafana.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
|
||||
groups = [
|
||||
|
@ -53,23 +54,8 @@ in {
|
|||
sudo_groups = groups;
|
||||
};
|
||||
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
};
|
||||
|
||||
# Put test services below this
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -48,22 +49,8 @@ in {
|
|||
tags = ["active-core"];
|
||||
};
|
||||
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet.backup = {
|
||||
server.enable = true;
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.server.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -36,26 +37,9 @@ in {
|
|||
tags = ["active"];
|
||||
};
|
||||
|
||||
services.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 = host;
|
||||
};
|
||||
|
||||
services.skynet.games = {
|
||||
enable = true;
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
games.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ Notes: Does not host offical sites
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -39,23 +40,9 @@ in {
|
|||
tags = ["active-ext"];
|
||||
};
|
||||
|
||||
services.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 = host;
|
||||
|
||||
services.skynet.website_users = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
backup.enable = true;
|
||||
website_users.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ Notes: Using the server that used to be called Earth
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -49,32 +50,16 @@ in {
|
|||
];
|
||||
};
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
};
|
||||
|
||||
services.skynet.dns = {
|
||||
server = {
|
||||
enable = true;
|
||||
# primary dns server (ns1)
|
||||
primary = true;
|
||||
ip = ip_pub;
|
||||
backup.enable = true;
|
||||
dns = {
|
||||
server = {
|
||||
enable = true;
|
||||
# primary dns server (ns1)
|
||||
primary = true;
|
||||
ip = ip_pub;
|
||||
};
|
||||
};
|
||||
|
||||
records = [
|
||||
# vendetta IN A 193.1.99.120
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
# 120 IN PTR vendetta.skynet.ie.
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -33,33 +34,16 @@ in {
|
|||
tags = ["active-dns" "dns"];
|
||||
};
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
};
|
||||
|
||||
services.skynet.dns = {
|
||||
server = {
|
||||
enable = true;
|
||||
# secondary dns server (ns2)
|
||||
primary = false;
|
||||
ip = ip_pub;
|
||||
backup.enable = true;
|
||||
dns = {
|
||||
server = {
|
||||
enable = true;
|
||||
# secondary dns server (ns2)
|
||||
primary = false;
|
||||
ip = ip_pub;
|
||||
};
|
||||
};
|
||||
|
||||
# this server will have to have dns records
|
||||
records = [
|
||||
# vigil IN A 193.1.99.109
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
# 109 IN PTR vigil.skynet.ie.
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ Notes:
|
|||
host = {
|
||||
ip = ip_pub;
|
||||
name = name;
|
||||
hostname = hostname;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
|
@ -35,26 +36,13 @@ in {
|
|||
tags = ["active-gitlab"];
|
||||
};
|
||||
|
||||
services.skynet.dns.records = [
|
||||
{
|
||||
record = name;
|
||||
r_type = "A";
|
||||
value = ip_pub;
|
||||
server = true;
|
||||
}
|
||||
{
|
||||
record = ip_pub;
|
||||
r_type = "PTR";
|
||||
value = hostname;
|
||||
}
|
||||
];
|
||||
|
||||
services.skynet.backup = {
|
||||
services.skynet = {
|
||||
host = host;
|
||||
};
|
||||
backup.enable = true;
|
||||
|
||||
services.skynet.gitlab_runner = {
|
||||
enable = true;
|
||||
runner.name = "runner01";
|
||||
gitlab_runner = {
|
||||
enable = true;
|
||||
runner.name = "runner01";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue