https://github.com/caarlos0/github_releases_exporter
Exports GitHub release metrics to the Prometheus format
https://github.com/caarlos0/github_releases_exporter
github-api prometheus-exporter
Last synced: 2 months ago
JSON representation
Exports GitHub release metrics to the Prometheus format
- Host: GitHub
- URL: https://github.com/caarlos0/github_releases_exporter
- Owner: caarlos0
- License: mit
- Created: 2018-05-30T02:39:39.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-05T11:56:43.000Z (over 1 year ago)
- Last Synced: 2025-03-30T21:33:06.207Z (3 months ago)
- Topics: github-api, prometheus-exporter
- Language: Go
- Homepage:
- Size: 375 KB
- Stars: 26
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# github_releases_exporter
Exports GitHub release metrics to the Prometheus format.
[](https://github.com/caarlos0/github_releases_exporter/releases/latest)
[](LICENSE.md)
[](https://travis-ci.com/caarlos0/github_releases_exporter)
[](https://codecov.io/gh/caarlos0/github_releases_exporter)
[](http://godoc.org/github.com/caarlos0/github_releases_exporter)
[](https://goreportcard.com/report/github.com/caarlos0/github_releases_exporter)
[](https://saythanks.io/to/caarlos0)
[](https://github.com/goreleaser)## Running
```console
./github_releases_exporter
```Or with docker:
```console
docker run -p 127.0.0.1:9222:9222 caarlos0/github_releases_exporter
```## Configuration
You can set it up on docker compose like:
```yaml
version: '3'
services:
releases:
image: caarlos0/github_releases_exporter:v1
restart: always
volumes:
- /path/to/releases.yml:/etc/releases.yml:ro
command:
- '--config.file=/etc/releases.yml'
ports:
- 127.0.0.1:9222:9222
env_file:
- .env
```The `releases.yml` file should look like this:
```yaml
repositories:
- goreleaser/goreleaser
- caarlos0/github_releases_exporter
```On the prometheus settings, add the releases job like this:
```yaml
- job_name: 'releases'
static_configs:
- targets: ['releases:9222']
```And you are done!
## Configuration Reload
You can reload the configuration at any time by sending a `SIGHUP` to the
process.## Grafana Dashboard
I have a dashvboard like this:

You can get it from [the grafana website](https://grafana.com/dashboards/6328)
or just import the dashboard `6328`.## Building locally
Install the needed tooling and libs:
```console
make setup
```Run with:
```console
go run main.go
```Run tests with:
```console
make test
```