Skip to content

Commit 1dfd426

Browse files
committed
feat: package gatekeeper in this package set
1 parent c98fbc0 commit 1dfd426

File tree

4 files changed

+47
-48
lines changed

4 files changed

+47
-48
lines changed

flake.lock

Lines changed: 4 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@
1414
git-hooks.url = "github:cachix/git-hooks.nix";
1515
git-hooks.inputs.nixpkgs.follows = "nixpkgs";
1616
nixpkgs-go124.url = "github:Nixos/nixpkgs/3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5";
17-
gatekeeper.url = "git+ssh://[email protected]/supabase/jit-db-gatekeeper?ref=sam/add-flake-parts&rev=34ba4a222c15b2480b837bbb3076508f36c9296f";
18-
gatekeeper.inputs.nixpkgs.follows = "nixpkgs";
17+
gatekeeper-src = {
18+
url = "git+ssh://[email protected]/supabase/jit-db-gatekeeper?ref=sam/add-flake-parts&rev=34ba4a222c15b2480b837bbb3076508f36c9296f";
19+
flake = false;
20+
};
1921
};
2022

2123
outputs =

nix/overlays/default.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
(old.postInstall or "")
6060
+ ''
6161
mkdir -p $out/lib/security
62-
cp ${final.gatekeeper}/lib/security/*.so $out/lib/security/
62+
cp ${self.packages.${final.system}.gatekeeper}/lib/security/*.so $out/lib/security/
6363
'';
6464
});
6565
};

nix/packages/gatekeeper.nix

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
{ inputs, ... }:
22
{
33
perSystem =
4-
{ system, ... }:
4+
{ system, pkgs, ... }:
55
let
6-
76
go124 = inputs.nixpkgs-go124.legacyPackages.${system}.go_1_24;
7+
# Use completely clean nixpkgs without any overlays for gatekeeper
8+
cleanPkgs = inputs.nixpkgs.legacyPackages.${system};
9+
buildGoModule = cleanPkgs.buildGoModule.override { go = go124; };
810
in
911
{
10-
packages.gatekeeper = inputs.gatekeeper.lib.${system}.makeGatekeeper { go = go124; };
12+
packages.gatekeeper = buildGoModule {
13+
pname = "gatekeeper";
14+
version = "0.1.0";
15+
16+
src = inputs.gatekeeper-src;
17+
18+
vendorHash = "sha256-pdF+bhvZQwd2iSEHVtDAGihkYZGSaQaFdsF8MSrWuKQ=";
19+
20+
buildInputs =
21+
[ cleanPkgs.pam ]
22+
++ cleanPkgs.lib.optionals cleanPkgs.stdenv.isDarwin [
23+
cleanPkgs.darwin.apple_sdk.frameworks.Security
24+
];
25+
26+
buildPhase = ''
27+
runHook preBuild
28+
go build -buildmode=c-shared -o pam_jwt_pg.so
29+
runHook postBuild
30+
'';
31+
32+
installPhase = ''
33+
runHook preInstall
34+
mkdir -p $out/lib/security
35+
cp pam_jwt_pg.so $out/lib/security/
36+
runHook postInstall
37+
'';
38+
39+
meta = with pkgs.lib; {
40+
description = "PAM module for JWT authentication with PostgreSQL backend";
41+
homepage = "https://github.com/supabase/jit-db-gatekeeper";
42+
license = licenses.mit;
43+
platforms = platforms.unix;
44+
};
45+
};
1146
};
1247
}

0 commit comments

Comments
 (0)