summaryrefslogtreecommitdiffstats
path: root/lass/1systems
diff options
context:
space:
mode:
Diffstat (limited to 'lass/1systems')
-rw-r--r--lass/1systems/mors.nix197
-rw-r--r--lass/1systems/prism.nix59
2 files changed, 72 insertions, 184 deletions
diff --git a/lass/1systems/mors.nix b/lass/1systems/mors.nix
index dde867eb3..a5eaaed9d 100644
--- a/lass/1systems/mors.nix
+++ b/lass/1systems/mors.nix
@@ -31,13 +31,6 @@ with import <stockholm/lib>;
];
}
#{
- # services.mysql = {
- # enable = true;
- # package = pkgs.mariadb;
- # rootPassword = "<secrets>/mysql_rootPassword";
- # };
- #}
- #{
# services.elasticsearch = {
# enable = true;
# plugins = [
@@ -83,140 +76,56 @@ with import <stockholm/lib>;
{
services.redis.enable = true;
}
- {
- virtualisation.libvirtd.enable = true;
- }
- {
- services.nginx = {
- enable = mkDefault true;
- virtualHosts = {
- "stats.mors" = {
- locations = {
- "/" = {
- proxyPass = "http://localhost:3000/";
- extraConfig = ''
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- '';
- };
- };
- };
- };
- };
-
- services.grafana = {
- enable = true;
- addr = "127.0.0.1";
- users.allowSignUp = false;
- users.allowOrgCreate = false;
- users.autoAssignOrg = false;
- auth.anonymous.enable = true;
- security = import <secrets/grafana_security.nix>; # { AdminUser = ""; adminPassword = ""}
- };
-
- services.graphite = {
- api = {
- enable = true;
- listenAddress = "127.0.0.1";
- port = 18080;
- };
- carbon = {
- enableCache = true;
- # save disk usage by restricting to 1 bulk update per second
- config = ''
- [cache]
- MAX_CACHE_SIZE = inf
- MAX_UPDATES_PER_SECOND = 1
- MAX_CREATES_PER_MINUTE = 500
- '';
- storageSchemas = ''
- [carbon]
- pattern = ^carbon\.
- retentions = 60:90d
-
- [elchos]
- patterhn = ^elchos\.
- retentions = 10s:30d,60s:3y
-
- [default]
- pattern = .*
- retentions = 30s:30d,300s:1y
- '';
- };
- };
-
- services.collectd = {
- enable = true;
- include = [ (toString (pkgs.writeText "collectd-graphite-cfg" ''
- LoadPlugin write_graphite
- <Plugin "write_graphite">
- <Carbon>
- Host "localhost"
- Port "2003"
- EscapeCharacter "_"
- StoreRates false
- AlwaysAppendDS false
- </Carbon>
- </Plugin>
- ''))
- ];
- extraConfig = ''
- LoadPlugin interface
- LoadPlugin battery
- LoadPlugin load
- LoadPlugin cpu
- LoadPlugin entropy
- LoadPlugin write_graphite
- <Plugin "interface">
- Interface "et0"
- Interface "wl0"
- Interface "retiolum"
- </Plugin>
- '';
- };
- services.graphite.beacon = {
- enable = true;
- config = {
- graphite_url = "http://localhost:18080";
- cli = {
- command = ''${pkgs.irc-announce}/bin/irc-announce irc.freenode.org 6667 mors-beacon-alert \#krebs ' ''${level} ''${name} ''${value}' '';
- };
- smtp = {
- from = "beacon@mors.r";
- to = [
- "lass@mors.r"
- ];
- };
- normal_handlers = [
- "smtp"
- "cli"
- ];
- warning_handlers = [
- "smtp"
- "cli"
- ];
- critical_handlers = [
- "smtp"
- "cli"
- ];
- alerts = [
- {
- name = "testbattery";
- query = "*.battery-0.capacity";
- method = "last_value";
- interval = "1minute";
- logging = "info";
- repeat_interval = "5minute";
- rules = [
- "warning: < 30.0"
- "critical: < 10.0"
- ];
- }
- ];
- };
- };
- }
+ #{
+ # #gitit magic
+ # imports = [ <nixpkgs/nixos/modules/services/misc/gitit.nix> ];
+ # services.gitit = {
+ # enable = true;
+ # haskellPackages = pkgs.haskell.packages.ghc7103;
+ # };
+ #}
+ #{
+ # lass.icinga2 = {
+ # enable = true;
+ # configFiles = [
+ # ''
+ # template Service "generic-service" {
+ # max_check_attempts = 3
+ # check_interval = 5m
+ # retry_interval = 1m
+ # enable_perfdata = true
+ # }
+ # apply Service "ping4" {
+ # }
+ # ''
+ # ];
+ # };
+ # services.mysql = {
+ # enable = true;
+ # package = pkgs.mariadb;
+ # rootPassword = "<secrets>/mysql_rootPassword";
+ # };
+ # lass.icingaweb2 = {
+ # enable = true;
+ # initialRootPasswordHash = "$1$HpWDCehI$ITbAoyfOB6HEN1ftooxZq0";
+ # resources = {
+ # icinga2db = {
+ # type = "mysql";
+ # host = "localhost";
+ # user = "icingaweb2";
+ # db = "icinga";
+ # passfile = <secrets/icinga2-pw>;
+ # };
+ # icingaweb2db = {
+ # type = "mysql";
+ # host = "localhost";
+ # user = "icingaweb2";
+ # db = "icingaweb2";
+ # passfile = <secrets/icinga2-pw>;
+ # };
+ # };
+ # };
+ #}
];
krebs.build.host = config.krebs.hosts.mors;
@@ -229,7 +138,6 @@ with import <stockholm/lib>;
initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; } ];
initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ];
initrd.availableKernelModules = [ "xhci_hcd" "ehci_pci" "ahci" "usb_storage" ];
- #kernelModules = [ "kvm-intel" "msr" ];
};
fileSystems = {
"/" = {
@@ -266,11 +174,6 @@ with import <stockholm/lib>;
fsType = "ext4";
};
- "/mnt/public" = {
- device = "/dev/big/public";
- fsType = "ext4";
- };
-
"/mnt/conf" = {
device = "/dev/big/conf";
fsType = "ext4";
diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix
index d8980a10c..f9654ac4c 100644
--- a/lass/1systems/prism.nix
+++ b/lass/1systems/prism.nix
@@ -43,6 +43,17 @@ in {
../2configs/libvirt.nix
../2configs/hfos.nix
../2configs/makefu-sip.nix
+ ../2configs/monitoring/server.nix
+ {
+ imports = [
+ ../2configs/bepasty.nix
+ ];
+ krebs.bepasty.servers."paste.r".nginx.extraConfig = ''
+ if ( $server_addr = "${config.krebs.build.host.nets.internet.ip4.addr}" ) {
+ return 403;
+ }
+ '';
+ }
{
users.extraGroups = {
# ● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
@@ -203,20 +214,6 @@ in {
};
}
{
- services.nginx = {
- enable = true;
- virtualHosts.public = {
- port = 8088;
- locations."~ ^/~(.+?)(/.*)?\$".extraConfig = ''
- alias /home/$1/public_html$2;
- '';
- };
- };
- krebs.iptables.tables.filter.INPUT.rules = [
- { predicate = "-p tcp --dport 8088"; target = "ACCEPT"; }
- ];
- }
- {
krebs.repo-sync.timerConfig = {
OnCalendar = "*:0/5";
};
@@ -227,6 +224,7 @@ in {
};
}
{
+ # Nin stuff
users.users.nin = {
uid = genid "nin";
inherit (config.krebs.users.nin) home;
@@ -240,18 +238,6 @@ in {
"libvirtd"
];
};
- krebs.git.rules = [
- {
- user = [ config.krebs.users.nin ];
- repo = [ config.krebs.git.repos.stockholm ];
- perm = with git; push "refs/heads/nin" [ fast-forward non-fast-forward create delete merge ];
- }
- ];
- krebs.repo-sync.repos.stockholm.nin = {
- origin.url = "http://cgit.prism/stockholm";
- origin.ref = "heads/nin";
- mirror.url = "git@${config.networking.hostName}:stockholm";
- };
krebs.iptables.tables.nat.PREROUTING.rules = [
{ v6 = false; precedence = 1000; predicate = "-d 213.239.205.240 -p tcp --dport 1337"; target = "DNAT --to-destination 192.168.122.24:22"; }
];
@@ -272,7 +258,6 @@ in {
-XFlexibleInstances -XMultiParamTypeClasses \
-XOverloadedStrings -XFunctionalDependencies \'';
in [
- sed-plugin
url-title
(buildSimpleReaktorPlugin "lambdabot-pl" {
pattern = "^@pl (?P<args>.*)$$";
@@ -327,16 +312,16 @@ in {
script = pkgs.writePython2 "rup" ''
#!${pkgs.python2}/bin/python
t1 = """
- _.
- ;=',_ ()
- 8===D~~ S" .--`||
- sS \__ ||
- __.' ( \-->||
- _=/ _./-\/ ||
- 8===D~~ ((\( /-' -'l ||
- ) |/ \\ (_))
- \\ \\
- '~ '~
+ _.
+ ;=',_ ()
+ 8===D~~ S" .--`||
+ sS \__ ||
+ __.' ( \-->||
+ _=/ _./-\/ ||
+ 8===D~~ ((\( /-' -'l ||
+ ) |/ \\ (_))
+ \\ \\
+ '~ '~
"""
print(t1)
'';