diff --git a/example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix b/example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix index 02902a5..2468aed 100644 --- a/example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix +++ b/example-deployments/disnix/processes-with-tomcat-mysql-multi-instance.nix @@ -40,7 +40,7 @@ rec { requiresUniqueIdsFor = [ "uids" "gids" ]; }; - tomcat-primary = containerProviderConstructors.disnixAppservingTomcat { + tomcat-primary = containerProviderConstructors.simpleAppservingTomcat { instanceSuffix = "-primary"; httpPort = 8080; httpsPort = 8443; @@ -53,7 +53,7 @@ rec { properties.requiresUniqueIdsFor = [ "uids" "gids" ]; }; - tomcat-secondary = containerProviderConstructors.disnixAppservingTomcat { + tomcat-secondary = containerProviderConstructors.simpleAppservingTomcat { instanceSuffix = "-secondary"; httpPort = 8081; httpsPort = 8444; @@ -82,7 +82,6 @@ rec { pkg = constructors.disnix-service { inherit dbus-daemon; containerProviders = [ tomcat-primary tomcat-secondary mysql-primary mysql-secondary ]; - authorizedUsers = [ tomcat-primary.name tomcat-secondary.name ]; }; requiresUniqueIdsFor = [ "gids" ]; diff --git a/example-deployments/disnix/processes-with-tomcat-mysql.nix b/example-deployments/disnix/processes-with-tomcat-mysql.nix index 9f3dd7f..4e85197 100644 --- a/example-deployments/disnix/processes-with-tomcat-mysql.nix +++ b/example-deployments/disnix/processes-with-tomcat-mysql.nix @@ -46,6 +46,7 @@ rec { pkgs.tomcat9.webapps # Include the Tomcat example and management applications ]; enableAJP = true; + inherit dbus-daemon; properties.requiresUniqueIdsFor = [ "uids" "gids" ]; }; diff --git a/service-containers-agnostic/apache-tomcat/disnix-appserving-tomcat.nix b/service-containers-agnostic/apache-tomcat/disnix-appserving-tomcat.nix index 64a8898..b245070 100644 --- a/service-containers-agnostic/apache-tomcat/disnix-appserving-tomcat.nix +++ b/service-containers-agnostic/apache-tomcat/disnix-appserving-tomcat.nix @@ -1,15 +1,18 @@ {tomcatConstructorFun, lib, tomcat, libmatthew_java, dbus_java, DisnixWebService, dysnomia, stateDir}: -args: +{dbus-daemon, ...}@args: +let + instanceArgs = removeAttrs args [ "dbus-daemon" ]; +in import ./simple-appserving-tomcat.nix { inherit tomcatConstructorFun lib tomcat dysnomia stateDir; -} (args // { - javaOpts = lib.optionalString (args ? javaOpts) "${args.javaOpts} " + "-Djava.library.path=${libmatthew_java}/lib/jni"; - sharedLibs = args.sharedLibs or [] ++ [ +} (instanceArgs // { + javaOpts = lib.optionalString (instanceArgs ? javaOpts) "${instanceArgs.javaOpts} " + "-Djava.library.path=${libmatthew_java}/lib/jni"; + sharedLibs = instanceArgs.sharedLibs or [] ++ [ "${DisnixWebService}/share/java/DisnixConnection.jar" "${dbus_java}/share/java/dbus.jar" ]; - webapps = args.webapps or [ tomcat.webapps ] - ++ [ DisnixWebService ]; + webapps = instanceArgs.webapps or [ tomcat.webapps ] ++ [ DisnixWebService ]; + dependencies = instanceArgs.dependencies or [] ++ [ dbus-daemon.pkg ]; }) diff --git a/service-containers-agnostic/apache-tomcat/simple-appserving-tomcat.nix b/service-containers-agnostic/apache-tomcat/simple-appserving-tomcat.nix index c34ac8a..b3184b8 100644 --- a/service-containers-agnostic/apache-tomcat/simple-appserving-tomcat.nix +++ b/service-containers-agnostic/apache-tomcat/simple-appserving-tomcat.nix @@ -12,6 +12,7 @@ , webapps ? [ tomcat.webapps ] , enableAJP ? false , type ? null +, dependencies ? [] , properties ? {} }: @@ -19,7 +20,7 @@ let catalinaBaseDir = "${stateDir}/${instanceName}"; pkg = tomcatConstructorFun { - inherit instanceName serverPort httpPort httpsPort ajpPort javaOpts catalinaOpts commonLibs sharedLibs webapps enableAJP; + inherit instanceName serverPort httpPort httpsPort ajpPort javaOpts catalinaOpts commonLibs sharedLibs webapps enableAJP dependencies; postInstall = '' # Add Dysnomia container configuration file for a Tomcat web application diff --git a/services-agnostic/apache-tomcat/default.nix b/services-agnostic/apache-tomcat/default.nix index aebf963..898fa11 100644 --- a/services-agnostic/apache-tomcat/default.nix +++ b/services-agnostic/apache-tomcat/default.nix @@ -6,6 +6,7 @@ , javaOpts ? "" , catalinaOpts ? "" , commonLibs ? [] +, dependencies ? [] , postInstall ? "" }: @@ -17,7 +18,7 @@ let in createManagedProcess rec { name = instanceName; - inherit instanceName user pidFile postInstall; + inherit instanceName user pidFile dependencies postInstall; process = "${tomcat}/bin/catalina.sh"; args = [ "run" ]; diff --git a/services-agnostic/apache-tomcat/simple-appserving-tomcat.nix b/services-agnostic/apache-tomcat/simple-appserving-tomcat.nix index a573b45..58261ad 100644 --- a/services-agnostic/apache-tomcat/simple-appserving-tomcat.nix +++ b/services-agnostic/apache-tomcat/simple-appserving-tomcat.nix @@ -12,6 +12,7 @@ , sharedLibs ? [] , webapps ? [ tomcat.webapps ] , enableAJP ? false +, dependencies ? [] , postInstall ? "" }: @@ -96,5 +97,5 @@ in import ./default.nix { inherit createManagedProcess lib tomcat jre stateDir runtimeDir tmpDir forceDisableUserChange; } { - inherit tomcatConfigFiles instanceName javaOpts catalinaOpts commonLibs postInstall; + inherit tomcatConfigFiles instanceName javaOpts catalinaOpts commonLibs dependencies postInstall; } diff --git a/services-agnostic/disnix-service/dysnomia-env.nix b/services-agnostic/disnix-service/dysnomia-env.nix index 71329bd..c4f62b6 100644 --- a/services-agnostic/disnix-service/dysnomia-env.nix +++ b/services-agnostic/disnix-service/dysnomia-env.nix @@ -6,6 +6,7 @@ , processManager , dysnomiaProperties , dysnomiaContainers + , containerProviders , extraDysnomiaContainersPath , processManagerContainerSettings