Monitoring your Go dependencies in a microservice world
Clone or download
Latest commit 03a4746 Dec 3, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app get rid of src package(fuuu), add some tests Apr 19, 2018
cmd/dep_radar accept username for github scanning May 8, 2018
deps fix DATA RACE Dec 3, 2018
docs cleanup readme May 8, 2018
examples get rid of src package(fuuu), add some tests Apr 19, 2018
goimport get rid of src package(fuuu), add some tests Apr 19, 2018
helpers get rid of src package(fuuu), add some tests Apr 19, 2018
html accept username for github scanning May 8, 2018
http get rid of src package(fuuu), add some tests Apr 19, 2018
mocks Mama, I am a frontender! May 7, 2018
providers add tests May 8, 2018
tests get rid of src package(fuuu), add some tests Apr 19, 2018
version get rid of src package(fuuu), add some tests Apr 19, 2018
.codeclimate.yml set version in codeclimate.yml Feb 23, 2018
.gitignore Mama, I am a frontender! May 7, 2018
.travis.yml add to changelog, disable lint for travis May 7, 2018
CHANGELOG.md add demo url May 8, 2018
Dockerfile up go version May 7, 2018
Gopkg.lock add binary to check github organization Feb 16, 2018
Gopkg.toml add binary to check github organization Feb 16, 2018
Makefile accept username for github scanning May 8, 2018
README.md cleanup readme May 8, 2018
app.go get rid of src package(fuuu), add some tests Apr 19, 2018
dep.go get rid of src package(fuuu), add some tests Apr 19, 2018
options.go get rid of src package(fuuu), add some tests Apr 19, 2018
repos.go get rid of src package(fuuu), add some tests Apr 19, 2018
web.go get rid of src package(fuuu), add some tests Apr 19, 2018

README.md

Travis Code Climate Code Climate Go Report Card

Dep radar

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

Screenshots

Frontend

How it works

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.

Supported code storage

  • Github
  • Private Bitbucket

Supported dep tools