Code Monkey home page Code Monkey logo

lake's Introduction

Dev Lake

badge

Requirements

  • Node.js
  • Docker

Installation

  1. Clone this repository 1-1. Create the rabbitMQ log directory: mkdir -p /tmp/rabbitmq/logs/

  2. From the newly cloned repo directory, run docker-compose up --build

    NOTE: If you get an error like this:

    "Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /tmp/rabbitmq/etc/"

    You can fix it by adding the directory in the terminal:

    mkdir /tmp/rabbitmq/etc
  1. Run docker-compose ps to see containers runnning.
  2. Install dependencies with npm i
  3. (optional: Revert all current migrations - npx sequelize-cli db:migrate:undo:all) Run migration with npx sequelize-cli db:migrate

Configuration

  1. Make a copy of config/local.sample.js under the name of config/local.js
  2. We can use default values for most fields except the Jira section.

For how to set up basic authorization with Jira, and many more things, please see CONFIGURATION.md

Grafana Connection For Data Visualization (https://localhost:3002)

Connect to the Grafana database: Inside docker-compose.yml edit the environment variables as needed to connect to your local postgres instance, specifically:

  • GF_DATABASE_NAME
  • GF_DATABASE_USER
  • GF_DATABASE_PASSWORD

Connect the Grafana data source: Additionally to use the postgres database as data source inside grafana, ensure postgres config options are correct in ./grafana/datasources/datasource.yml, specifically:

  • database
  • user
  • secureJsonData/password

Usage

Create a Collection Job

  1. From the terminal, execute npm run all
  2. From Postman (or similar), send a request like...
POST http://localhost:3001/

{
    "jira": {
        "boardId": 8
    },
    "gitlab": {
        "projectId": 8967944
    }
}
Or, by using `curl`
# ee
curl -X POST "http://localhost:3001/" -H 'content-type: application/json' \
    -d '{"jira":{"boardId": 8}, "gitlab": {"projectId": 8967944}}'

# small data set for test
curl -X POST "http://localhost:3001/" -H 'content-type: application/json' \
    -d '{"jira":{"boardId": 29}, "gitlab": {"projectId": 24547305}}'
  1. See that the collection job was published, jira collection ran, the enrichment job was published, and jira enrichment ran

To run only the enrichment job on existing collections: POST http://localhost:3000/

Using Grafana

Login Credentials

  • Visit: http://localhost:3002
  • Username: admin
  • Password: admin

Provisioning a Grafana Dashboard

To save a dashboard in the lake repo and load it:

  1. Create a dashboard in browser (visit /dashboard/new, or use sidebar)
  2. Save dashboard (in top right of screen)
  3. Go to dashboard settings (in top right of screen)
  4. Click on JSON Model in sidebar
  5. Copy code into a new .json file in /grafana/dashboards

Contributing

CONTRIBUTING.md

lake's People

Contributors

basicthinker avatar e2corporation avatar hezyin avatar joncodo avatar kevin-kline avatar klesh avatar narrowizard avatar oddscenes avatar paulgoertzen-merico avatar

Watchers

 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.