Git Product home page Git Product logo

pentaho-carte's Introduction

pentaho-carte

Docker image for running Pentaho 8.3+ jobs on Carte slave servers

How to use

The easiest way to use this image is to layer your own changes on-top of it. Do this by creating a Dockerfile to add your requirements This is a fork of chihosin/pentaho-carte, and should get updated once a pull request is completed to incorporate a couple of updates for PDI-8.3 Until then it's using an image from pjaol on dockerhub

Setup a project directory

mkdir myproject
mkdir myproject/transformations

Setup a file based repository Repository Manager > Add > Other Repository > File Based Repository

Develop your transformations and jobs using spoon. Spoon will create a repository file usually <USER_HOME>/.kettle/repository.xml

cd myproject
cp -r <USER_HOME>/.kettle/ kettle
  • note the name change in .kettle -> kettle , just to make it easier to work with

Edit kettle/repositories.xml update your base_directory to use /opt/pentaho/repository e.g.

<?xml version="1.0" encoding="UTF-8"?>
<repositories>
  <repository>    <id>KettleFileRepository</id>
    <name>MyRepo</name>
    <description>File repository</description>
    <is_default>false</is_default>
        <base_directory>/opt/pentaho/repository/transformations</base_directory>
    <read_only>N</read_only>
    <hides_hidden_files>N</hides_hidden_files>
  </repository>  </repositories>

Create a Dockerfile in myproject

#FROM chihosin/pentaho-carte
FROM pjaol/pentaho-carte.git
ADD kettle /opt/pentaho/data-integration/.kettle
ADD transformations /opt/pentaho/repository/transformations

Now build

docker build -t my-pdi-carte .

Run with command

docker run -rm --name pdi-carte -e SERVER_PASSWD=password -e ADMIN_PASSWD=password -p 7373:7373 my-pdi-carte

This lets carte run on http://localhost:7373/ (username: admin / password: password)

To view transformations / jobs

While your docker instance is running Login with bash and access kitchen.sh and pan.sh )

docker exec -it pdi-carte bash
bash-4.3# pwd
/opt/pentaho/data-integration
bash-4.3# ./kitchen.sh -level Rowlevel -listrep -listdirs
....
....
2019/10/09 16:00:41 - Kitchen - Logging is at level : Row Level (very detailed)
2019/10/09 16:00:41 - Kitchen - Start of run.
2019/10/09 16:00:41 - Kitchen - Allocate new job.
2019/10/09 16:00:41 - Kitchen - List of repositories:
2019/10/09 16:00:41 - RepositoriesMeta - No repositories file found in the local directory: /opt/pentaho/data-integration/repositories.xml
2019/10/09 16:00:41 - RepositoriesMeta - Reading repositories XML file: /opt/pentaho/data-integration/.kettle/repositories.xml
2019/10/09 16:00:41 - RepositoriesMeta - We have 0 connections...
2019/10/09 16:00:41 - RepositoriesMeta - We have 1 repositories...
2019/10/09 16:00:41 - RepositoriesMeta - Looking at repository #0
2019/10/09 16:00:41 - RepositoriesMeta - Read at repository: MyRepo

Run with docker compose

See docker-compose.yml Update to include passwords as necessary

Developing with Docker

Building the docker instance is time consuming each time, it is faster to build once and mount your transformations. To do this simply use a docker run time volume -v host_dir:server_dir

docker run -v $(pwd)/transformations:/opt/pentaho/repository/transformations -name pdi-carte -e SERVER_PASSWD=password -e ADMIN_PASSWD=password -p 7373:7373 my-pdi-carte

Additional info

See Offical Kitchen & Pan Documentation

See PackT tutorial series on Kitchen & Pan

pentaho-carte's People

Contributors

chihosin avatar pjaol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.