Files
platform/clusters/psql2/default.nix
2021-10-06 11:01:47 +02:00

93 lines
3.6 KiB
Nix

let
# Pin the deployment package-set to a specific version of nixpkgs
# pkgs = import (builtins.fetchTarball {
# url = "https://github.com/NixOS/nixpkgs/archive/e9148dc1c30e02aae80cc52f68ceb37b772066f3.tar.gz";
# sha256 = "1ckzhh24mgz6jd1xhfgx0i9mijk6xjqxwsshnvq789xsavrmsc36";
# }) {};
pkgs = import <nixpkgs> {};
name = "psql2-0";
address = "10.1.8.80";
in {
psql2-0 = { config, pkgs, ... }: with pkgs; {
deployment.tags = [ "db" ];
deployment.targetHost = address;
system.autoUpgrade.enable = lib.mkForce false;
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
i18n = {
defaultLocale = "en_DK.UTF-8";
extraLocaleSettings = {
LC_TIME = "en_DK.UTF-8";
};
};
time.timeZone = "Europe/Oslo";
features = {
os = {
externalInterface = "eth0";
adminAuthorizedKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
];
};
};
networking = {
hostName = name;
domain = "itpartner.intern";
defaultGateway = "10.1.8.1";
nameservers = [ "8.8.8.8" ];
search = [ "itpartner.intern" "itpartner.no" ];
extraHosts = import ../hosts.nix;
interfaces.eth0 = {
useDHCP = false;
ipv4.addresses = [ {
address = address;
prefixLength = 24;
} ];
};
firewall.allowedTCPPorts = [ 5432 ];
};
services.prometheus.exporters = {
node = {
enable = true;
openFirewall = true;
};
};
services.postgresql = {
enable = true;
dataDir = "/data/postgresql";
enableTCPIP = true;
identMap = ''
nixos root postgres
nixos admin postgres
'';
authentication = pkgs.lib.mkOverride 11 ''
local all all trust
host all all ::1/128 trust
host all all ::1/128 md5
host all postgres 127.0.0.1/32 md5
host all postgres ::1/128 md5
host all postgres 10.1.8.0/24 md5
host all postgres 10.1.30.0/24 md5
'';
};
imports = [ ../../nixos ./psql2-0.nix ];
};
}