GitHub Dashboard is front end to the GitHub repository providing a dashboard which indicates the state of various actions.
The dashboard needs to have three environment variables set:
- GITHUB_KEY
- GITHUB_SECRET The combination of GITHUB_KEY (client_id) and GITHUB_TOKEN (client_secret) provide access to the Github single sign on pages. The application needs to be registered via the GitHub OAuth application settings
- GITHUB_TOKEN This is an authorization token provided by GitHub granting the bearer access to the repositories . If the repositories are publicly available this would not necessarily be needed, except that without it GitHub limits the number of API calls you can make in a period.
The application has been written using Ruby rails, and can be simply started with:
rails s
To improve query performance a the ability to cache to REDIS has been provided. If there is a REDIS server on the default connection redis://127.0.0.1:6379 then this will be used. It is possible to override this by using the environment variable REDIS_URL
export REDIS_URL=redis://127.0.0.1:6379
The file config/settings.yml controls what is shown:
title:
name: "Dashboard Title"
projects:
- api:
ref: "<Owner>/<Repository>"
name: "Name of Repository"
environments:
- name: "Name of First Environment"
deployment_workflow: "Build and Deploy"
deployment_branch: "master"
releases:
allowed: false
- name: "Name of Second Environment"
deployment_workflow: "Release to Test"
graph:
max_time: 2000
- name: "Name of Third Environment"
deployment_workflow: "Release to Production"