summary refs log tree commit diff
path: root/upstart-jobs/jboss.nix
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-03-06 12:26:31 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-03-06 12:26:31 +0000
commitb17f9995d5d2bbbf2912ccb7639fbcc55b961b14 (patch)
treeb6c1ff07567c539ae02faea7b7270e6949977649 /upstart-jobs/jboss.nix
parent0c7129316caaef39a42d98ab4f1808a7c8d1441e (diff)
downloadnixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.tar
nixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.tar.gz
nixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.tar.bz2
nixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.tar.lz
nixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.tar.xz
nixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.tar.zst
nixpkgs-b17f9995d5d2bbbf2912ccb7639fbcc55b961b14.zip
Convert "jboss" (untested)
svn path=/nixos/branches/fix-style/; revision=14379
Diffstat (limited to 'upstart-jobs/jboss.nix')
-rw-r--r--upstart-jobs/jboss.nix79
1 files changed, 70 insertions, 9 deletions
diff --git a/upstart-jobs/jboss.nix b/upstart-jobs/jboss.nix
index 6c35fe06436..322ed92b920 100644
--- a/upstart-jobs/jboss.nix
+++ b/upstart-jobs/jboss.nix
@@ -1,21 +1,82 @@
-args: with args;
+{pkgs, config, ...}:
 
+###### interface
+let
+  inherit (pkgs.lib) mkOption mkIf;
+
+  options = {
+    services = {
+      jboss = {
+        enable = mkOption {
+          default = false;
+          description = "Whether to enable jboss";
+        };
+
+        tempDir = mkOption {
+          default = "/tmp";
+          description = "Location where JBoss stores its temp files";
+        };
+        
+        logDir = mkOption {
+          default = "/var/log/jboss";
+          description = "Location of the logfile directory of JBoss";
+        };
+        
+        serverDir = mkOption {
+          description = "Location of the server instance files";
+          default = "/var/jboss/server";
+        };
+        
+        deployDir = mkOption {
+          description = "Location of the deployment files";
+          default = "/nix/var/nix/profiles/default/server/default/deploy/";
+        };
+        
+        libUrl = mkOption {
+          default = "file:///nix/var/nix/profiles/default/server/default/lib";
+          description = "Location where the shared library JARs are stored";
+        };
+        
+        user = mkOption {
+          default = "nobody";
+          description = "User account under which jboss runs.";
+        };
+        
+        useJK = mkOption {
+          default = false;
+          description = "Whether to use to connector to the Apache HTTP server";
+        };
+      };
+    };
+  };
+in
+
+###### implementation
 let
 
 cfg = config.services.jboss;
-jbossService = import ../services/jboss {
+jbossService = import ../../services/jboss {
         inherit (pkgs) stdenv jboss su;
         inherit (cfg) tempDir logDir libUrl deployDir serverDir user useJK;
 };
 
 in
-{
-        name = "jboss";
-        job = "
-description \"JBoss server\"
 
-stop on shutdown
+mkIf config.services.jboss.enable {
+  require = [
+    options
+  ];
+
+  services = {
+    extraJobs = [{
+      name = "jboss";
+      job = ''
+          description \"JBoss server\"
+
+          stop on shutdown
 
-respawn ${jbossService}/bin/control start
-        ";
+          respawn ${jbossService}/bin/control start
+      '';
+    }];
+  };
 }