From c1ab2c58b68b0a012bb935420d42a6c1661536d3 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 22 Oct 2021 20:55:58 +0200 Subject: Add database dev helpers in dev environment Signed-off-by: Matthias Beyer --- default.nix | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/default.nix b/default.nix index e8cbc19..a76efdd 100644 --- a/default.nix +++ b/default.nix @@ -54,6 +54,31 @@ in rec { ''; }; + postgresDb = "helloworlddb"; + postgresUser = "helloworlduser"; + postgresPassword = "asdfghjkl"; + + postgresContainerName = "helloworld-dev-db"; + + run-dev-postgres-container = pkgs.writeScriptBin "run-dev-postgres-container" '' + ${pkgs.docker}/bin/docker run \ + --name ${postgresContainerName} \ + -e POSTGRES_PASSWORD="${postgresPassword}" \ + -p 5432:5432 \ + -m 512m \ + -d \ + --rm \ + postgres + + sleep 2 # because postgres needs to spin up + docker exec -it ${postgresContainerName} psql -U postgres -c "CREATE USER ${postgresUser} PASSWORD '${postgresPassword}' SUPERUSER CREATEDB INHERIT LOGIN" + docker exec -it ${postgresContainerName} createdb -U postgres ${postgresDb} + ''; + + destroy-dev-postgres-container = pkgs.writeScriptBin "destroy-dev-postgres-container" '' + docker stop ${postgresContainerName} + ''; + shell = let moz_overlay = import ( builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz @@ -68,9 +93,12 @@ in rec { deploy-to-kind test-deployment redeploy + run-dev-postgres-container + destroy-dev-postgres-container curl docker kubectl + diesel-cli rustchannel.rust-std rustchannel.rust @@ -82,8 +110,12 @@ in rec { gcc openssl pkgconfig + postgresql ]; + POSTGRES_PASSWORD = "${postgresPassword}"; + DATABASE_URL="postgres://${postgresUser}:${postgresPassword}@localhost/${postgresDb}"; + LIBCLANG_PATH = "${pkgs.llvmPackages.libclang}/lib"; }; -- cgit v1.2.3