Compare commits

..

No commits in common. "da948178a1688ff2b1a216eedf9a513a8e8dcfa9" and "97154256daca79cc33210536c7362cebfa1365d0" have entirely different histories.

8 changed files with 117 additions and 824 deletions
configuration
flake.lockflake.nix
modules/crowdsec
pkgs/crowdsec/_sources

View file

@ -4,13 +4,9 @@
services.batteryManager = { services.batteryManager = {
enable = true; enable = true;
battery = "3ca39300-c523-4315-b9a3-d030f85a9373";
emailFile = "${config.sops.secrets."battery-manager/email".path}"; emailFile = "${config.sops.secrets."battery-manager/email".path}";
passwordFile = "${config.sops.secrets."battery-manager/password".path}"; passwordFile = "${config.sops.secrets."battery-manager/password".path}";
settings = {
battery_id = "3ca39300-c523-4315-b9a3-d030f85a9373";
log_level = "DEBUG";
};
}; };
} }

View file

@ -59,8 +59,11 @@ in
relay-ips = [ "116.202.158.55" ]; relay-ips = [ "116.202.158.55" ];
# SSL config # SSL config
pkey = "${config.security.acme.certs."tlater.net".directory}/key.pem"; #
cert = "${config.security.acme.certs."tlater.net".directory}/fullchain.pem"; # TODO(tlater): Switch to letsencrypt once google fix:
# https://github.com/vector-im/element-android/issues/1533
pkey = config.sops.secrets."turn/ssl-key".path;
cert = config.sops.secrets."turn/ssl-cert".path;
# Based on suggestions from # Based on suggestions from
# https://github.com/matrix-org/synapse/blob/develop/docs/turn-howto.md # https://github.com/matrix-org/synapse/blob/develop/docs/turn-howto.md

View file

@ -1,11 +1,18 @@
{ config, lib, ... }:
{ {
sops = { sops = {
defaultSopsFile = ../keys/production.yaml; defaultSopsFile = ../keys/production.yaml;
secrets = { secrets = {
"battery-manager/email" = { }; "battery-manager/email" = lib.mkIf config.services.batteryManager.enable {
owner = "battery-manager";
group = "battery-manager";
};
"battery-manager/password" = { }; "battery-manager/password" = lib.mkIf config.services.batteryManager.enable {
owner = "battery-manager";
group = "battery-manager";
};
# Gitea # Gitea
"forgejo/metrics-token" = { "forgejo/metrics-token" = {

File diff suppressed because it is too large Load diff

View file

@ -23,9 +23,11 @@
}; };
sonnenshift = { sonnenshift = {
url = "git+ssh://git@github.com/sonnenshift/battery-manager?ref=tlater/rust-rewrite"; url = "git+ssh://git@github.com/sonnenshift/battery-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixpkgs-crowdsec.url = "github:tlater/nixpkgs/tlater/fix-crowdsec";
}; };
outputs = outputs =
@ -104,6 +106,7 @@
in in
{ {
default = vm.config.system.build.vm; default = vm.config.system.build.vm;
crowdsec = pkgs.callPackage "${inputs.nixpkgs-crowdsec}/pkgs/by-name/cr/crowdsec/package.nix" { };
crowdsec-hub = localPkgs.crowdsec.hub; crowdsec-hub = localPkgs.crowdsec.hub;
crowdsec-firewall-bouncer = localPkgs.crowdsec.firewall-bouncer; crowdsec-firewall-bouncer = localPkgs.crowdsec.firewall-bouncer;
}; };

View file

@ -1,4 +1,5 @@
{ {
flake-inputs,
pkgs, pkgs,
lib, lib,
config, config,
@ -8,6 +9,8 @@ let
cfg = config.security.crowdsec; cfg = config.security.crowdsec;
settingsFormat = pkgs.formats.yaml { }; settingsFormat = pkgs.formats.yaml { };
crowdsec = flake-inputs.self.packages.${pkgs.system}.crowdsec;
hub = pkgs.fetchFromGitHub { hub = pkgs.fetchFromGitHub {
owner = "crowdsecurity"; owner = "crowdsecurity";
repo = "hub"; repo = "hub";
@ -16,14 +19,14 @@ let
}; };
cscli = pkgs.writeShellScriptBin "cscli" '' cscli = pkgs.writeShellScriptBin "cscli" ''
export PATH="$PATH:${cfg.package}/bin/" export PATH="$PATH:${crowdsec}/bin/"
sudo=exec sudo=exec
if [ "$USER" != "crowdsec" ]; then if [ "$USER" != "crowdsec" ]; then
sudo='exec /run/wrappers/bin/sudo -u crowdsec' sudo='exec /run/wrappers/bin/sudo -u crowdsec'
fi fi
$sudo ${cfg.package}/bin/cscli "$@" $sudo ${crowdsec}/bin/cscli "$@"
''; '';
acquisitions = '' acquisitions = ''
@ -50,7 +53,7 @@ in
package = lib.mkOption { package = lib.mkOption {
type = package; type = package;
default = pkgs.crowdsec; default = crowdsec;
}; };
stateDirectory = lib.mkOption { stateDirectory = lib.mkOption {

View file

@ -21,7 +21,7 @@
}, },
"crowdsec-hub": { "crowdsec-hub": {
"cargoLocks": null, "cargoLocks": null,
"date": "2025-02-16", "date": "2025-01-30",
"extract": null, "extract": null,
"name": "crowdsec-hub", "name": "crowdsec-hub",
"passthru": null, "passthru": null,
@ -33,10 +33,10 @@
"name": null, "name": null,
"owner": "crowdsecurity", "owner": "crowdsecurity",
"repo": "hub", "repo": "hub",
"rev": "f7d7f476f88a4af05e1cfb3994536990adecfb57", "rev": "8f102f5ac79af59d3024ca2771b65ec87411ac02",
"sha256": "sha256-m78uipryHDKixJzrF4K59ioAJ3WJN1JlXEC0DNVMCJ8=", "sha256": "sha256-8K1HkBg0++Au1dr2KMrl9b2ruqXdo+vqWngOCwL11Mo=",
"type": "github" "type": "github"
}, },
"version": "f7d7f476f88a4af05e1cfb3994536990adecfb57" "version": "8f102f5ac79af59d3024ca2771b65ec87411ac02"
} }
} }

View file

@ -14,14 +14,14 @@
}; };
crowdsec-hub = { crowdsec-hub = {
pname = "crowdsec-hub"; pname = "crowdsec-hub";
version = "f7d7f476f88a4af05e1cfb3994536990adecfb57"; version = "8f102f5ac79af59d3024ca2771b65ec87411ac02";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "crowdsecurity"; owner = "crowdsecurity";
repo = "hub"; repo = "hub";
rev = "f7d7f476f88a4af05e1cfb3994536990adecfb57"; rev = "8f102f5ac79af59d3024ca2771b65ec87411ac02";
fetchSubmodules = false; fetchSubmodules = false;
sha256 = "sha256-m78uipryHDKixJzrF4K59ioAJ3WJN1JlXEC0DNVMCJ8="; sha256 = "sha256-8K1HkBg0++Au1dr2KMrl9b2ruqXdo+vqWngOCwL11Mo=";
}; };
date = "2025-02-16"; date = "2025-01-30";
}; };
} }