Moved token to env variable
This commit is contained in:
14
README.md
Normal file
14
README.md
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Github Latest Release Exporter
|
||||||
|
This is a simple service that fetches the latest version of software from github and exposes it as a metric for Prometheus to scrape.
|
||||||
|
Just query the endpoint with ```owner/repository``, and you will get a metric back.
|
||||||
|
|
||||||
|
|
||||||
|
## Development and local testing
|
||||||
|
```bash
|
||||||
|
docker buildx build -t latest_release_exporter .
|
||||||
|
docker run --name latest_release_exporter -d -p 8000:8000 -e GITHUB_TOKEN=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 latest_release_exporter
|
||||||
|
curl http://localhost:8000/metrics?repo=prometheus/prometheus
|
||||||
|
|
||||||
|
docker stop latest_release_exporter
|
||||||
|
docker rm latest_release_exporter
|
||||||
|
```
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import os
|
||||||
|
import sys
|
||||||
import requests
|
import requests
|
||||||
from flask import Flask, request
|
from flask import Flask, request
|
||||||
from prometheus_client import generate_latest, Gauge, CollectorRegistry
|
from prometheus_client import generate_latest, Gauge, CollectorRegistry
|
||||||
@@ -17,7 +19,10 @@ github_latest_release_metric = Gauge(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# GitHub API token (replace with your actual token)
|
# GitHub API token (replace with your actual token)
|
||||||
github_api_token = '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'
|
github_api_token = os.environ.get('GITHUB_TOKEN')
|
||||||
|
|
||||||
|
if github_api_token is None:
|
||||||
|
sys.exit("Env variable GITHUB_TOKEN not found!")
|
||||||
|
|
||||||
# Function to fetch the latest release version or the latest tag from GitHub
|
# Function to fetch the latest release version or the latest tag from GitHub
|
||||||
def get_latest_version(repo_url):
|
def get_latest_version(repo_url):
|
||||||
|
|||||||
Reference in New Issue
Block a user