Docker

This dashboard focuses on smells (i.e., indicators that possibly point to problems in terms of quality, security, etc.) and dependencies extracted from Dockerfiles. The widgets in the dashboards are described below.

  • Repository: a selector useful to focus on one or more repositories.
  • Dependency and smells metrics: general numbers about the number of repositories, dependencies and smells found.
  • Dependencies per repository: a pie chart that shows the proportion of dependencies per repository.
  • Dependencies shared by repositories: a table that summarizes the number of repositories sharing a dependency.
  • Dependencies graph: a graph that highlights the relationships between repositories (circles) and Docker dependencies (boxes). The repository node size is proportional to the number of dependencies found in that repository. An edge exists between a dependency and a repository if that dependency has been found in a Dockerfile of the repository.
  • Smells per repository: a pie chart that shows the proportion of smells per repository.
  • Smells shared by repositories: a table that summarizes the number of repositories sharing a smell.
  • Smells graph: a graph that highlights the relationships between repositories (circles) and Docker smells (boxes). The repository node size is proportional to the number of smells found in that repository. An edge exists between a smell and a repository if that smell has been found in a Dockerfile of the repository.

Getting Dockerfiles smells and dependencies

Dockerfiles information data is obtained via Jadolint, which is included in the third-party image of GrimoireLab.

Details about how to execute with GrimoireLab are available in the Sirmordred repository

Building the Dashboard: details about Index and Fields

This dashboard is built on top of the dockerdeps and dockersmells indexes.

Files

To use this dashboard with your own GrimoireLab deployment you need to:

Index Pattern Index Pattern   Dashboard
Index Patterns —– Dashboard


Command line instructions

Once you have the data in place, if you need to manually upload the dashboard execute the following commands:

kidash -e https://user:pass@localhost:443/data --import docker_deps-index-pattern.json
kidash -e https://user:pass@localhost:443/data --import docker_smells-index-pattern.json
kidash -e https://user:pass@localhost:443/data --import docker.json

Edit this doc