Giter Site home page Giter Site logo

legend-depot's Introduction

FINOS - Incubating build Security Rating Bugs

legend-depot

The Legend Depot servers provide a rich REST API allowing users to query metadata fast and reliably which has been authored in Legend Studio and Legend SDLC Legend Depot has two main components:

  • Depot Server: provides read only metadata query REST API
  • Depot Store Server: manages internal metadata cache and sources it from maven style repository where models artifacts have been published.

Getting started

Development setup

This application uses Maven 3.6+ and JDK 11 to build. Simply run mvn install to compile. In order to start the Depot Server and Depot Store Server, follow the instructions below.

Setup Gitlab OAuth

Follow the instructions here to set up Gitlab authentication Add following callback url to config: http://127.0.0.1:8076/depot-store/callback

Certain store APIs required elevated permissions, add your Gitlab handle to authorisedIdentities.json

Depot Store Server

  • Create a JSON configuration: check out the sample config
  • Start an instance of Mongo DB: this is where your metadata will be stored: Add the MongoDB URL and database name to the mongo section of your config file
  • Configure settings.xml: this will let the server know from which maven repository to fetch and cache the published metadata artifacts. Check out the sample
  • Start the server:
java -cp $SHADED_JAR_PATH org.finos.legend.depot.store.server.LegendDepotStoreServer server $CONFIG_DIR/config.json

Depot Server

  • Create a JSON configuration: Make sure to specify the Mongo DB where store server would cache metadata. Check out the sample config
  • Start the server:
java -cp $SHADED_JAR_PATH org.finos.legend.depot.server.LegendDepotServer server $CONFIG_DIR/config.json

Register metadata projects with Depot Store Server

Metadata projects need to be registered in depot store so that the server can start fetching and caching the models for this project. This is a one off task and can be done:

  • Manually: using the end point api/projects/{projectId}/{groupId}/{artifactId}
  • Automatically: more to come on this space

Crucially, key information are the maven coordinates and the modeling project its publishing its artifacts to.

Roadmap

Visit our roadmap to know more about the upcoming features.

Contributing

Visit Legend Contribution Guide to learn how to contribute to Legend.

License

Copyright 2020 Goldman Sachs

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

legend-depot's People

Contributors

elopezcastro avatar akphi avatar emilia-sokol-gs avatar aziemchawdhary-gs avatar finos-admin avatar ivan-kyosev-gs avatar pierredebelen avatar afine-gs avatar maoo 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.