about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2019-05-31 06:56:08 -0500
committerGitHub <noreply@github.com>2019-05-31 06:56:08 -0500
commit5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5 (patch)
tree3d73d6b4797bf1a93724b003bf71fae4944bf286
parent2c347116b5b2eb5810dcf1c6da5097450a524d30 (diff)
parente3156c859540407391ab19ee6d3e481eb949a6be (diff)
downloadnixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.tar
nixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.tar.gz
nixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.tar.bz2
nixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.tar.lz
nixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.tar.xz
nixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.tar.zst
nixlib-5dfbc73c3bfa0e831f13fd9c7f74904cb7b77af5.zip
Merge pull request #62006 from marsam/init-postgresql-pg_auto_failover
postgresqlPackages.pg_auto_failover: init at 1.0.2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix33
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
2 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
new file mode 100644
index 000000000000..d241d2aa7db6
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, postgresql, openssl }:
+
+if stdenv.lib.versionOlder postgresql.version "10"
+then throw "pg_auto_failover not supported for PostgreSQL ${postgresql.version}"
+else
+stdenv.mkDerivation rec {
+  pname = "pg_auto_failover";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "citusdata";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1296zk143y9fvmcg2hjbrjdjfhi5rrd0clh16vblkghcvxrzfyvy";
+  };
+
+  buildInputs = [ postgresql openssl ];
+
+  installPhase = ''
+    install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl
+    install -D -t $out/lib src/monitor/pgautofailover.so
+    install -D -t $out/share/extension src/monitor/*.sql
+    install -D -t $out/share/extension src/monitor/pgautofailover.control
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PostgreSQL extension and service for automated failover and high-availability";
+    homepage = "https://github.com/citusdata/pg_auto_failover";
+    maintainers = [ maintainers.marsam ];
+    platforms = postgresql.meta.platforms;
+    license = licenses.postgresql;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index 60faa2db2407..f3d2ac68884d 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -7,6 +7,8 @@ self: super: {
         };
     };
 
+    pg_auto_failover = super.callPackage ./ext/pg_auto_failover.nix { };
+
     pg_repack = super.callPackage ./ext/pg_repack.nix { };
 
     pg_similarity = super.callPackage ./ext/pg_similarity.nix { };