Sign inSign up

tdierich/son-gtkusr

By tdierich

•Updated over 8 years ago

Fork of sonatanfv/son-gtkusr

Image
0

1.8K

tdierich/son-gtkusr repository overview

⁠SONATA⁠'s Gatekeeper User Management micro-service

Build Status

This is the folder of the User Management micro-service. This micro-service is used by the Gatekeeper API⁠ and is currently under development.

⁠User Management

This micro-service enables identity, authentication and authorization features to the Service Platform, including features such:

  • Control for who can access to the Service Platform and what can be accessed
  • Users and Micro-services Authentication and Authorization
  • Manages User Accounts for different types of users
  • Manages Service Accounts; Micro-services are a different entity where no user is behind
  • Enables support for Direct Access Grants, exchanging user credentials to obtain an access token (JWT)
  • Supports two User type roles: developer and customer
  • Supports Micro-services roles
  • Supports Users groups
  • Supports users' public key storage for signing features (requires MongoDB database)

⁠Building

The User Management micro-service is part of the Gatekeeper, and it can't be built as a standalone component. Given this approach, it is required to be built along with the available Gatekeeper micro-services. So:

  • each micro-service is provided in its own container (we're using docker⁠);
  • the Dockerfile in each folder specifies the environment the container needs to work;
  • the docker-compose.yml file in the root of this repository provides the linking of all the micro-services.

Furthermore, the User Management module requires the Keycloak Identity and Access Management server. The son-keycloak⁠ component includes all the required configuration and deployment settings.

⁠Dependencies

The libraries the Gatekeep depends on are the following:

For the micro-services implemented in ruby⁠ these dependencies can be checked in each folder's Gemfile.

⁠Contributing

Contributing to the Gatekeeper User Management is really easy. You must:

  1. Clone this repository⁠;
  2. Work on your proposed changes, preferably through submiting issues⁠;
  3. Submit a Pull Request;
  4. Follow/answer related issues⁠ (see Feedback-Chanel, below).

⁠Installation

Installing the Gatekeeper User Management is really easy. You'll need:

  1. the ruby⁠ programming language: we prefer doing this by using a version manager tool such as rvm⁠ or rbenv⁠ (we are using version 2.2.3);
  2. in each one of the subfolders, just run:
  3. bundle install
  4. please follow each specific folder's instructions on which environment variables to set
  5. rake start

⁠Usage

Please refer to the son-gtkapi⁠ repository and each one of the other folders in this repository for examples of usage of each one of the already developed micro-services.

⁠Documentation

Please refer to the Gatekeeper Github Wiki⁠ sections and check for User Management pages, which include information and examples of usage of its features.

⁠License

The license of the SONATA Gatekeeper is Apache 2.0 (please see the license⁠ file).


⁠Lead Developers

The following lead developers are responsible for this micro-service and have admin rights. They can, for example, merge pull requests.

⁠Feedback-Chanels

Please use the GitHub issues⁠ and the SONATA development mailing list [email protected] for feedback.

Tag summary

Content type

Image

Digest

Size

161.1 MB

Last updated

over 8 years ago

docker pull tdierich/son-gtkusr