about summary refs log tree commit diff
path: root/pkgs/servers/keycloak
diff options
context:
space:
mode:
authorBenjamin Staffin <benley@gmail.com>2023-08-21 18:16:06 -0400
committerBenjamin Staffin <bstaffin@singlestore.com>2024-05-14 14:26:35 -0400
commit64c94bd40ad53df26d1c2b4b8e769262422e8e66 (patch)
tree9a52465387ee9e04282b9b1e367b001be90a538a /pkgs/servers/keycloak
parent44615ede3861a0cbfd1353458ba24c073ac5b5a5 (diff)
nixos/keycloak: Add systemd startup notification
This makes it possible for other systemd units to depend on
keycloak.service using `after` and `wants` relationships, and systemd
will actually wait for Keycloak to finish its initialization before
starting any dependent units.  This can be important for services like
oauth2-proxy, which (when configured to use Keycloak as its auth
provider) will fail to start until Keycloak's
`.well-known/openid-configuration` endpoint is available.
Diffstat (limited to 'pkgs/servers/keycloak')
-rw-r--r--pkgs/servers/keycloak/all-plugins.nix18
1 files changed, 17 insertions, 1 deletions
diff --git a/pkgs/servers/keycloak/all-plugins.nix b/pkgs/servers/keycloak/all-plugins.nix
index f2f1117f2d84b..2e4c97ea1cec4 100644
--- a/pkgs/servers/keycloak/all-plugins.nix
+++ b/pkgs/servers/keycloak/all-plugins.nix
@@ -1,4 +1,4 @@
-{ callPackage }:
+{ callPackage, fetchMavenArtifact }:
 
 {
   scim-for-keycloak = callPackage ./scim-for-keycloak {};
@@ -6,4 +6,20 @@
   keycloak-discord = callPackage ./keycloak-discord {};
   keycloak-metrics-spi = callPackage ./keycloak-metrics-spi {};
   keycloak-restrict-client-auth = callPackage ./keycloak-restrict-client-auth {};
+
+  # These could theoretically be used by something other than Keycloak, but
+  # there are no other quarkus apps in nixpkgs (as of 2023-08-21)
+  quarkus-systemd-notify = (fetchMavenArtifact {
+    groupId = "io.quarkiverse.systemd.notify";
+    artifactId = "quarkus-systemd-notify";
+    version = "1.0.1";
+    hash = "sha256-3I4j22jyIpokU4kdobkt6cDsALtxYFclA+DV+BqtmLY=";
+  }).passthru.jar;
+
+  quarkus-systemd-notify-deployment = (fetchMavenArtifact {
+    groupId = "io.quarkiverse.systemd.notify";
+    artifactId = "quarkus-systemd-notify-deployment";
+    version = "1.0.1";
+    hash = "sha256-xHxzBxriSd/OU8gEcDG00VRkJYPYJDfAfPh/FkQe+zg=";
+  }).passthru.jar;
 }