pentaho-connections-deploy

0.1.3 • Public • Published

Overview

Have your connections information per environment into your projects repository and use this tool to deploy connections.

First install it globally

npm instlal -g pentaho-connections-deploy

Then, being on the same folder as your config.js file, type:

pentaho-connections-deploy --env=local

Or optionally pass the config file name using the argument --config=<filepath>

# The file connecttions.js is imported by config.js, so only 
# config.js has to be provided 
pentaho-connections-deploy --env=local --config=./config.js

For the given environment, it will:

  • Copy the necessary jdbc files into pentaho-server lib folder;
  • Copy the necessary jdbc files into data-integration lib folder;
  • Create/Update JNDI entries into the specified data-integration instalation;
  • Create/Update JDBC connections into the specified Pentaho server using its API.

Configuration

The script relies into a configuration in the following format:

config.js

This file contains paths, urls and available connections per environment.

There's a sample config file on config.sample.js.

{
  // The path where your JDBC files are stored
  repoJDBCFolder: "../jdbc",
 
  // production env - naming is free - create your own
  production: {
 
    // pentaho-server information
    server: {
      url: 'http://localhost:8080/pentaho',
      path: '/opt/pentaho/server/pentaho-server',
 
      // which connections will be available
      connections: [prodCon.dw],
 
      // Pentaho server credentials
      auth: {
        user: 'admin',
        pass: 'password'
      }
    },
 
    //data-integration information
    pdi: {
      path: '/opt/pentaho/design-tools/data-integration',
 
      //which jndi to create/update
      connections: [prodCon.dw, prodCon.transac, prodCon.staging]
    }
  },
 
  // another environment - naming is free
  local: {
    server: {
      url: 'http://localhost:8080/pentaho',
      path: '/opt/the7/server/pentaho-server',
      connections: [localCon.dw],
      auth: {
        user: 'admin',
        pass: 'password'
      }
    },
    pdi: {
      path: '/opt/the7/design-tools/data-integration',
      connections: [localCon.dw, localCon.transac, localCon.staging]
    }
  }
}

connections.js

This file contains connections info per environment.

There's a sample config file on config.sample.js.

{
  //Connections available to the local environment
  local: {
    // dw connection - naming is free
    dw: {
 
      // See ./src/dbtypes
      type: 'vertica',
 
      // JNDI/JDBC connection name 
      JNDI: 'MY_DW',
 
      // database name 
      databaseName: "MY_DW",
 
      // database port
      port: "5433",
 
      // database host
      hostname: 'localhost',
 
      // database user
      user: 'postgres',
 
      // database password
      password: '123'
    },
 
    // Another connection - used in config.js
    staging: {
      type: 'postgres',
      JNDI: 'staging_area',
      databaseName: "staging_area",
      port: "5432",
      hostname: 'localhost',
      user: 'postgres',
      password: '123'
    },
 
    // Another connection - used in config.js
    transac: {
      type: 'mssql',
      JNDI: 'TRANSAC',
      SQLServerInstance: 'InstanceName',
      databaseName: "dbName",
      port: "1433",
      hostname: '192.168.1.1',
      user: 'sa',
      password: '123'
    }
  },
 
  production: {/*...*/}
 
}

Dependents (0)

Package Sidebar

Install

npm i pentaho-connections-deploy

Weekly Downloads

0

Version

0.1.3

License

ISC

Last publish

Collaborators

  • oncase