provide authentik components in separate scope

* provides a new function `lib.mkAuthentikScope` as a flake output to
  create a custom scope with overrides outside of this flake
* adds a slightly altered version of existing vm test to demonstrate the
  usage of `mkAuthentikScope` for overriding individual authentik
  components in tests/override-scope.nix
This commit is contained in:
WilliButz 2023-12-10 15:02:33 +01:00
parent 6df56466f9
commit 9b18007aac
No known key found for this signature in database
GPG key ID: FB0513677AB15BEA
3 changed files with 209 additions and 32 deletions

48
components/default.nix Normal file
View file

@ -0,0 +1,48 @@
{ authentik-src
, authentik-version
, authentikPoetryOverrides
, buildNapalmPackage
, defaultPoetryOverrides
, mkPoetryEnv
, pkgs
}:
pkgs.lib.makeScope pkgs.newScope (final:
let
docs = final.callPackage ./docs.nix {
inherit authentik-src authentik-version buildNapalmPackage;
};
frontend = final.callPackage ./frontend.nix {
inherit authentik-src authentik-version buildNapalmPackage;
};
pythonEnv = final.callPackage ./pythonEnv.nix {
inherit authentik-src mkPoetryEnv defaultPoetryOverrides authentikPoetryOverrides;
};
# server + outposts
gopkgs = final.callPackage ./gopkgs.nix {
inherit authentik-src authentik-version;
};
staticWorkdirDeps = final.callPackage ./staticWorkdirDeps.nix {
inherit authentik-src;
};
migrate = final.callPackage ./migrate.nix {
inherit authentik-src;
};
# worker
celery = final.callPackage ./celery.nix {
};
in
{
authentikComponents = {
inherit
docs
frontend
pythonEnv
gopkgs
staticWorkdirDeps
migrate
celery;
};
inherit authentik-src authentik-version;
}
)