Skip to content
Go JavaScript CSS Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
concourse
scripts
templates
vendor
.cfignore
.gitignore
.travis.yml
Gopkg.lock
Gopkg.toml
LICENSE
README.md
main.go
manifest.yml

README.md

go-concourse-summary

codecov.io Go Report Card Build Status

This is a port of concourse-summary to Golang. The aim is for all features of concourse-summary to be covered in this port. In its current state all features should have been migrated with the exception of the ability to collapse/ expand groups.

The intention of concourse-summary is to show a quick overview of all of your concourse pipelines and groups in a single summary page.

It was intended that all configuration would be compatible between go-concourse-summary and concourse-summary. Unfortunately due to the object model differences on Golang marshaling it has been necessary to rework the format of HOSTS and CS_GROUPS as detailed below, to make this easy we provide some scripts utilizing jq to transform the formats for you.

Converting from concourse-summary

HOSTS

HOSTS="ci.concourse.ci appdog.ci.cf-app.com buildpacks.ci.cf-app.com diego.ci.cf-app.com capi.ci.cf-app.com" ./scripts/migrate_hosts.sh

CS_GROUPS

CS_GROUPS='{"test":{"buildpacks.ci.cf-app.com":{"binary-builder":["automated-builds","manual-builds"],"brats":null},"diego.ci.cf-app.com":{"greenhouse":null},"capi.ci.cf-app.com":null}}' ./scripts/migrate_cs_groups.sh

Usage

As this app is written in GoLang it can be run in a number of ways:

Using go run

go run main.go

As a binary

go build
./go-concourse-summary

As a CF app

You may want to modify the example manifest.yml file prior to running your CF push

cf push

Note: For the purpose of migrations to show all groups for a pipeline you can either run omit groups from CS_GROUPS entirely, set it as an empty array ([]) or set it with a single value of ["all"]. However if you use all and the pipeline has a group of all then only that group will be displayed.

All configuration is managed using environment variables:

Variable Description Example
HOSTS A json array of all concourse hosts that you wish to have a dashboard for '["ci.concourse.ci", "appdog.ci.cf-app.com", "buildpacks.ci.cf-app.com", "diego.ci.cf-app.com", "capi.ci.cf-app.com"]'
CS_GROUPS A json string of a chosen group name, linking to a host, pipeline and groups in concourse '[{"group":"test","hosts":[{"fqdn":"buildpacks.ci.cf-app.com","pipelines":[{"groups":["automated-builds","manual-builds"],"name":"binary-builder"},{"name":"brats"}]},{"fqdn":"capi.ci.cf-app.com"},{"fqdn":"diego.ci.cf-app.com","pipelines":[{"name":"greenhouse"}]}]}]'
SKIP_SSL_VALIDATION If set to "true" then SSL Validation will be ignored for all hosts "true"
REFRESH_INTERVAL An integer in seconds for configuring the page refresh interval, defaults to 30 10
TEAM A string that tells the app which Concourse team to look at. Defaults to "main". "development"

Dependency management

This project uses dep to manage its dependencies.

You can’t perform that action at this time.