From 880d5b695131df9a23e30d66a89b3efb0a0e40bc Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Fri, 19 Jan 2018 01:17:11 +0000 Subject: [PATCH] add NETDISCO_DB_* --- lib/App/Netdisco/Configuration.pm | 19 ++++++++++++++++++- lib/App/Netdisco/Worker/Plugin/Psql.pm | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/App/Netdisco/Configuration.pm b/lib/App/Netdisco/Configuration.pm index 25f8e034..b6d9f378 100644 --- a/lib/App/Netdisco/Configuration.pm +++ b/lib/App/Netdisco/Configuration.pm @@ -18,7 +18,24 @@ BEGIN { # set up database schema config from simple config vars if (ref {} eq ref setting('database')) { - my $name = ($ENV{NETDISCO_DBNAME} || setting('database')->{name} || 'netdisco'); + setting('database')->{name} = + ($ENV{NETDISCO_DB_NAME} || $ENV{NETDISCO_DBNAME} || setting('database')->{name}); + + setting('database')->{host} = + ($ENV{NETDISCO_DB_HOST} || $ENV{DB_PORT_5432_TCP_ADDR} || setting('database')->{host}); + + setting('database')->{host} .= + (';'. ($ENV{NETDISCO_DB_PORT} || $ENV{DB_PORT_5432_TCP_PORT})) + if (setting('database')->{host} and + ($ENV{NETDISCO_DB_PORT} || $ENV{DB_PORT_5432_TCP_PORT})); + + setting('database')->{user} = + ($ENV{NETDISCO_DB_USER} || $ENV{DB_ENV_POSTGRES_USER} || setting('database')->{user}); + + setting('database')->{pass} = + ($ENV{NETDISCO_DB_PASS} || $ENV{DB_ENV_POSTGRES_PASSWORD} || setting('database')->{pass}); + + my $name = setting('database')->{name}; my $host = setting('database')->{host}; my $user = setting('database')->{user}; my $pass = setting('database')->{pass}; diff --git a/lib/App/Netdisco/Worker/Plugin/Psql.pm b/lib/App/Netdisco/Worker/Plugin/Psql.pm index b47f3823..df6e455f 100644 --- a/lib/App/Netdisco/Worker/Plugin/Psql.pm +++ b/lib/App/Netdisco/Worker/Plugin/Psql.pm @@ -8,7 +8,7 @@ register_worker({ phase => 'main' }, sub { my ($job, $workerconf) = @_; my ($device, $port, $extra) = map {$job->$_} qw/device port extra/; - my $name = ($ENV{NETDISCO_DBNAME} || setting('database')->{name} || 'netdisco'); + my $name = setting('database')->{name}; my $host = setting('database')->{host}; my $user = setting('database')->{user}; my $pass = setting('database')->{pass};