Cloudant-to-ElasticSearch serverless bridge
Switch branches/tags
Nothing to show
Clone or download
Latest commit 0dd5107 Dec 13, 2017
Permalink
Failed to load latest commit information.
image image Nov 10, 2017
LICENSE Create LICENSE Nov 10, 2017
README.md Update README.md Dec 13, 2017
deploy.sh first commit Nov 10, 2017
onchange.js first commit Nov 10, 2017
package.json first commit Nov 10, 2017
undeploy.sh first commit Nov 10, 2017

README.md

cloudant-es-bridge

This is a serverless function that moves data from a Cloudant database to an ElasticSearch cluster. Any adds/updates/deletes that happen on the Cloudant database are reflected in the ElasticSearch copy.

schematic

Pre-requisites

First we're going to need a Cloudant service. Sign up here and make a note of your Cloudant URL, which will be of the form:

https://USER:PASS@ACCOUNT.cloudant.com

Log into your Cloudant dashboard and create a new database.

Now we need to create an ElasticSearch instance. Sign up here, create a new user which should give you a URL of the following form:

https://USERNAME:PASSWORD@xxx.composedb.com:PORT/

ElasticSearch stores its documents two levels down from here. At the top level we have "indexes" and each index can have a number of "types" in it, so our full URL will have this form:

https://USERNAME:PASSWORD@xxx.composedb.com:PORT/INDEX/TYPE

See Getting started with ElasticSearch on Compose for the full low-down.

We'll need your Cloudant and ElasticSearch credentials for the next stage when we deploy our serverless bridge. As a last step, ensure you have the bx wsk tool installed by following the instructions here.

Deploying

Clone the code:

git clone https://github.com/ibm-watson-data-lab/cloudant-es-bridge
cd cloudant-es-bridge

Create some environment variables containing your Cloudant and ElasticSearch credentials:

export CLOUDANT_HOST="HOST.cloudant.com"
export CLOUDANT_USERNAME="CLOUDANTUSERNAME"
export CLOUDANT_PASSWORD="CLOUDANTPASSWORD"
export CLOUDANT_DB="esbridge"
export ELASTIC_URL="https://ESUSERNAME:ESPASSWORD@HOST.composedb.com:PORT/INDEX/TYPE"

Then run the deployment script:

./deploy.sh

Undeploying

Run

./undeploy.sh