db schema & hba file must be set as env vars
This commit is contained in:
parent
7c8747c487
commit
8a685c1950
@ -55,19 +55,21 @@
|
|||||||
packages.${system} = {
|
packages.${system} = {
|
||||||
${name} = oms; # nixpkgs.legacyPackages.${system}.${name};
|
${name} = oms; # nixpkgs.legacyPackages.${system}.${name};
|
||||||
mkOauth2DB = pkgs.writeScriptBin "mkOauth2DB" ''
|
mkOauth2DB = pkgs.writeScriptBin "mkOauth2DB" ''
|
||||||
#!${pkgs.zsh}/bis/zsh -e
|
#!${pkgs.zsh}/bin/zsh -e
|
||||||
${mkDB}
|
${mkDB}
|
||||||
'';
|
'';
|
||||||
killOauth2DB = pkgs.writeScriptBin "killOauth2DB" ''
|
killOauth2DB = pkgs.writeScriptBin "killOauth2DB" ''
|
||||||
#!${pkgs.zsh}/bis/zsh -e
|
#!${pkgs.zsh}/bin/zsh -e
|
||||||
${killDB}
|
${killDB}
|
||||||
'';
|
'';
|
||||||
default = self.packages.${system}.${name};
|
default = self.packages.${system}.${name};
|
||||||
};
|
};
|
||||||
|
|
||||||
devShells.${system}.default = pkgs.mkShell {
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
buildInputs = buildInputs;
|
buildInputs = buildInputs ++ (with self.packages.${system}; [mkOauth2DB killOauth2DB]);
|
||||||
LD_LIBRARY_PATH = libPath;
|
LD_LIBRARY_PATH = libPath;
|
||||||
|
OAUTH2_HBA = ./hba_file;
|
||||||
|
OAUTH2_DB_SCHEMA = ./schema.sql;
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${mkDB}
|
${mkDB}
|
||||||
zsh
|
zsh
|
||||||
|
|||||||
6
mkDB.sh
6
mkDB.sh
@ -3,6 +3,8 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
[[ -z "${OAUTH2_HBA}" || -z "${OAUTH2_DB_SCHEMA}" ]] && echo "oauth2: missing env vars for hba and/or schema" && exit 1
|
||||||
|
|
||||||
export OAUTH2_SERVER_PORT=9443
|
export OAUTH2_SERVER_PORT=9443
|
||||||
export OAUTH2_DB_PORT=9444
|
export OAUTH2_DB_PORT=9444
|
||||||
|
|
||||||
@ -19,8 +21,8 @@ pgSockDir=$(mktemp -d --tmpdir="${absdir}" postgresql.sock.XXXXXX)
|
|||||||
pgLogFile=$(mktemp --tmpdir="${absdir}" postgresql.XXXXXX.log)
|
pgLogFile=$(mktemp --tmpdir="${absdir}" postgresql.XXXXXX.log)
|
||||||
|
|
||||||
initdb --no-locale -D "${pgDir}"
|
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"
|
pg_ctl start -D "${pgDir}" -l "${pgLogFile}" -w -o "-k ${pgSockDir} -c listen_addresses='::' -c hba_file='${OAUTH2_HBA}' -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}" -p ${OAUTH2_DB_PORT} -f ./schema.sql postgres
|
psql -h "${pgSockDir}" -p ${OAUTH2_DB_PORT} -f ${OAUTH2_DB_SCHEMA} postgres
|
||||||
|
|
||||||
printf "Postgres logfile is %s\nPostgres socket directory is %s\n" "${pgLogFile}" "${pgSockDir}"
|
printf "Postgres logfile is %s\nPostgres socket directory is %s\n" "${pgLogFile}" "${pgSockDir}"
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user