0.4.1 • Published 8 years ago

talend v0.4.1

Weekly downloads
3
License
-
Repository
-
Last release
8 years ago

Talend TAC API extender and nodejs npm module

Purpose

  • This intends to provide a gentrified API overlay to handle calls to Talend Administration Centre.
  • It should make the TAC API call log meaningful
  • It could be run on the TAC server to restrict external calls to the TAC server (security)
  • It should be exposed via nginx or HAProxy (preferably) - its uses 3024 as default port
  • The npm module npm install talend can be used independently by other node scripts (lambda) to call TAC

Configure the api server

Configure variables

```
APP_NAME=talend-stack-api
APP_PORT=3054

TALEND_TAC_API_URL=http://0.0.0.0
TALEND_TAC_API_PORT=3002

```

OR drop a file with above into a file called .env in your root

Run the api server

Call the run.sh file. You may need to give it exec permissions like

$ chmod u+x run.sh
$ ./run.sh

And for some logging (note its really verbose)

$ npm install -g bunyan
$ ./run.sh | bunyan

Setup to use in your own node project

$ mkdir your-folder-here
$ npm init
$ npm install talend --save

How do I call this API

We recommend using.. request-promise-native OR request-promise (uses bluebird for more promise love)

```
var rp = require('request-promise');
var options = {
    method: 'POST',
    uri: 'http://0.0.0.0:3054/talend/tac/<methodName>',
    body: {
        some: 'payload'
    },
    json: true // Automatically stringifies the body to JSON
};
rp(options)
    .then(function (parsedBody) {
        // POST succeeded...
    })
    .catch(function (err) {
        // POST failed...
    });

```

Available endpoints

All calls are

For generic calls use

  • [POST] /org.talend.administrator/metaServlet - use in place of the TAC GET endpoint

For specific calls, we hope to implement these endpoints with RESTful payloads ;)

  • [GET] /talend/tac/listServer
  • [GET] /talend/tac/listVirtualServers
  • [POST] /talend/tac/createUser
  • [DEL] /talend/tac/deleteUser
  • [POST] /talend/tac/createUser
  • [POST] /talend/tac/addServer
  • [PATCH] /talend/tac/addServersToVirtualServer
  • [DEL] /talend/tac/removeServer
  • [DEL] /talend/tac/removeServersFromVirtualServer

TODO: Swagger api description for this

Developers

You can also install and test (and PRs are welcome)

development

Clone or fork from github

$ npm start

test

Use Mocha and Salty-duck with Chakram for api tests Make sure that you are either

then..

$ npm test

Contributors

  • Kenny Joseph
  • William Tsoi

License

MIT