diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b79a3170eddf..752bb5a64c63 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12053,6 +12053,13 @@ githubId = 1198065; name = "Jeffrey David Johnson"; }; + jefferyoo = { + email = "oojefferywm@proton.me"; + github = "jefferyoo"; + githubId = 237098253; + name = "Jeffery Oo"; + keys = [ { fingerprint = "7129 408E 3D97 47EB FCE1 A6D5 1999 2BEC E706 CC59"; } ]; + }; jefflabonte = { email = "jean-francois.labonte@brightonlabs.ai"; github = "JeffLabonte"; @@ -14207,6 +14214,12 @@ githubId = 160317; name = "Kristoffer Søholm"; }; + krit = { + email = "dasskrit@gmail.com"; + github = "kritdass"; + githubId = 68750861; + name = "Krit Dass"; + }; kritnich = { email = "kritnich@kritni.ch"; github = "Kritnich"; diff --git a/pkgs/by-name/ke/keycloak/all-plugins.nix b/pkgs/by-name/ke/keycloak/all-plugins.nix index f000a43a06e7..99f123433053 100644 --- a/pkgs/by-name/ke/keycloak/all-plugins.nix +++ b/pkgs/by-name/ke/keycloak/all-plugins.nix @@ -4,15 +4,19 @@ junixsocket-common, junixsocket-native-common, }: - { - scim-for-keycloak = callPackage ./scim-for-keycloak { }; - scim-keycloak-user-storage-spi = callPackage ./scim-keycloak-user-storage-spi { }; + keycloak-2fa-sms-authenticator = callPackage ./keycloak-2fa-sms-authenticator { }; + keycloak-config-cli = callPackage ./keycloak-config-cli { }; keycloak-discord = callPackage ./keycloak-discord { }; + keycloak-enforce-mfa-authenticator = callPackage ./keycloak-enforce-mfa-authenticator { }; keycloak-magic-link = callPackage ./keycloak-magic-link { }; keycloak-metrics-spi = callPackage ./keycloak-metrics-spi { }; - keycloak-restrict-client-auth = callPackage ./keycloak-restrict-client-auth { }; + keycloak-orgs = callPackage ./keycloak-orgs { }; keycloak-remember-me-authenticator = callPackage ./keycloak-remember-me-authenticator { }; + keycloak-restrict-client-auth = callPackage ./keycloak-restrict-client-auth { }; + keycloak-secrets-vault-provider = callPackage ./keycloak-secrets-vault-provider { }; + scim-for-keycloak = callPackage ./scim-for-keycloak { }; + scim-keycloak-user-storage-spi = callPackage ./scim-keycloak-user-storage-spi { }; # junixsocket provides Unix domain socket support for JDBC connections, # which is required for connecting to PostgreSQL via Unix socket. diff --git a/pkgs/by-name/ke/keycloak/keycloak-2fa-sms-authenticator/default.nix b/pkgs/by-name/ke/keycloak/keycloak-2fa-sms-authenticator/default.nix new file mode 100644 index 000000000000..e456b5f6a83a --- /dev/null +++ b/pkgs/by-name/ke/keycloak/keycloak-2fa-sms-authenticator/default.nix @@ -0,0 +1,43 @@ +{ + stdenv, + maven, + lib, + fetchFromGitHub, +}: +maven.buildMavenPackage rec { + pname = "keycloak-2fa-sms-authenticator"; + version = "26.4.10"; + + src = fetchFromGitHub { + owner = "netzbegruenung"; + repo = "keycloak-mfa-plugins"; + tag = "v${version}"; + hash = "sha256-J7t/SRfK/LTcW7Y+D6bkHcXK+lKqUYLEqSpNWJUC3kQ="; + }; + + mvnHash = + let + mvnHashes = { + "aarch64-darwin" = "sha256-eRlu24SYe+PBOTKoAQPd5MoM7VUxHZx4/uiW6mV2PZI="; + "x86_64-darwin" = "sha256-p+XpCjXiEPMJnXIrbD2Qse/csZfv8YZ6h+sNZitCyro="; + "aarch64-linux" = "sha256-4P9qM3X99dEy3ssr1+vp65QUJikRfE4EoK6LOta9IFs="; + "x86_64-linux" = "sha256-wxgEHC1xJahyoizozvRfRZAWTjrYmYNM42yk+ZRke5A="; + }; + in + mvnHashes.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + installPhase = '' + runHook preInstall + install -Dm644 sms-authenticator/target/netzbegruenung.sms-authenticator-v${version}.jar \ + $out/keycloak-2fa-sms-authenticator.jar + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/netzbegruenung/keycloak-mfa-plugins"; + description = "Keycloak authentication provider for 2FA via SMS"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ anish ]; + }; +} diff --git a/pkgs/by-name/ke/keycloak/keycloak-config-cli/default.nix b/pkgs/by-name/ke/keycloak/keycloak-config-cli/default.nix new file mode 100644 index 000000000000..2f9d8e722cba --- /dev/null +++ b/pkgs/by-name/ke/keycloak/keycloak-config-cli/default.nix @@ -0,0 +1,37 @@ +{ + maven, + lib, + fetchFromGitHub, +}: +maven.buildMavenPackage rec { + pname = "keycloak-config-cli"; + version = "6.4.0"; + + src = fetchFromGitHub { + owner = "adorsys"; + repo = "keycloak-config-cli"; + tag = "v${version}"; + hash = "sha256-Vg56Dz9U0eAJw+7u90MSZWmMIZttWYGXAwsXZsEfTj8="; + }; + + mvnHash = "sha256-tdh8hRqGXI3zuwy55dC3La9dm2naqeCEZT4qcw37iDI="; + + # Tests use MockServer which needs to bind to a local port + __darwinAllowLocalNetworking = true; + + installPhase = '' + runHook preInstall + install -Dm444 -t "$out" target/keycloak-config-cli.jar + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/adorsys/keycloak-config-cli/"; + description = "Import YAML/JSON-formatted configuration files into Keycloak"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + jefferyoo + anish + ]; + }; +} diff --git a/pkgs/by-name/ke/keycloak/keycloak-discord/default.nix b/pkgs/by-name/ke/keycloak/keycloak-discord/default.nix index 0e85c71c99a7..ec9958e45260 100644 --- a/pkgs/by-name/ke/keycloak/keycloak-discord/default.nix +++ b/pkgs/by-name/ke/keycloak/keycloak-discord/default.nix @@ -29,7 +29,7 @@ maven.buildMavenPackage rec { installPhase = '' runHook preInstall - install -Dm444 target/keycloak-discord-${version}.jar "$out/keycloak-discord-${version}.jar" + install -Dm444 -t "$out" target/keycloak-discord-${version}.jar runHook postInstall ''; diff --git a/pkgs/by-name/ke/keycloak/keycloak-enforce-mfa-authenticator/default.nix b/pkgs/by-name/ke/keycloak/keycloak-enforce-mfa-authenticator/default.nix new file mode 100644 index 000000000000..5a2f0bb9afa7 --- /dev/null +++ b/pkgs/by-name/ke/keycloak/keycloak-enforce-mfa-authenticator/default.nix @@ -0,0 +1,43 @@ +{ + stdenv, + maven, + lib, + fetchFromGitHub, +}: +maven.buildMavenPackage rec { + pname = "keycloak-enforce-mfa-authenticator"; + version = "26.4.10"; + + src = fetchFromGitHub { + owner = "netzbegruenung"; + repo = "keycloak-mfa-plugins"; + tag = "v${version}"; + hash = "sha256-J7t/SRfK/LTcW7Y+D6bkHcXK+lKqUYLEqSpNWJUC3kQ="; + }; + + mvnHash = + let + mvnHashes = { + "aarch64-darwin" = "sha256-eRlu24SYe+PBOTKoAQPd5MoM7VUxHZx4/uiW6mV2PZI="; + "x86_64-darwin" = "sha256-p+XpCjXiEPMJnXIrbD2Qse/csZfv8YZ6h+sNZitCyro="; + "aarch64-linux" = "sha256-4P9qM3X99dEy3ssr1+vp65QUJikRfE4EoK6LOta9IFs="; + "x86_64-linux" = "sha256-wxgEHC1xJahyoizozvRfRZAWTjrYmYNM42yk+ZRke5A="; + }; + in + mvnHashes.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + installPhase = '' + runHook preInstall + install -Dm644 enforce-mfa/target/netzbegruenung.enforce-mfa-v${version}.jar \ + $out/keycloak-enforce-mfa-authenticator.jar + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/netzbegruenung/keycloak-mfa-plugins"; + description = "Keycloak authenticator that enforces MFA"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ anish ]; + }; +} diff --git a/pkgs/by-name/ke/keycloak/keycloak-orgs/default.nix b/pkgs/by-name/ke/keycloak/keycloak-orgs/default.nix new file mode 100644 index 000000000000..ec8c0962bc64 --- /dev/null +++ b/pkgs/by-name/ke/keycloak/keycloak-orgs/default.nix @@ -0,0 +1,34 @@ +{ + maven, + lib, + fetchFromGitHub, +}: +maven.buildMavenPackage rec { + pname = "keycloak-orgs"; + version = "0.126"; + + src = fetchFromGitHub { + owner = "p2-inc"; + repo = "keycloak-orgs"; + tag = "v${version}"; + hash = "sha256-AQvIkmm8YJoNMcN+85OEbBud7YDLAlk5NfC05js1k2Y="; + }; + + mvnHash = "sha256-lq3N0XBRyR9I6U0gvjsjJ9r6fZINSsTWAMvdDEIsT0g="; + + # Tell buildnumber-maven-plugin to use a fallback value because git/.git aren't present + mvnParameters = "-Dmaven.buildNumber.revisionOnScmFailure=v${version} -DskipTests"; + + installPhase = '' + runHook preInstall + install -Dm644 -t "$out" target/keycloak-orgs-${version}.jar + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/p2-inc/keycloak-orgs"; + description = "Multi-tenancy on a single Keycloak realm via first-class organization objects"; + license = lib.licenses.elastic20; + maintainers = with lib.maintainers; [ anish ]; + }; +} diff --git a/pkgs/by-name/ke/keycloak/keycloak-restrict-client-auth/default.nix b/pkgs/by-name/ke/keycloak/keycloak-restrict-client-auth/default.nix index 2e02a2c1b1e9..433929ed3801 100644 --- a/pkgs/by-name/ke/keycloak/keycloak-restrict-client-auth/default.nix +++ b/pkgs/by-name/ke/keycloak/keycloak-restrict-client-auth/default.nix @@ -11,7 +11,7 @@ maven.buildMavenPackage rec { src = fetchFromGitHub { owner = "sventorben"; repo = "keycloak-restrict-client-auth"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-nQ2AwXhSUu5RY/BbxXE2OXgEb7Zf6FfrGP5tfbgAXk8="; }; diff --git a/pkgs/by-name/ke/keycloak/keycloak-secrets-vault-provider/default.nix b/pkgs/by-name/ke/keycloak/keycloak-secrets-vault-provider/default.nix new file mode 100644 index 000000000000..fa1c0f7cbee5 --- /dev/null +++ b/pkgs/by-name/ke/keycloak/keycloak-secrets-vault-provider/default.nix @@ -0,0 +1,34 @@ +{ + maven, + lib, + fetchFromGitHub, +}: +maven.buildMavenPackage rec { + pname = "keycloak-secrets-vault-provider"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "Nordix"; + repo = "keycloak-secrets-vault-provider"; + tag = "v${version}"; + hash = "sha256-7ttjTm3D+dDiw+00pK4yvDFNCuXFmapPKnOY7vfa2Ac="; + }; + + mvnHash = "sha256-AJwt6JnNAffXzazWI2fIUMp5j/Fm5LRhO31bOUOl7g0="; + + installPhase = '' + runHook preInstall + install -Dm644 -t "$out/keycloak-secrets-vault-provider.jar" target/secrets-provider-${version}.jar + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/Nordix/keycloak-secrets-vault-provider"; + description = "Keycloak Vault SPI provider for OpenBao and HashiCorp Vault"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + krit + anish + ]; + }; +} diff --git a/pkgs/by-name/ke/keycloak/package.nix b/pkgs/by-name/ke/keycloak/package.nix index d435dcd1596c..b830d8b81a18 100644 --- a/pkgs/by-name/ke/keycloak/package.nix +++ b/pkgs/by-name/ke/keycloak/package.nix @@ -102,6 +102,8 @@ stdenv.mkDerivation (finalAttrs: { nickcao leona anish + krit + jefferyoo ]; }; }) diff --git a/pkgs/by-name/ke/keycloak/scim-for-keycloak/default.nix b/pkgs/by-name/ke/keycloak/scim-for-keycloak/default.nix index 2d873fa51f41..0e383a47f89f 100644 --- a/pkgs/by-name/ke/keycloak/scim-for-keycloak/default.nix +++ b/pkgs/by-name/ke/keycloak/scim-for-keycloak/default.nix @@ -11,7 +11,7 @@ maven.buildMavenPackage rec { src = fetchFromGitHub { owner = "Captain-P-Goldfish"; repo = "scim-for-keycloak"; - rev = version; + tag = version; hash = "sha256-kHjCVkcD8C0tIaMExDlyQmcWMhypisR1nyG93laB8WU="; };