dep radar
is a prototype to control Go dependencies in microservice world.
dep radar
requires Go 1.10 or newer to compile.
You can try demo: https://dep-radar.zagirov.name
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 that shows a table with dependencies for entered github organization:
docker run -p 8081:8081 stamm/dep_radar:3.1.2
To put your token for github use this command:
docker run -e "GITHUB_TOKEN=t0ken" -p 8081:8081 stamm/dep_radar:3.1.2
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:2.0.0 -recommended_file="/cfg/recommended.json" -github_org="dep-radar"
You can find more in examples.
- Github
- Private Bitbucket