@tangible/jitsu-elasticsearch-destination
Version:
Elasticsearch destination plugin for Jitsu
117 lines (99 loc) • 2.59 kB
Markdown
# Elasticsearch destination for Jitsu
Elasticsearch destination plugin for [Jitsu](https://jitsu.com)
based on [Jitsu SDK](https://github.com/jitsucom/jitsu-sdk).
## Using Elasticsearch Destination UI
```shell
nano docker-compose.yml
...
services:
jitsu:
image: jitsucom/jitsu:tangible
...
```
## Developers
### Using
Set config.json:
```shell
cp config.json.example config.json
nano config.json
```
Install all dependencies for a project
```shell
yarn install
```
Build destination:
```shell
yarn build
```
If everything is ok - resulted destination file location
```shell
./dist/elasticsearch-destination.js
```
### Setup with CentOS
```shell
docker ps
yum install epel-release
yum install dnf
npm i -g corepack
sudo dnf install nodejs
sudo dnf install npm
npm install -g npx
npx jitsu-cli@0.7.5 extension create --type destination
'''
Need to install the following packages:
jitsu-cli@0.7.5
Ok to proceed? (y) y
? Please, provide project name: jitsu-elasticsearch
? Project directory: /root/application/jitsu-elasticsearch
[info ] - Creating new jitsu project in /root/application/jitsu-elasticsearch
[info ] - Project directory doesn't exist, creating it!
[info ] - ✨ Done
'''
```
### Settings the plugin with Jitsu server (dev)
```shell
cd /root/application/my-plugins/
tar -C /root/application/my-plugins/jitsu-elasticsearch-destination/ -cvzf jitsu-elasticsearch-destination.tgz .
mv jitsu-elasticsearch-destination.tgz /root/application/my-plugins/jitsu-elasticsearch-destination/
```
add this line to "volumes:" section
```shell
nano docker/eventnative.yaml
[...]
destinations:
jitsu-elasticsearch-destination:
only_tokens:
- my_token
type: npm
package: /home/eventnative/data/plugins/jitsu-elasticsearch/jitsu-elasticsearch-destination.tgz
mode: stream
config:
anonymous: true,
elasticsearch_domain: "<elastic_url>",
elasticsearch_port: "<elastic_port>",
elasticsearch_target: "jitsu"
elasticsearch_apikey: "<api_key>"
```
```
nano docker-compose.yml
- /root/application/my-plugins/:/home/eventnative/data/plugins/
- /root/application/docker/eventnative.yaml:/home/eventnative/data/config/eventnative.yaml
```
### testing
Run tests
```shell
yarn test
```
Validate configs
```bash
yarn build && yarn validate-config -c config.json
```
Validate destination config:
with json string:
```shell
yarn validate-config --config-object '{"api_secret": "abc","token": "def", "project_id": "123"}'
```
with json file:
```shell
yarn validate-config --config config.json
```