database config
This commit is contained in:
parent
4ccd17d357
commit
d7cca298bd
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
.stack-work/
|
.stack-work/
|
||||||
*~
|
*~
|
||||||
|
database/*
|
||||||
@ -13,6 +13,7 @@ main :: IO ()
|
|||||||
main = do
|
main = do
|
||||||
port <- determinePort
|
port <- determinePort
|
||||||
putStrLn $ "Try: http://localhost:" ++ show port ++ "/auth?scope=ID%20Profile&client_id=42&response_type=code&redirect_uri=http:%2F%2Flocalhost:0000%2F"
|
putStrLn $ "Try: http://localhost:" ++ show port ++ "/auth?scope=ID%20Profile&client_id=42&response_type=code&redirect_uri=http:%2F%2Flocalhost:0000%2F"
|
||||||
|
initDB
|
||||||
runMockServer @User @(M.Map T.Text T.Text) port
|
runMockServer @User @(M.Map T.Text T.Text) port
|
||||||
where
|
where
|
||||||
determinePort :: IO Int
|
determinePort :: IO Int
|
||||||
|
|||||||
@ -32,6 +32,7 @@
|
|||||||
devShells.${system}.default = pkgs.mkShell {
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
buildInputs = buildInputs;
|
buildInputs = buildInputs;
|
||||||
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
|
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
|
||||||
|
shellHook = "./mkDB.sh";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
28
mkDB.sh
Normal file
28
mkDB.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
export OAUTH2_SERVER_PORT=9443
|
||||||
|
export OAUTH2_DB_PORT=9444
|
||||||
|
|
||||||
|
tmpdir=./database
|
||||||
|
|
||||||
|
if [ ! -d "${tmpdir}" ]; then
|
||||||
|
mkdir ${tmpdir}
|
||||||
|
fi
|
||||||
|
|
||||||
|
pgDir=$(mktemp -d --tmpdir="${tmpdir}" postgresql.XXXXXX)
|
||||||
|
pgSockDir=$(mktemp -d --tmpdir="${tmpdir}" postgresql.sock.XXXXXX)
|
||||||
|
pgLogFile=$(mktemp --tmpdir="${tmpdir}" postgresql.XXXXXX.log)
|
||||||
|
|
||||||
|
initdb --no-locale -D "${pgDir}"
|
||||||
|
pg_ctl start -D "${pgDir}" -l "${pgLogFile}" -w -o "-k ${pgSockDir} -c listen_addresses=''' -c hba_file='hba_file' -p ${OAUTH2_DB_PORT} -h localhost -c unix_socket_permissions=0700 -c max_connections=10 -c session_preload_libraries=auto_explain -c auto_explain.log_min_duration=100ms"
|
||||||
|
psql -h "${pgSockDir}" -f ./schema.sql postgres
|
||||||
|
|
||||||
|
printf "Postgres logfile is %s\nPostgres socket directory is %s\n" "${pgLogFile}" "${pgSockDir}"
|
||||||
|
|
||||||
|
export PGHOST="${pgSockDir}"
|
||||||
|
export PGLOG="${pgLogFile}"
|
||||||
|
|
||||||
|
zsh
|
||||||
|
|
||||||
|
pg_ctl stop -D "${pgDir}"
|
||||||
|
rm -rvf "${pgDir}" "${pgSockDir}" "${pgLogFile}"
|
||||||
3
schema.sql
Normal file
3
schema.sql
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
CREATE USER oauth2mock WITH SUPERUSER;
|
||||||
|
CREATE DATABASE test_users;
|
||||||
|
GRANT ALL ON DATABASE test_users TO oauth2mock;
|
||||||
Loading…
Reference in New Issue
Block a user