autossh/examples/postgres.js
2016-05-07 18:18:10 -06:00

45 lines
1,021 B
JavaScript

/*
connecting to a remote postgres database using autossh
*/
const autossh = require('autossh');
const pg = require('pg').native; // install pg AND pg-native
/********** CONFIG *************/
const autosshConfig = {
host: parsedForm.sshHost,
username: parsedForm.sshUsername,
localPort: 'auto',
remotePort: parsedForm.connectionPort,
sshPort: parsedForm.sshPort,
privateKey: parsedForm.sshPrivateKey
};
const pgConfig = {
user: 'my_name',
database: 'my_database',
password: 'my_password',
host: 'localhost',
port: '5432'
};
/********** CONNECTION **********/
const autosshConnection = autossh(autosshConfig);
autosshConnection.on('error', autosshErr => {
console.error('SSH Error: ', autosshErr);
});
autosshConnection.on('connect', connection => {
const pgClient = new pg.Client(pgConfig);
pgClient.connect(pgError => {
if (pgError) {
autosshConnection.kill();
console.error('DATABASE ERROR');
return;
}
console.log('CONNECTED TO DATABASE');
});
});