diff options
| author | Miguel <m.i@gmx.at> | 2022-04-15 17:00:02 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2022-04-15 17:00:02 +0200 |
| commit | 0b37a18abad566242221ef71d17a75539037406b (patch) | |
| tree | d61cfd3352b5288268074ddfa5acc9ba24c4906e /nix/nixops/garbage.nix | |
| parent | f40dcbf0b7289c63e26756b2f6d747120d303b6f (diff) | |
nixops - cleaning comet
Diffstat (limited to 'nix/nixops/garbage.nix')
| -rw-r--r-- | nix/nixops/garbage.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/nix/nixops/garbage.nix b/nix/nixops/garbage.nix new file mode 100644 index 0000000..b588594 --- /dev/null +++ b/nix/nixops/garbage.nix @@ -0,0 +1,58 @@ + + # compare with nginx etc and consider publishing this shit (along instructions how to run with mariadb+icingaweb2 admin..) + environment.etc = with pkgs; + let defaultIcinga2Const = builtins.readFile "${icinga2}/etc/icinga2/constants.conf"; + in + { + "icinga2/features-available".source="${icinga2}/etc/icinga2/features-available"; + "icinga2/scripts".source="${icinga2}/etc/icinga2/scripts"; + "icinga2/zones.d".source="${icinga2}/etc/icinga2/zones.d"; + "icinga2/conf.d".source="${icinga2}/etc/icinga2/conf.d"; + "icinga2/constants.conf".text=builtins.replaceStrings ["bin"] ["${monitoring-plugins}/bin"] defaultIcinga2Const; + "icinga2/icinga2.conf".source="${icinga2}/etc/icinga2/icinga2.conf"; + "icinga2/zones.conf".source="${icinga2}/etc/icinga2/zones.conf"; + "icinga2/features-enabled/checker.conf".source="${icinga2}/etc/icinga2/features-available/checker.conf"; + "icinga2/features-enabled/mainlog.conf".source="${icinga2}/etc/icinga2/features-available/mainlog.conf"; + "icinga2/features-enabled/notification.conf".source="${icinga2}/etc/icinga2/features-available/notification.conf"; + "icinga2/features-enabled/ido-mysql.conf".text='' object IdoMysqlConnection "ido-mysql" { user = "icinga", password = "8fg$1%X58G4geX", host = "comet.softwarefools.com", database = "ICINGA_IDO" } ''; + }; + + systemd.services.icinga2 = { + enable = true; + description = "Icinga host/service/network monitoring system"; + #After=postgresql.service mariadb.service carbon-cache.service mysql.service yslog.target + + serviceConfig = with pkgs; { + Type="simple"; + User="icinga2"; + Group="icinga2"; + UMask=0007; #what is this good for? + ExecStart="${icinga2}/bin/icinga2 daemon -c /etc/icinga2/icinga2.conf"; + ExecReload="${icinga2}/lib/icinga2/safe-reload /usr/lib/icinga2/icinga2"; + PIDFile="/run/icinga2/icinga2.pid"; + RuntimeDirectory="icinga2"; + CacheDirectory="icinga2"; + LogsDirectory="icinga2"; + StateDirectory="icinga2"; + }; + + wantedBy=[ "multi-user.target" ]; + }; + + users.groups.icinga2 = {}; + users.users.icinga2 = { + isSystemUser = true; + extraGroups = ["icinga2"]; + group = "icinga2"; + }; + + # ICINGAWEB2 + services.icingaweb2.enable = true; + services.icingaweb2.modules.monitoring.enable = false; + services.icingaweb2.virtualHost = "icinga.softwarefools.com"; + services.nginx.virtualHosts."icinga.softwarefools.com" = { + forceSSL = true; + enableACME = true; + }; + + |
