Skip to content

jcscottiii/cg-dashboard

 
 

Repository files navigation

18F Cloud Foundry Dashboard

CircleCI Code Climate

Environments: Production Staging Demo

Introduction

This dashboard is a web application to manage cloud.gov organizations, spaces, services, and apps.

Learn more about cloud.gov.

Tech Stack

Backend Server Go Code Coverage Status

  • Go (version 1.8)

Front end application

  • Node (version 6.x.x)
  • React (version ^15.0.0)
  • Babel (version ^6.x.x)
  • Karma (version ^1.4.x)
  • Webpack (version ^1.x.x)

Setup Local Environment

There are two different ways to setup your local environment:

  1. Recommended Docker+PCFDev Instructions
  2. Manual Instructions

Deploying

The cloud.gov dashboard is continuously deployed by CircleCI. To deploy manually:

Bootstrap Deployment Spaces

In each space that you plan on deploying, you need to create a user-provided-service.

Run:

# For applications without New Relic monitoring
cf cups dashboard-ups -p '{"CONSOLE_CLIENT_ID":"your-client-id","CONSOLE_CLIENT_SECRET":"your-client-secret", "SESSION_KEY": "a-really-long-secure-value", "SMTP_HOST": "smtp.host.com", "SMTP_PORT": "25", "SMTP_USER": "username", "SMTP_PASS": "password", "SMTP_FROM": "from@address.com"}'

# For applications with New Relic monitoring
cf cups dashboard-ups -p '{"CONSOLE_CLIENT_ID":"your-client-id","CONSOLE_CLIENT_SECRET":"your-client-secret","CONSOLE_NEW_RELIC_LICENSE":"your-new-relic-license", "SESSION_KEY": "a-really-long-secure-value", "SMTP_HOST": "smtp.host.com", "SMTP_PORT": "25", "SMTP_USER": "username", "SMTP_PASS": "password", "SMTP_FROM": "from@address.com"}'

Create a redis service instance:

cf create-service redis28 standard dashboard-redis

Create a Client with UAAC

  • Make sure UAAC is installed.
  • Target your UAA server. uaac target <uaa.your-domain.com>
  • Login with your current UAA account. uaac token client get <your admin account> -s <your uaa admin password>
  • Create client account:
uaac client add <your-client-id> \
 --authorities "uaa.none scim.invite cloud_controller.admin scim.read" \
 --authorized_grant_types authorization_code,client_credentials,refresh_token \
 --scope cloud_controller.admin,cloud_controller.read,cloud_controller.write,openid,scim.read \
 --autoapprove true \
-s <your-client-secret>
  • Unable to create an account still? Troubleshoot here

CI

This project uses Concourse CI. Please refer to the CI README.

Optional features

Some features can be enabled by supplying the right environment configuration.

New Relic Browser

If you have New Relic Browser, you can set your New Relic ID and Browser license key. These are public and can be set in your manifest file. Note that your Browser license key is different than your New Relic License Key (which should be treated as confidential).

# manifest.yml
env:
  NEW_RELIC_ID: 12345
  NEW_RELIC_BROWSER_LICENSE_KEY: abcdef

Google Analytics

If you have a GA site configured, specify your tracking ID as GA_TRACKING_ID in your environment.

# manifest.yml
env:
  GA_TRACKING_ID: UA-123456-11

About

A web dashboard for managing Cloud Foundry Apps

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 85.8%
  • Go 9.7%
  • HTML 3.7%
  • Other 0.8%