Commit 4a6ce1ef authored by Chris Roberts's avatar Chris Roberts
Browse files

supercronic: init at 0.2.27

A handy cron-alike that is well-suited for running in a container for
the following reasons:
* Does not daemonize by default
* Preserves container environment for crontab
* Runs as non-root
* Logs crontab output to stdout
parent 8b1325bc
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
{ lib
, buildGoModule
, fetchFromGitHub
, python3
, bash
, coreutils
}:

buildGoModule rec {
  pname = "supercronic";
  version = "0.2.27";

  src = fetchFromGitHub {
    owner = "aptible";
    repo = pname;
    rev = "v${version}";
    hash = "sha256-sgKvE8Ze2qKPgdaAwN1sB0wX7k5VRx8+llkT54xXvrM=";
  };

  vendorHash = "sha256-j1iduvu+dKmhvPN8pe50fGQU5cC9N3gfoMh9gSQDbf8=";

  excludedPackages = [ "cronexpr/cronexpr" ];

  nativeCheckInputs = [ python3 bash coreutils ];

  postConfigure = ''
    # There are tests that set the shell to various paths
    substituteInPlace cron/cron_test.go --replace /bin/sh ${bash}/bin/sh
    substituteInPlace cron/cron_test.go --replace /bin/false ${coreutils}/bin/false
  '';

  meta = with lib; {
    description = "Cron tool designed for use in containers";
    homepage = "https://github.com/aptible/supercronic";
    license = licenses.mit;
    maintainers = with maintainers; [ nasageek ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -1566,6 +1566,8 @@ with pkgs;
  steamtinkerlaunch = callPackage ../tools/games/steamtinkerlaunch {};
  supercronic = callPackage ../tools/system/supercronic { };
  supermin = callPackage ../tools/virtualization/supermin { };
  sx-go = callPackage ../tools/security/sx-go { };