Compare commits

..
2 Commits
Author SHA1 Message Date
ahtlon 51960e200e [initssh] document new option
Hydra callback / on_pr (pull_request) Successful in 1m7s
Hydra callback / on_push (pull_request) Skipped
Check flake syntax / flake-check (push) Successful in 9m12s
2026-10-16 20:51:12 +02:00
ahtlon db72f30b56 [initssh] set static ip 2026-10-16 20:47:58 +02:00
10 changed files with 30 additions and 35 deletions
+11 -1
View File
@@ -26,4 +26,14 @@ Run ` lspci -k | grep -iA4 ethernet `
` [ ] ` ` [ ] `
*Example:* *Example:*
`[ "r8169" ]` `[ "r8169" ]`
## cfg.ip
I hate DHCP! Set static ip or ip = hosts.malobeo.hosts.${hostname}.network.address;
*Default:*
`Null` - Will error when not set
*Example:*
`hosts.malobeo.hosts.fanny.network.address;`
Generated
+7 -7
View File
@@ -264,11 +264,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1792615934, "lastModified": 1788187754,
"narHash": "sha256-MlvRfa1O5Cqc2/a+gG+l9TSuowEoCKCmrJ1d9oAVm0I=", "narHash": "sha256-bu1QxmXKmPuvBLN7bHP355OV9Qo13x9WCiRDH62CqRM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "da6dc0e7b26060f2f71ce3ef7088fb56ee44fa36", "rev": "5dfba6236110080a54247d6460bc2ff5dda939cc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -568,11 +568,11 @@
"utils": "utils_4" "utils": "utils_4"
}, },
"locked": { "locked": {
"lastModified": 1792488750, "lastModified": 1789131197,
"narHash": "sha256-VLBpNctawQ+Yd03hkfhNPUqQVXNCc7bc6Qhu7mwJvKM=", "narHash": "sha256-gpjhy2mIBt89oCVzoSXy8AgfAKjJ9Fi3u01CX09UTF4=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "7a8b9d4f3522c68cd15b21a1ec093c8c441775bf", "rev": "38bcceb0e8b84d6dcd50d05683c71eea8d410479",
"revCount": 162, "revCount": 161,
"type": "git", "type": "git",
"url": "https://git.dynamicdiscord.de/kalipso/zineshop" "url": "https://git.dynamicdiscord.de/kalipso/zineshop"
}, },
+1
View File
@@ -72,6 +72,7 @@ in
enable = true; enable = true;
authorizedKeys = sshKeys.admins; authorizedKeys = sshKeys.admins;
ethernetDrivers = ["e1000e"]; ethernetDrivers = ["e1000e"];
ip = hosts.malobeo.hosts.albert.network.address;
}; };
services.malobeo.vpn = { services.malobeo.vpn = {
-1
View File
@@ -20,7 +20,6 @@
services.malobeo.gitea-translator = { services.malobeo.gitea-translator = {
enable = true; enable = true;
host = "0.0.0.0";
}; };
services.hydra = { services.hydra = {
+3
View File
@@ -2,6 +2,8 @@
let let
sshKeys = import ../ssh_keys.nix; sshKeys = import ../ssh_keys.nix;
hosts = import ../hosts.nix {};
in in
{ {
imports = imports =
@@ -35,6 +37,7 @@ in
enable = true; enable = true;
authorizedKeys = sshKeys.admins; authorizedKeys = sshKeys.admins;
ethernetDrivers = ["r8169"]; ethernetDrivers = ["r8169"];
ip = hosts.malobeo.hosts.bakunin.network.address;
}; };
malobeo.users.malobeo = true; malobeo.users.malobeo = true;
+2 -1
View File
@@ -90,6 +90,7 @@ in
authorizedKeys = sshKeys.admins; authorizedKeys = sshKeys.admins;
ethernetDrivers = ["r8169"]; ethernetDrivers = ["r8169"];
zfsExtraPools = [ "storage" ]; zfsExtraPools = [ "storage" ];
ip = hosts.malobeo.hosts.fanny.network.address;
}; };
boot.initrd = { boot.initrd = {
@@ -263,7 +264,7 @@ in
client_body_in_file_only clean; client_body_in_file_only clean;
client_body_buffer_size 32K; client_body_buffer_size 32K;
client_max_body_size 500M; client_max_body_size 50M;
sendfile on; sendfile on;
send_timeout 300s; send_timeout 300s;
+5 -1
View File
@@ -27,6 +27,10 @@ in
default = [ ]; default = [ ];
description = "Name or GUID of extra ZFS pools that you wish to import during boot."; description = "Name or GUID of extra ZFS pools that you wish to import during boot.";
}; };
ip = lib.mkOption {
type = lib.types.str;
description = "The requested static ip for the machine";
};
}; };
config = lib.mkIf (cfg.enable && config.malobeo.disks.encryption) { config = lib.mkIf (cfg.enable && config.malobeo.disks.encryption) {
@@ -73,7 +77,7 @@ in
"/etc/ssh/initrd" = "/etc/ssh/initrd"; "/etc/ssh/initrd" = "/etc/ssh/initrd";
}; };
}; };
kernelParams = [ "ip=::::${hostName}-initrd::dhcp" ]; kernelParams = [ "ip=${cfg.ip}::::${hostName}::" ];
}; };
}; };
} }
-7
View File
@@ -145,7 +145,6 @@ in
"https://keys.malobeo.org" "https://keys.malobeo.org"
"https://tasklist.malobeo.org" "https://tasklist.malobeo.org"
"https://zines.malobeo.org" "https://zines.malobeo.org"
"http://${hosts.malobeo.hosts.albert.network.address}:27364/health"
]; ];
}]; }];
@@ -264,12 +263,6 @@ in
targets = [ "${hosts.malobeo.hosts.albert.network.address}:9002" ]; targets = [ "${hosts.malobeo.hosts.albert.network.address}:9002" ];
}]; }];
} }
{
job_name = "wordpress";
static_configs = [{
targets = [ "${hosts.malobeo.hosts.wordpress.network.address}:9002" ];
}];
}
# add vpn - check how to reach it first. most probably 10.100.0.1 # add vpn - check how to reach it first. most probably 10.100.0.1
]; ];
}; };
-7
View File
@@ -23,17 +23,10 @@ in {
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics
inputs.self.nixosModules.malobeo.users inputs.self.nixosModules.malobeo.users
../modules/sshd.nix ../modules/sshd.nix
]; ];
malobeo.metrics = {
enable = true;
enablePromtail = true;
logNginx = true;
};
malobeo.users = { malobeo.users = {
malobeo = false; malobeo = false;
admin = true; admin = true;
+1 -10
View File
@@ -26,7 +26,7 @@ def _parse_response(baseurl, owner, repo):
return pulls return pulls
class PullsHandler(BaseHTTPRequestHandler): class PullsHandler(BaseHTTPRequestHandler):
_VALID_PATHS={"/", "/gitea-pulls-sorted.json", "/health"} _VALID_PATHS={"/", "/gitea-pulls-sorted.json"}
# Class variables to store configuration # Class variables to store configuration
baseurl = None baseurl = None
@@ -34,15 +34,6 @@ class PullsHandler(BaseHTTPRequestHandler):
repo = None repo = None
def do_GET(self): def do_GET(self):
if self.path == "/health":
body=json.dumps({"status": "ok"}).encode("utf-8")
self.send_response(200)
self.send_header("Content-Type", "application/json; charset=utf-8")
self.send_header("Content-Length", str(len(body)))
self.end_headers()
self.wfile.write(body)
return
if self.path not in self._VALID_PATHS: if self.path not in self._VALID_PATHS:
self.send_error(404, "Not Found") self.send_error(404, "Not Found")
return return