Skip to content

xclemence/dependencies-graph-viewer

Repository files navigation

Dependencies Graph View

License: MIT Build Quality Gate Status

dependencies Status devDependencies Status

Dependencies Graph View (DGV) provides a view to explore assemblies dependencies store by Dependencies Graph Services.

Features available

  • View Software assemblies
  • View Assembly dependencies
  • Security

Security

DGV can be connected to Keycloak for authentication. To enable this feature, you need to set environment variables on the docker container.

The security inside DGV is managed by feature, each feature needs one or many rights to be accessible.

Rights are specifics to DGV, you can define the same rights (name) in Keycloak or use rights mapping to link Keycloak rights and software rights.

Software rights:

Rights Description
remove-assembly can remove assembly

How to use

Build sources (Angular CLI)

  • ng serve for development. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
  • ng build to build the project.
  • more options available on angular CLI web site.

This project is configured to work with the Remote Development plugin.

Docker image

A Docker image with this software is available from the packages page.

This image is base on Linux.

You can configure container by setting environment variables.

Environment variable Comment Example
DEPENDENCIES_GRAPHQL_URI Graphql services uri http://localhost:4001/graphql
SECURITY_ENABLED Activate authentication true
SECURITY_SERVER Keycloak server http://localhost:9080/auth
SECURITY_REALM Keycloak realm dependencies
SECURITY_CLIENT_ID Keycloak client id graph
SECURITY_RIGHT_MAPPING Mapping between Keycloak rights and application rights {server: 'rs1', app: 'ra1' }, {server: 'rs2', app: 'ra2' }

Port exposed by Container:

Name Description
80 HTTP port for web site

You can start a Dependencies Graph Viewer container like this:

docker run \
    --publish=80:80 \
    dependencies-graph-viewer:tag

Linked project

Project Build State
Graphql services Build

Main externals packages