Compare commits

..

No commits in common. "3c41de82c3bbb4fb5a280723795e3dc5a88cd7be" and "6bb0bc723d4bf61eaa0af4fbe6c3bbae8e20c8fe" have entirely different histories.

5 changed files with 82 additions and 82 deletions

View file

@ -69,7 +69,7 @@ buildGo125Module {
] ++ lib.optionals guacamoleAvailable [ ] ++ lib.optionals guacamoleAvailable [
"cmd/rac" "cmd/rac"
]; ];
vendorHash = "sha256-aWXC0D3ixJ+G3gKx3v4gTyF6SfLKaLuMx6kTzhjW65Y="; vendorHash = "sha256-Rz6qSQjcTcwJy94fs6MDx/M/dfPxe7V2GTu7/ugvFTA=";
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
doCheck = false; doCheck = false;
postInstall = '' postInstall = ''

42
flake.lock generated
View file

@ -3,11 +3,11 @@
"authentik-go": { "authentik-go": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1778672763, "lastModified": 1771856219,
"narHash": "sha256-K0dzj+GnajGz63Gp+NYyhanjhtDxpzCKpmdIZYMfz/M=", "narHash": "sha256-zTEmvxe+BpfWYvAl675PnhXCH4jV4GUTFb1MrQ1Eyno=",
"owner": "goauthentik", "owner": "goauthentik",
"repo": "client-go", "repo": "client-go",
"rev": "58f64509446aab6bc2d9b1fe36be19b5f2a3b4a8", "rev": "4c1444ee54d945fbcc5ae107b4f191ca0352023d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,11 +54,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1778716662, "lastModified": 1769996383,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -113,11 +113,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1778443072, "lastModified": 1771848320,
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", "rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -129,11 +129,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1777168982, "lastModified": 1769909678,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", "rev": "72716169fe93074c333e8d0173151350670b824c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -155,11 +155,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1779676664, "lastModified": 1771423342,
"narHash": "sha256-MbXylBTkWqVm8/VYjoULtMoVRgWBN1gSHbeRKsOsPlU=", "narHash": "sha256-7uXPiWB0YQ4HNaAqRvVndYL34FEp1ZTwVQHgZmyMtC8=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "build-system-pkgs", "repo": "build-system-pkgs",
"rev": "7bff980f37fc24e09dbc986643719900c139bf12", "rev": "04e9c186e01f0830dad3739088070e4c551191a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -175,11 +175,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776715674, "lastModified": 1771518446,
"narHash": "sha256-Gs1VnEkCkkRZxJQAC/Dhz0Jbfi22mFXChbtNg9w/Ybg=", "narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "pyproject.nix", "repo": "pyproject.nix",
"rev": "69f57f27e52a87c54e28138a75ec741cd46663c9", "rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -228,11 +228,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1779411315, "lastModified": 1777895960,
"narHash": "sha256-IMFlxeyClau51KplhhSRGhdGTvD/knShHdybP1UOTuk=", "narHash": "sha256-KebDsQd+A7pm++Tp0744EjULttHvz1wbKqNKkMA/088=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "uv2nix", "repo": "uv2nix",
"rev": "fdf2a76275d7a9c27deb5d2f2ab33526ac9052ff", "rev": "5ad90d48b80ecc920ca2247d53f46beba302e186",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -176,15 +176,15 @@
terraform-provider-authentik = inputs.nixpkgs.legacyPackages.${system}.buildGoModule rec { terraform-provider-authentik = inputs.nixpkgs.legacyPackages.${system}.buildGoModule rec {
pname = "terraform-provider-authentik"; pname = "terraform-provider-authentik";
version = "2026.2.0"; version = "2025.12.0";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "goauthentik"; owner = "goauthentik";
repo = pname; repo = pname;
tag = "v${version}"; rev = "v${version}";
hash = "sha256-a4V9bc7Xwq43Ld5Uey40+1BUUS9RFT2yqd0ZdILwsSE="; sha256 = "sha256-1a8HaOqTckkbbHLM58L+LY1eCp8+sVkuOmAw7xljpTU=";
}; };
doCheck = false; # tests are run against authentik -> vm test doCheck = false; # tests are run against authentik -> vm test
vendorHash = "sha256-usaz9EKOCbTV2QEKWvCOdYDY2ieQOR5OZqU/S9PU1V0="; vendorHash = "sha256-LvXWlmCBXnHElZyTKpKPwfXgT53HpR+Bc5XjkB7bM/A=";
postInstall = '' postInstall = ''
path="$out/libexec/terraform-providers/registry.terraform.io/goauthentik/authentik/${version}/''${GOOS}_''${GOARCH}/" path="$out/libexec/terraform-providers/registry.terraform.io/goauthentik/authentik/${version}/''${GOOS}_''${GOARCH}/"
mkdir -p "$path" mkdir -p "$path"

View file

@ -59,44 +59,44 @@ pkgs.testers.runNixOSTest {
authentik.wait_until_succeeds("curl -fL http://localhost:9000/if/flow/initial-setup/ >&2") authentik.wait_until_succeeds("curl -fL http://localhost:9000/if/flow/initial-setup/ >&2")
with subtest("Frontend renders"): with subtest("Frontend renders"):
authentik.succeed("su - alice -c 'firefox --kiosk http://localhost:9000/if/flow/initial-setup/' >&2 &") machine.succeed("su - alice -c 'firefox http://localhost:9000/if/flow/initial-setup/' >&2 &")
authentik.wait_for_text("Welcome to authentik") machine.wait_for_text("Welcome to authentik")
authentik.screenshot("1_rendered_frontend") machine.screenshot("1_rendered_frontend")
with subtest("admin account setup works"): with subtest("admin account setup works"):
authentik.send_key("tab") machine.send_key("tab")
authentik.send_key("tab") machine.send_key("tab")
authentik.send_chars("akadmin@localhost") machine.send_chars("akadmin@localhost")
authentik.send_key("tab") machine.send_key("tab")
authentik.send_chars("foobar") machine.send_chars("foobar")
authentik.send_key("tab") machine.send_key("tab")
authentik.send_chars("foobar") machine.send_chars("foobar")
authentik.send_key("ret") machine.send_key("ret")
authentik.wait_for_text("My applications") machine.wait_for_text("My applications")
authentik.send_key("esc") machine.send_key("esc")
authentik.screenshot("2_initial_setup_successful") machine.screenshot("2_initial_setup_successful")
with subtest("admin settings render and version as expected"): with subtest("admin settings render and version as expected"):
authentik.succeed("su - alice -c 'firefox --kiosk http://localhost:9000/if/admin/' >&2 &") machine.succeed("su - alice -c 'firefox http://localhost:9000/if/admin/' >&2 &")
authentik.wait_for_text("General system status") machine.wait_for_text("General system status")
authentik.screenshot("3_rendered_admin_interface") machine.screenshot("3_rendered_admin_interface")
authentik.succeed("su - alice -c 'xdotool click 1' >&2") machine.succeed("su - alice -c 'xdotool click 1' >&2")
authentik.succeed("su - alice -c 'xdotool key --delay 100 Page_Down' >&2") machine.succeed("su - alice -c 'xdotool key --delay 100 Page_Down' >&2")
# sometimes the cursor covers the version string # sometimes the cursor covers the version string
authentik.succeed("su - alice -c 'xdotool mousemove_relative 50 50' >&2") machine.succeed("su - alice -c 'xdotool mousemove_relative 50 50' >&2")
authentik.wait_for_text("${builtins.replaceStrings [ "." ] [ ".?" ] authentik-version}") machine.wait_for_text("${builtins.replaceStrings [ "." ] [ ".?" ] authentik-version}")
authentik.screenshot("4_correct_version_in_admin_interface") machine.screenshot("4_correct_version_in_admin_interface")
with subtest("nginx proxies to authentik"): with subtest("nginx proxies to authentik"):
authentik.succeed("su - alice -c 'firefox --kiosk http://localhost/' >&2 &") machine.succeed("su - alice -c 'firefox http://localhost/' >&2 &")
authentik.wait_for_text("authentik") machine.wait_for_text("authentik")
authentik.screenshot("5_nginx_proxies_requests") machine.screenshot("5_nginx_proxies_requests")
with subtest("metrics & worker"): with subtest("metrics & worker"):
authentik.wait_for_open_port(9300) machine.wait_for_open_port(9300)
authentik.wait_for_open_port(9301) machine.wait_for_open_port(9301)
print(authentik.succeed("curl -L localhost:9300/metrics | grep authentik_outpost_connection | grep 'Embedded'")) print(machine.succeed("curl -L localhost:9300/metrics | grep authentik_outpost_connection | grep 'Embedded'"))
print(authentik.succeed("curl -L localhost:9301/metrics | grep authentik_tasks_total")) print(machine.succeed("curl -L localhost:9301/metrics | grep authentik_tasks_total"))
''; '';
} }

View file

@ -47,8 +47,8 @@ pkgs.testers.runNixOSTest {
nodes = { nodes = {
authentik = { authentik = {
virtualisation = { virtualisation = {
cores = 6; cores = 3;
memorySize = 8192; memorySize = 3072;
}; };
imports = [ imports = [
nixosModules.default nixosModules.default
@ -100,37 +100,37 @@ pkgs.testers.runNixOSTest {
authentik.wait_until_succeeds("curl -fL http://localhost:9000/if/flow/initial-setup/ >&2") authentik.wait_until_succeeds("curl -fL http://localhost:9000/if/flow/initial-setup/ >&2")
with subtest("Frontend renders"): with subtest("Frontend renders"):
authentik.succeed("su - alice -c 'firefox --kiosk http://localhost:9000/if/flow/initial-setup/' >&2 &") machine.succeed("su - alice -c 'firefox http://localhost:9000/if/flow/initial-setup/' >&2 &")
authentik.wait_for_text("${customWelcome}") machine.wait_for_text("${customWelcome}")
authentik.screenshot("1_rendered_frontend") machine.screenshot("1_rendered_frontend")
with subtest("admin account setup works"): with subtest("admin account setup works"):
authentik.send_key("tab") machine.send_key("tab")
authentik.send_key("tab") machine.send_key("tab")
authentik.send_chars("akadmin@localhost") machine.send_chars("akadmin@localhost")
authentik.send_key("tab") machine.send_key("tab")
authentik.send_chars("foobar") machine.send_chars("foobar")
authentik.send_key("tab") machine.send_key("tab")
authentik.send_chars("foobar") machine.send_chars("foobar")
authentik.send_key("ret") machine.send_key("ret")
authentik.wait_for_text("My applications") machine.wait_for_text("My applications")
authentik.send_key("esc") machine.send_key("esc")
authentik.screenshot("2_initial_setup_successful") machine.screenshot("2_initial_setup_successful")
with subtest("admin settings render and version as expected"): with subtest("admin settings render and version as expected"):
authentik.succeed("su - alice -c 'firefox --kiosk http://localhost:9000/if/admin/' >&2 &") machine.succeed("su - alice -c 'firefox http://localhost:9000/if/admin/' >&2 &")
authentik.wait_for_text("General system status") machine.wait_for_text("General system status")
authentik.screenshot("3_rendered_admin_interface") machine.screenshot("3_rendered_admin_interface")
authentik.succeed("su - alice -c 'xdotool click 1' >&2") machine.succeed("su - alice -c 'xdotool click 1' >&2")
authentik.succeed("su - alice -c 'xdotool key --delay 100 Page_Down' >&2") machine.succeed("su - alice -c 'xdotool key --delay 100 Page_Down' >&2")
# sometimes the cursor covers the version string # sometimes the cursor covers the version string
authentik.succeed("su - alice -c 'xdotool mousemove_relative 50 50' >&2") machine.succeed("su - alice -c 'xdotool mousemove_relative 50 50' >&2")
authentik.wait_for_text("${builtins.replaceStrings [ "." ] [ ".?" ] authentik-version}") machine.wait_for_text("${builtins.replaceStrings [ "." ] [ ".?" ] authentik-version}")
authentik.screenshot("4_correct_version_in_admin_interface") machine.screenshot("4_correct_version_in_admin_interface")
with subtest("nginx proxies to authentik"): with subtest("nginx proxies to authentik"):
authentik.succeed("su - alice -c 'firefox --kiosk http://localhost/' >&2 &") machine.succeed("su - alice -c 'firefox http://localhost/' >&2 &")
authentik.wait_for_text("authentik") machine.wait_for_text("authentik")
authentik.screenshot("5_nginx_proxies_requests") machine.screenshot("5_nginx_proxies_requests")
''; '';
} }