Awesome
legend-sdlc
The Legend SDLC Server provides a rich REST API allowing users to safely manage metadata. Most SDLCs are file- and text-centric, but the Legend SDLC is model-centric. That is, users interact with model entities rather than with files and folders.
To this end, the Legend SDLC enables:
- Users to develop with tools designed for editing models (rather than files or code)
- Users to view changes with tools designed for viewing model-level changes (rather than text changes)
- Clients to create their own tools for their own particular use cases
Usage example
Start by creating a configuration file based on your particular environment, which can be either JSON or YAML. A sample configuration file is included to help you get started. You will need to supply some information, such as the host your server is running on.
You will also need an instance of GitLab to connect to, such as gitlab.com. On GitLab, you will
need to create an "Application", which is used for authorization so that the SDLC Server can act on behalf of users.
See GitLab's documentation for general information about creating an
application in GitLab. The application will need to have "api" scope and
have http://SDLC_SERVER
/api/auth/callback as a redirect URI,
where SDLC_SERVER
is the host and possibly port needed to connect to the SDLC Server. (For testing purposes, you can
use 127.0.0.1:6100
or localhost:6100
or both. You can have many redirect URIs specified for the application, so it
is advisable to add all you think you might want.) This redirect URI will also need to appear in your configuration
file.
If you are using the GitlabClient for authentication (see the pac4j section of the configuration), you will need a
GitLab application for that as well. It will need "openid" and "profile" scopes, and will require
http://SDLC_SERVER
/api/pac4j/login/callback as a redirect URI.
Again, SDLC_SERVER
is the host and port needed to connect to the SDLC Server, and the same advice mentioned above
applies for this case as well. You can either create a new application for this, or you can add these scopes and
redirect URIs to your existing application. We recommend you use a single application for both purposes, as it makes the
authentication and authorization process simpler and faster.
Once you have your configuration file, you can run the server with Java 8 or later. You can use a command such as this to start the server:
java -cp $SHADED_JAR_PATH org.finos.legend.sdlc.server.LegendSDLCServer server $CONFIG_DIR/config.yaml
If you want to use the shaded JAR built by mvn install
in this project, you can get it
from legend-sdlc-server/target/legend-sdlc-server-*-shaded.jar
. You may also include additional libraries on the
classpath to add functionality extensions.
Development setup
This application uses Maven 3.6+ and JDK 11 or 17 to build. Simply run mvn install
to compile.
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