diff options
author | Jaka Hudoklin <jakahudoklin@gmail.com> | 2014-12-02 12:08:37 +0100 |
---|---|---|
committer | Jaka Hudoklin <jakahudoklin@gmail.com> | 2014-12-02 12:22:05 +0100 |
commit | aeba2947b0c8c8df63cae95bc9444e2a2fb5970a (patch) | |
tree | 69f8487eae92eb44754f9e0c1229f92ca55b96e6 /pkgs/applications/networking/cluster/chronos/default.nix | |
parent | 14ba80a6e1b44f62a2ce7d7cb1d482d182269622 (diff) | |
download | nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.tar nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.tar.gz nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.tar.bz2 nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.tar.lz nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.tar.xz nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.tar.zst nixpkgs-aeba2947b0c8c8df63cae95bc9444e2a2fb5970a.zip |
Add chronos, fault tolerant job scheduler for Mesos
Diffstat (limited to 'pkgs/applications/networking/cluster/chronos/default.nix')
-rw-r--r-- | pkgs/applications/networking/cluster/chronos/default.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/applications/networking/cluster/chronos/default.nix b/pkgs/applications/networking/cluster/chronos/default.nix new file mode 100644 index 00000000000..58d56feea70 --- /dev/null +++ b/pkgs/applications/networking/cluster/chronos/default.nix @@ -0,0 +1,38 @@ +{ stdenv, lib, makeWrapper, fetchgit, curl, jdk, maven, nodejs, mesos }: + +stdenv.mkDerivation rec { + name = "chronos-${version}"; + version = "286b2ccb8e4695f8e413406ceca85b60d3a87e22"; + + src = fetchgit { + url = "https://github.com/airbnb/chronos"; + rev = version; + sha256 = "6c463c30530dc82276d30087e7ab08d6964b884232c0a93f691cef9fa1ff2651"; + }; + + buildInputs = [ makeWrapper curl jdk maven nodejs mesos ]; + + mavenRepo = import ./chronos-deps.nix { inherit stdenv curl; }; + + buildPhase = '' + ln -s $mavenRepo .m2 + mvn package -Dmaven.repo.local=$(pwd)/.m2 + ''; + + installPhase = '' + mkdir -p $out/{bin,libexec/chronos} + cp target/chronos*.jar $out/libexec/chronos/${name}.jar + + makeWrapper ${jdk.jre}/bin/java $out/bin/chronos \ + --add-flags "-Xmx384m -Xms384m -cp $out/libexec/chronos/${name}.jar com.airbnb.scheduler.Main" \ + --prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY" + ''; + + meta = with lib; { + homepage = https://github.com/airbnb/chronos; + license = licenses.asl20; + description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules"; + maintainers = with maintainers; [ offline ]; + platforms = with platforms; unix; + }; +} |