kaitmore / reporter

A NodeJS Koa service that generates cross-repo release reports based off of GitHub and ZenHub data.

Home Page:https://kaitlinmoreno.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Release Reporter

A service that generates cross-repo release reports based off of GitHub and ZenHub data. It has 2 functions:

  • a scraper that fetches data and caches it in redis, meant to be run as a cron job
  • an API for accessing reports

Configuration

Name Type Default Description
GITHUB_TOKEN String "" Github access token
ZENHUB_TOKEN String "" Zenhub access token
REDIS_HOST String "" Redis host name
REDIS_PASSWORD String "" Redis password
REDIS_PORT String 6379 Redis port
RELEASE_REPO_ID String "" ID of a repository that is associated with the releases you want to track. This is used as the starting point for fetching release data across repositories.

Development

To start the app in development, first copy the .env.example file to a .env file:

cp .env.example .env

Fill out the .env file with your GitHub and ZenHub credentials, then run the following:

npm install
npm run start:dev

This will bring up a development docker-compose with Redis, a scraper, and the reporter API. The scraper runs once and then exits. Source code is mounted into the reporter container, so the API will recompile with any code changes.

You can also run npm run start:prod, which will build the production docker containers and launch a docker-compose.

Deployment

Kubernetes deployment files can be found in the top level /kubernetes directory. Fill out /kubernetes/env-configmap.yaml before applying:

for f in kubernetes/*.yaml; do kubectl apply -f $f; done

Authors

Kait Moreno - https://kaitlinmoreno.com

License

This project is licensed under MIT - see the LICENSE file for details

About

A NodeJS Koa service that generates cross-repo release reports based off of GitHub and ZenHub data.

https://kaitlinmoreno.com

License:MIT License


Languages

Language:JavaScript 87.7%Language:HTML 8.5%Language:Dockerfile 3.3%Language:Shell 0.5%