From 7895713afdbbe23095e59ea4f5dbacd1c6c7d36b Mon Sep 17 00:00:00 2001 From: TornaxO7 Date: Sun, 1 Jun 2025 11:03:53 +0200 Subject: [PATCH] crowdsec-firewall-bouncer: init at 0.0.33 Co-authored-by: Summer Tea <79724236+acuteaangle@users.noreply.github.com> Co-authored-by: Felix Bargfeldt <41747605+Defelo@users.noreply.github.com> Co-authored-by: j-k --- .../cr/crowdsec-firewall-bouncer/package.nix | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix diff --git a/pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix b/pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix new file mode 100644 index 0000000000000..4f38cc4fbfda1 --- /dev/null +++ b/pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix @@ -0,0 +1,55 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "crowdsec-firewall-bouncer"; + version = "0.0.33"; + + src = fetchFromGitHub { + owner = "crowdsecurity"; + repo = "cs-firewall-bouncer"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4fxxAW2sXGNxjsc75fd499ciuN8tjGqlpRIaHYUXwQ0="; + }; + + vendorHash = "sha256-Bhp6Z2UlCJ32vdc3uINCGleZFP2WeUn/XK+Q29szUzQ="; + + ldflags = [ + "-X github.com/crowdsecurity/go-cs-lib/version.Version=v${finalAttrs.version}" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + versionCheckProgram = "${placeholder "out"}/bin/cs-firewall-bouncer"; + versionCheckProgramArg = "-version"; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ "--version-regex=^v(\\d+\\.\\d+\\.\\d+)$" ]; + }; + }; + + meta = { + homepage = "https://crowdsec.net/"; + downloadPage = "https://github.com/crowdsecurity/cs-firewall-bouncer"; + changelog = "https://github.com/crowdsecurity/cs-firewall-bouncer/releases/tag/v${finalAttrs.version}"; + description = "Crowdsec bouncer written in golang for firewalls"; + longDescription = '' + CrowdSec Remediation Component written in golang for firewalls. + + crowdsec-firewall-bouncer will fetch new and old decisions from a + CrowdSec API and add them to a blocklist used by supported firewalls. + ''; + license = lib.licenses.mit; + mainProgram = "cs-firewall-bouncer"; + maintainers = with lib.maintainers; [ + tornax + jk + ]; + }; +})