Compare commits

..
Author SHA1 Message Date
kalipso 88f7da1700 [nixpkgs] update
Check flake syntax / flake-check (push) Successful in 5m9s
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Successful in 1h16m46s
2026-10-22 10:42:04 +02:00
kalipso 70f0812a8e Merge pull request 'wordpress: enable metrics' (#203) from wordpress_metrics into master
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 5m29s
2026-10-21 17:32:43 +02:00
kalipso 277caf6375 [wordpress] enable metrics
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Successful in 2m28s
Check flake syntax / flake-check (push) Successful in 22m19s
2026-10-21 12:29:50 +02:00
kalipso e059576114 [zineshop] update
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 10m29s
2026-10-20 11:32:51 +02:00
kalipso b6d7030967 [zineshop] increase local upload limit to 500mb
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 13m21s
2026-10-20 11:27:52 +02:00
ahtlon d79e68fc0e [gitea_translater] add /health and monitor on overwatch
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Successful in 7m17s
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 26m23s
2026-10-16 21:22:25 +02:00
ahtlon 88ddae75e0 [albert] fix #192
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 15m24s
2026-10-13 22:00:22 +02:00
ahtlon a0e664f4f5 [fanny] fix dyndns
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 30m34s
2026-10-13 17:53:07 +02:00
ahtlon 0270b6ed11 {goldman} fix missing network config
Check flake syntax / flake-check (push) Successful in 36m9s
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
2026-09-30 16:03:17 +02:00
ahtlon 02a929a56d Revert "Merge pull request 'Actually use user module' (#191) from fix_malobeo_user into master"
This reverts commit e9c5da2710, reversing
changes made to 3d50e3d00c.

The user.nix module generates hostkeys under /etc/ssh/hostname which breaks sops encryption for legacy
2026-09-30 15:55:31 +02:00
ahtlon f981d6e7a0 Merge pull request 'add goldman, the rpi that runs gatekeeper' (#165) from gatekeeper_raspi into master
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Failing after 26m33s
Reviewed-on: #165
2026-09-30 08:28:55 +02:00
ahtlon 5d9ca52386 Add mosquitto 2026-09-30 08:28:55 +02:00
ahtlon ddc2499722 Update gatekeeper 2026-09-30 08:28:55 +02:00
ahtlon 33eb968705 Fix gatekeeper missing the key 2026-09-30 08:28:55 +02:00
ahtlon d01d0c4875 fix flake check 2026-09-30 08:28:55 +02:00
ahtlon c26813c2b8 add goldman, the rpi that runs gatekeeper 2026-09-30 08:28:55 +02:00
ahtlon e9c5da2710 Merge pull request 'Actually use user module' (#191) from fix_malobeo_user into master
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Failing after 7m15s
Reviewed-on: #191
Reviewed-by: ahtlon <8+ahtlon@noreply.git.dynamicdiscord.de>
2026-09-29 17:05:50 +02:00
29 changed files with 306 additions and 146 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# Disks # Disks
The disks module can be used by importing `inputs.malobeo.nixosModules.malobeo.disko` The disks module can be used by importing `inputs.self.nixosModules.malobeo.disko`
#### `let cfg = malobeo.disks` #### `let cfg = malobeo.disks`
+1 -1
View File
@@ -1,5 +1,5 @@
# Gitea-tanslator # Gitea-tanslator
The module can be used by importing `inputs.malobeo.nixosModules.malobeo.gitea-translator` The module can be used by importing `inputs.self.nixosModules.malobeo.gitea-translator`
This module starts a python server that fetches the gitea pull request api and translates it to a file that hydra understands. This module starts a python server that fetches the gitea pull request api and translates it to a file that hydra understands.
To use, just set the parameters of the gitea server, then send a GET request to either `http://${host}:${port}/` or `http://${host}:${port}/gitea-pulls-sorted.json` To use, just set the parameters of the gitea server, then send a GET request to either `http://${host}:${port}/` or `http://${host}:${port}/gitea-pulls-sorted.json`
+1 -1
View File
@@ -1,5 +1,5 @@
# Initrd-ssh # Initrd-ssh
The initssh module can be used by importing `inputs.malobeo.nixosModules.malobeo.initssh` The initssh module can be used by importing `inputs.self.nixosModules.malobeo.initssh`
#### `let cfg = malobeo.initssh` #### `let cfg = malobeo.initssh`
Generated
+106 -7
View File
@@ -78,6 +78,29 @@
"type": "github" "type": "github"
} }
}, },
"gatekeeper": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
],
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1786138873,
"narHash": "sha256-+G/hTquaK4AjYxNSJTpcZXUEKxFDv9lOn3x+lHHTWJw=",
"ref": "refs/heads/master",
"rev": "c5934d05c6f01c94c36221deb7ed4de03aa91ca1",
"revCount": 127,
"type": "git",
"url": "https://git.dynamicdiscord.de/malobeo/gatekeeper"
},
"original": {
"type": "git",
"url": "https://git.dynamicdiscord.de/malobeo/gatekeeper"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -241,11 +264,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1788187754, "lastModified": 1792615934,
"narHash": "sha256-bu1QxmXKmPuvBLN7bHP355OV9Qo13x9WCiRDH62CqRM=", "narHash": "sha256-MlvRfa1O5Cqc2/a+gG+l9TSuowEoCKCmrJ1d9oAVm0I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5dfba6236110080a54247d6460bc2ff5dda939cc", "rev": "da6dc0e7b26060f2f71ce3ef7088fb56ee44fa36",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -255,11 +278,62 @@
"type": "github" "type": "github"
} }
}, },
"pyproject-build-systems": {
"inputs": {
"nixpkgs": [
"gatekeeper",
"nixpkgs"
],
"pyproject-nix": [
"gatekeeper",
"pyproject-nix"
],
"uv2nix": [
"gatekeeper",
"uv2nix"
]
},
"locked": {
"lastModified": 1776659114,
"narHash": "sha256-qapCOQmR++yZSY43dzrp3wCrkOTLpod+ONtJWBk6iKU=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "ffaa2161dd5d63e0e94591f86b54fc239660fb2e",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"gatekeeper",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778901413,
"narHash": "sha256-GSKXTAnFqRAMlZkJrIPcQMYf+lpMr66K3i60mB9STvc=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "a228447c3e179d477c1b6246ef3efa8cfe3c469a",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
"dns": "dns", "dns": "dns",
"ep3-bs": "ep3-bs", "ep3-bs": "ep3-bs",
"gatekeeper": "gatekeeper",
"home-manager": "home-manager", "home-manager": "home-manager",
"mfsync": "mfsync", "mfsync": "mfsync",
"microvm": "microvm", "microvm": "microvm",
@@ -461,6 +535,31 @@
"type": "github" "type": "github"
} }
}, },
"uv2nix": {
"inputs": {
"nixpkgs": [
"gatekeeper",
"nixpkgs"
],
"pyproject-nix": [
"gatekeeper",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1779269674,
"narHash": "sha256-P1LHCRdYpdtHAEzuEsNHrI6d9mVPl5a2fyFDZGHNVbI=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "69aec536f6d1acc415ed2e20299312802aba98c6",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"type": "github"
}
},
"zineshop": { "zineshop": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -469,11 +568,11 @@
"utils": "utils_4" "utils": "utils_4"
}, },
"locked": { "locked": {
"lastModified": 1789131197, "lastModified": 1792488750,
"narHash": "sha256-gpjhy2mIBt89oCVzoSXy8AgfAKjJ9Fi3u01CX09UTF4=", "narHash": "sha256-VLBpNctawQ+Yd03hkfhNPUqQVXNCc7bc6Qhu7mwJvKM=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "38bcceb0e8b84d6dcd50d05683c71eea8d410479", "rev": "7a8b9d4f3522c68cd15b21a1ec093c8c441775bf",
"revCount": 161, "revCount": 162,
"type": "git", "type": "git",
"url": "https://git.dynamicdiscord.de/kalipso/zineshop" "url": "https://git.dynamicdiscord.de/kalipso/zineshop"
}, },
+5
View File
@@ -37,6 +37,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
gatekeeper = {
url = "git+https://git.dynamicdiscord.de/malobeo/gatekeeper";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-generators = { nixos-generators = {
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
+12 -8
View File
@@ -15,18 +15,17 @@ in
sops.secrets.wg_private = {}; sops.secrets.wg_private = {};
imports = imports =
[ [ # Include the results of the hardware scan.
inputs.malobeo.nixosModules.malobeo.vpn
inputs.malobeo.nixosModules.malobeo.initssh
inputs.malobeo.nixosModules.malobeo.disko
inputs.malobeo.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users
inputs.malobeo.nixosModules.malobeo.backup
#./hardware-configuration.nix #./hardware-configuration.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
inputs.self.nixosModules.malobeo.vpn
inputs.self.nixosModules.malobeo.initssh
inputs.self.nixosModules.malobeo.disko
inputs.self.nixosModules.malobeo.metrics
inputs.self.nixosModules.malobeo.users
inputs.self.nixosModules.malobeo.backup
./hydra.nix ./hydra.nix
./gitea_runner.nix ./gitea_runner.nix
]; ];
@@ -87,6 +86,11 @@ in
}; };
}; };
systemd.network.networks."05-unmanaged-docker" = {
matchConfig = { Name = "veth*"; Kind = "veth"; };
linkConfig = { Unmanaged = true; };
};
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" "i686-linux" ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" "i686-linux" ];
services.acpid.enable = true; services.acpid.enable = true;
+2 -1
View File
@@ -15,11 +15,12 @@
imports = imports =
[ [
inputs.malobeo.nixosModules.malobeo.gitea-translator inputs.self.nixosModules.malobeo.gitea-translator
]; ];
services.malobeo.gitea-translator = { services.malobeo.gitea-translator = {
enable = true; enable = true;
host = "0.0.0.0";
}; };
services.hydra = { services.hydra = {
+2 -3
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { self, config, lib, pkgs, inputs, ... }:
with lib; with lib;
@@ -22,8 +22,7 @@ in
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.users self.nixosModules.malobeo.users
../modules/sshd.nix ../modules/sshd.nix
]; ];
+3 -4
View File
@@ -6,14 +6,13 @@ in
{ {
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
inputs.malobeo.nixosModules.malobeo.disko
inputs.malobeo.nixosModules.malobeo.initssh
inputs.malobeo.nixosModules.malobeo.users
#./hardware-configuration.nix #./hardware-configuration.nix
../modules/xserver.nix ../modules/xserver.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
inputs.self.nixosModules.malobeo.disko
inputs.self.nixosModules.malobeo.initssh
inputs.self.nixosModules.malobeo.users
]; ];
malobeo.autoUpdate = { malobeo.autoUpdate = {
+3 -8
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { config, self, lib, pkgs, inputs, ... }:
with lib; with lib;
@@ -17,19 +17,14 @@ with lib;
]; ];
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics self.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users
inputs.tasklist.nixosModules.malobeo-tasklist inputs.tasklist.nixosModules.malobeo-tasklist
../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
malobeo.metrics = { malobeo.metrics = {
enable = true; enable = true;
enablePromtail = true; enablePromtail = true;
+11 -12
View File
@@ -11,19 +11,18 @@ in
sops.secrets.njala_api_key = {}; sops.secrets.njala_api_key = {};
imports = imports =
[ [ # Include the results of the hardware scan.
inputs.malobeo.nixosModules.malobeo.vpn
inputs.malobeo.nixosModules.malobeo.initssh
inputs.malobeo.nixosModules.malobeo.disko
inputs.malobeo.nixosModules.malobeo.microvm
inputs.malobeo.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users
inputs.malobeo.nixosModules.malobeo.backup
#./hardware-configuration.nix #./hardware-configuration.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
inputs.self.nixosModules.malobeo.vpn
inputs.self.nixosModules.malobeo.initssh
inputs.self.nixosModules.malobeo.disko
inputs.self.nixosModules.malobeo.microvm
inputs.self.nixosModules.malobeo.metrics
inputs.self.nixosModules.malobeo.users
inputs.self.nixosModules.malobeo.backup
./dyndns.nix ./dyndns.nix
]; ];
@@ -193,7 +192,7 @@ in
proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}"; proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}";
extraConfig = '' extraConfig = ''
proxy_set_header Host $host; proxy_set_header Host $host;
client_max_body_size ${inputs.malobeo.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize}; client_max_body_size ${inputs.self.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize};
client_body_timeout 3600s; client_body_timeout 3600s;
send_timeout 3600s; send_timeout 3600s;
fastcgi_buffers 64 4K; fastcgi_buffers 64 4K;
@@ -208,7 +207,7 @@ in
proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}"; proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}";
extraConfig = '' extraConfig = ''
proxy_set_header Host $host; proxy_set_header Host $host;
client_max_body_size ${inputs.malobeo.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize}; client_max_body_size ${inputs.self.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize};
client_body_timeout 3600s; client_body_timeout 3600s;
send_timeout 3600s; send_timeout 3600s;
fastcgi_buffers 64 4K; fastcgi_buffers 64 4K;
@@ -264,7 +263,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 50M; client_max_body_size 500M;
sendfile on; sendfile on;
send_timeout 300s; send_timeout 300s;
+1 -6
View File
@@ -1,17 +1,12 @@
{pkgs, ...}: {pkgs, ...}:
{ {
sops.secrets.njalacloud = {}; sops.secrets.njalacloud = {};
sops.secrets.njalazines = {}; sops.secrets.njalarm16 = {};
sops.secrets.njalaantamap = {};
systemd.services."dyndns" = { systemd.services."dyndns" = {
script = '' script = ''
KEYCLOUD=$(cat /run/secrets/njalacloud) KEYCLOUD=$(cat /run/secrets/njalacloud)
KEYZINES=$(cat /run/secrets/njalazines)
KEYANATAMAP=$(cat /run/secrets/njalaantamap)
KEYRM16=$(cat /run/secrets/njalarm16) KEYRM16=$(cat /run/secrets/njalarm16)
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=cloud.malobeo.org&k="$KEYCLOUD"&auto" ${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=cloud.malobeo.org&k="$KEYCLOUD"&auto"
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=zines.malobeo.org&k="$KEYZINES"&auto"
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=antamap.malobeo.org&k="$KEYANATAMAP"&auto"
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=rm16bleibt.org&k="$KEYRM16"&auto" ${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=rm16bleibt.org&k="$KEYRM16"&auto"
''; '';
serviceConfig = { serviceConfig = {
+93
View File
@@ -0,0 +1,93 @@
{ config, pkgs, inputs, modulesPath, ... }:
let
sshKeys = import ../ssh_keys.nix;
in
{
networking.hostName = "goldman"; # Define your hostname.
nixpkgs.hostPlatform = { system = "aarch64-linux"; };
imports =
[
inputs.gatekeeper.nixosModules.gatekeeper
../modules/malobeo_user.nix
#inputs.nixos-hardware.nixosModules.raspberry-pi-3
(modulesPath + "/profiles/minimal.nix")
#(modulesPath + "/installer/sd-card/sd-image.nix")
];
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
#Try to reduce size
documentation.man.enable = false;
documentation.nixos.enable = false;
services.openssh.enable = true;
services.openssh.ports = [ 22 ];
services.openssh.settings.PasswordAuthentication = false;
services.openssh.settings.PermitRootLogin = "prohibit-password";
users.users.root.openssh.authorizedKeys.keys = sshKeys.admins;
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
boot.loader.grub.enable = false;
# Enables the generation of /boot/extlinux/extlinux.conf
boot.loader.generic-extlinux-compatible.enable = true;
networking.dhcpcd.enable = true;
# Set your time zone.
time.timeZone = "Europe/Berlin";
services.mosquitto = {
enable = true;
listeners = [{
acl = [ "pattern readwrite #" ];
omitPasswordAuth = true;
settings.allow_anonymous = true;
}];
};
services = {
gatekeeper = {
enable = true;
envFile = pkgs.writeText "env" ''
MIFARE_APP_MASTER_KEY="7b195adb892073c9e34ebe7e0ca28b2b"
MIFARE_ACL_READ_BASE_KEY="741a50f2b189cc9f151e0600f50a6e1a"
MIFARE_ACL_WRITE_BASE_KEY="f1aa99f81cca268de98d422ee0ccb65c"
SECRET_KEY="8b14d0b447bff7efa24d5019cc59a999786e31f6f865173bbd642bf18de5ad85"
MQTT_HOST = "localhost"
MQTT_PORT = "1883"
'';
mock = "False";
};
};
environment.systemPackages = with pkgs; [
htop
wget
git
pciutils
gpio-utils
nix-tree
lgpio
];
services.avahi = {
enable = true;
nssmdns4 = true;
publish = {
enable = true;
addresses = true;
userServices = true;
};
};
networking.firewall.allowedTCPPorts = [ 80 443 1883];
system.stateVersion = "23.05";
}
+11
View File
@@ -78,6 +78,17 @@ in
}; };
}; };
goldman = {
type = "rpi";
network = {
local = true;
hostId = "16";
address = "192.168.1.106";
gateway = "192.168.1.1";
nameservers = [ "192.168.1.1" "1.1.1.1" ];
};
};
durruti = { durruti = {
type = "microvm"; type = "microvm";
network = createMaloNet "5" "52:DA:0D:F9:EF:F9"; network = createMaloNet "5" "52:DA:0D:F9:EF:F9";
+2 -8
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { self, config, lib, pkgs, inputs, ... }:
with lib; with lib;
@@ -10,17 +10,11 @@ with lib;
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics inputs.malobeo.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users
../durruti/documentation.nix ../durruti/documentation.nix
../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
malobeo.metrics = { malobeo.metrics = {
enable = true; enable = true;
enablePromtail = true; enablePromtail = true;
+1 -2
View File
@@ -3,14 +3,13 @@
{ {
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
inputs.malobeo.nixosModules.malobeo.printing
./hardware-configuration.nix ./hardware-configuration.nix
../modules/xserver.nix ../modules/xserver.nix
../modules/malobeo_user.nix ../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
inputs.self.nixosModules.malobeo.printing
]; ];
malobeo.autoUpdate = { malobeo.autoUpdate = {
+2 -8
View File
@@ -1,4 +1,4 @@
{ config, pkgs, inputs, ... }: { config, pkgs, ... }:
let let
sshKeys = import ../ssh_keys.nix; sshKeys = import ../ssh_keys.nix;
@@ -6,16 +6,10 @@ in
{ {
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
inputs.malobeo.nixosModules.malobeo.users
./hardware_configuration.nix ./hardware_configuration.nix
../modules/malobeo_user.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
sops.defaultSopsFile = ./secrets.yaml; sops.defaultSopsFile = ./secrets.yaml;
sops.secrets.njala_api_key = {}; sops.secrets.njala_api_key = {};
+1 -1
View File
@@ -1,7 +1,7 @@
{config, lib, pkgs, inputs, ...}: {config, lib, pkgs, inputs, ...}:
let let
cfg = config.malobeo.users; cfg = config.malobeo.users;
sshKeys = import ( inputs.malobeo + /machines/ssh_keys.nix); sshKeys = import ( inputs.self + /machines/ssh_keys.nix);
inherit (config.networking) hostName; inherit (config.networking) hostName;
in in
{ {
+3 -9
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { config, self, lib, pkgs, ... }:
with lib; with lib;
@@ -20,19 +20,13 @@ in
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics self.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
malobeo.metrics = { malobeo.metrics = {
enable = true; enable = true;
enablePromtail = true; enablePromtail = true;
+3 -9
View File
@@ -1,4 +1,4 @@
{ config, lib, inputs, pkgs, ... }: { config, self, lib, inputs, pkgs, ... }:
with lib; with lib;
with inputs; with inputs;
@@ -13,19 +13,13 @@ in
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
inputs.malobeo.nixosModules.malobeo.vpn
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
inputs.self.nixosModules.malobeo.vpn
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
networking.firewall = { networking.firewall = {
enable = true; enable = true;
allowedTCPPorts = [ 53 ]; allowedTCPPorts = [ 53 ];
+10 -9
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { config, self, lib, pkgs, inputs, ... }:
with lib; with lib;
@@ -30,18 +30,12 @@ in
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics self.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
./printer_module.nix ./printer_module.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
networking.firewall.allowedTCPPorts = [ 80 3100 ]; networking.firewall.allowedTCPPorts = [ 80 3100 ];
malobeo.metrics = { malobeo.metrics = {
@@ -151,6 +145,7 @@ 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"
]; ];
}]; }];
@@ -269,6 +264,12 @@ 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
]; ];
}; };
+3 -5
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { config, self, lib, pkgs, inputs, ... }:
with lib; with lib;
@@ -21,10 +21,9 @@ in
disabledModules = [ "services/web-apps/pretalx.nix" ]; disabledModules = [ "services/web-apps/pretalx.nix" ];
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.users
"${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/pretalx.nix" "${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/pretalx.nix"
self.nixosModules.malobeo.metrics
self.nixosModules.malobeo.users
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
../modules/autoupdate.nix ../modules/autoupdate.nix
@@ -38,7 +37,6 @@ in
malobeo.users = { malobeo.users = {
admin = true; admin = true;
malobeo = false;
}; };
+3 -8
View File
@@ -6,18 +6,13 @@ in
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
#./hardware-configuration.nix #./hardware-configuration.nix
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
inputs.malobeo.nixosModules.malobeo.initssh
inputs.malobeo.nixosModules.malobeo.disko
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
inputs.self.nixosModules.malobeo.initssh
inputs.self.nixosModules.malobeo.disko
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
boot.initrd.systemd.enable = true; boot.initrd.systemd.enable = true;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
+1 -7
View File
@@ -9,16 +9,10 @@ with lib;
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
networking.firewall.allowedTCPPorts = [ 80 ]; networking.firewall.allowedTCPPorts = [ 80 ];
services.nginx = { services.nginx = {
+2 -8
View File
@@ -16,17 +16,11 @@ with lib;
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
inputs.malobeo.nixosModules.malobeo.metrics
../modules/sshd.nix ../modules/sshd.nix
inputs.self.nixosModules.malobeo.metrics
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
networking.firewall.allowedTCPPorts = [ 80 ]; networking.firewall.allowedTCPPorts = [ 80 ];
malobeo.metrics = { malobeo.metrics = {
+2 -8
View File
@@ -17,18 +17,12 @@ with lib;
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.vpn inputs.self.nixosModules.malobeo.vpn
inputs.malobeo.nixosModules.malobeo.users ../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
../modules/minimal_tools.nix ../modules/minimal_tools.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
services.malobeo.vpn = { services.malobeo.vpn = {
enable = true; enable = true;
name = "vpn"; name = "vpn";
+8 -2
View File
@@ -23,11 +23,17 @@ in {
}; };
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.users inputs.malobeo.nixosModules.malobeo.metrics
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;
+2 -8
View File
@@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { self, config, lib, pkgs, inputs, ... }:
with lib; with lib;
@@ -11,17 +11,11 @@ with lib;
imports = [ imports = [
inputs.malobeo.nixosModules.malobeo.metrics inputs.malobeo.nixosModules.malobeo.metrics
inputs.malobeo.nixosModules.malobeo.printing inputs.malobeo.nixosModules.malobeo.printing
inputs.malobeo.nixosModules.malobeo.users
inputs.zineshop.nixosModules.zineshop inputs.zineshop.nixosModules.zineshop
../modules/malobeo_user.nix
../modules/sshd.nix ../modules/sshd.nix
]; ];
malobeo.users = {
admin = true;
malobeo = false;
};
malobeo.metrics = { malobeo.metrics = {
enable = true; enable = true;
enablePromtail = true; enablePromtail = true;
+10 -1
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"} _VALID_PATHS={"/", "/gitea-pulls-sorted.json", "/health"}
# Class variables to store configuration # Class variables to store configuration
baseurl = None baseurl = None
@@ -34,6 +34,15 @@ 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