dep radar
is a prototype to control Go dependencies in microservice world.
dep radar
requires Go 1.9 or newer to compile.
You can't just run some binary. You have to write a bit of code. Your code must implement:
- Get a list of packages of applications what dependencies you want to monitor
- Init provider detector. It can be a default with support only github, but you can add you own provider
- A http handler with calling method for generate html table with all apps and dependencies
Simple example for create a table with dependencies for whole github organization dep-radar:
docker run -p 8081:8081 stamm/dep_radar:latest -github_org="dep-radar"
Or with showing state of dependencies:
- Recommended: restriction for version, for example
>=0.13
- Mandatory: lib must be in an app
- Exclude: lib must be absent in an app
- NeedVersion: you must use version, not hash
cat <<EOT > /tmp/recommended.json
{
"github.com/pkg/errors": {
"Recommended": ">=0.8.0",
"Mandatory": true
},
"github.com/kr/fs": {
"Exclude": true
},
"github.com/pkg/profile": {
"NeedVersion": true
}
}
EOT
docker run -v /tmp:/cfg -p 8081:8081 stamm/dep_radar:latest -recommended_file="/cfg/recommended.json" -github_org="dep-radar"
You can find more in examples.
- Github
- Private Bitbucket