The one-true dashboard to rule all BOSHes
Go to file
Dr Nic Williams 6e29d304b7 add slot filter 'target_name: bosh-lite' 2018-04-16 04:22:37 +10:00
agent switch stannis to use bosh-curl-api library which uses 'bosh curl' https://github.com/cloudfoundry/bosh-cli/pull/408 2018-04-15 08:20:42 +10:00
bin data/:label API stores extra data for a deployment 2015-08-27 21:06:28 -07:00
config add slot filter 'target_name: bosh-lite' 2018-04-16 04:22:37 +10:00
data only create Deployment if missing 2015-08-31 16:11:37 -07:00
public hide any long messages in headers 2015-09-02 22:29:25 -07:00
rendertemplates add slot filter 'target_name: bosh-lite' 2018-04-16 04:22:37 +10:00
templates only show 'unknown backups' if there is no ExtraData 2015-09-02 14:42:47 -07:00
upload data/:label API stores extra data for a deployment 2015-08-27 21:06:28 -07:00
vendor dep lock 2018-04-15 08:22:13 +10:00
.gitignore ignore tmp 2015-08-24 19:26:38 -07:00
Gopkg.lock dep lock 2018-04-15 08:22:13 +10:00
Gopkg.toml dep lock 2018-04-15 08:22:13 +10:00
LICENSE LICENSE MIT 2016-11-03 17:12:38 -04:00
Procfile update files for deployment 2018-04-15 09:36:41 +10:00
README.md GE link 2015-08-25 17:34:52 -07:00
main.go switch stannis to use bosh-curl-api library which uses 'bosh curl' https://github.com/cloudfoundry/bosh-cli/pull/408 2018-04-15 08:20:42 +10:00
manifest.yml update files for deployment 2018-04-15 09:36:41 +10:00

README.md

Dashboard for BOSH deployments

Once you have multiple BOSH, multiple environments, multiple data centers it can quickly become difficult to visualise "what is running? where is it running?"

deployments

"Is the same version of Cloud Foundry running in all data centers?"

"Is production Logsearch running the same version as staging Logsearch?"

This dashboard makes it much easier to visualize the versions of software running across your BOSH systems.

This can make visualizing a pipeline of deployments easier.

Running dashboard

Create a YAML configuration file to describe the pipelines of deployments. See config/webserver.config.example.yml for the schema and examples.

go run main.go webserver --config config/webserver.config.example.yml

Or if stannis is installed:

go get github.com/cloudfoundry-community/stannis
stannis webserver --config config/webserver.config.example.yml

Deploying Stannis to Cloud Foundry

This repository can be pushed to any Cloud Foundry. Stark & Wayne runs all its Stannis dashboards (one per client, one for itself) on Pivotal Web Services.

First, create config.yml in the root folder so that it is uploaded with the entire Stannis codebase. See config/webserver.config.example.yml for an example.

To deploy to any Cloud Foundry:

cf push stannis

Change Procfile to pass in any additional flags.

Use Stannis to upload BOSH data

This Stannis CLI is also an agent that fetches data from a BOSH and uploads it to a central Stannis dashboard.

go get github.com/cloudfoundry-community/stannis
stannis agent --config agent-config.yml

See config/agent.config.example.yml for an example of this configuration file.

Run Stannis agent via BOSH

Since you already have BOSH, you can run one Stannis agent per BOSH using the stannis-boshrelease

See the README for upload and deployment instructions for your infrastructure.

Run Stannis agent within the BOSH

This seems like a cheap idea - run the stannis agent inside the BOSH VM itself.

This could be easy using bosh-init where it is easy to merge multiple releases - such as bosh and stannis into one VM. Something to be investigated for sure.

Thanks

  • Many staff at Stark & Wayne who've been working on pipelining BOSH deployments for our clients; which led to the problem being solved "what's actually running everywhere?"
  • GE's Predix team at San Ramon who have huge BOSH universes and tested some edge cases of Golang standard libraries
  • https://github.com/jiji262/Bootstrap_Metro_Dashboard was the theme used