tree: a3c99825a91c0f6ac7054530405111b9fcfe9fae [path history] [tgz]
  1. controllers/
  2. static/
  3. .gcloudignore
  4. app.yaml
  5. main.go
  6. README.md
src/cmd/changelog-webapp/README.md

COS Changelog Webapp

A web application that generates a changelog between 2 builds based on the commit difference between them.

Setup

App Engine

Create a new App Engine project to host this application. Detailed instructions are located here.

Secret Manager

This application queries secret manager for any information that should not be publicly accessible, such as client secrets and internal instance URLs. Ensure this service is enabled in Google Cloud, and that the App Engine service account has the Secret Manager Secret Accessor role in Google Cloud IAM. See here for information on enabling the API and managing permissions.

Configuration

app.yaml stores public environment variables used to run the service. For private environment variables, the variable name is stored in Secret Manager instead. This is indicated by the _NAME suffix for any environment variable.

For each secret name defined in app.yaml, a corresponding secret must be made in Google Secret Manager under the same variable name. See here for more information on managing secrets. Secrets must be made for the Oauth client secret, session secret, internal repository names, and internal Gerrit/Git on Borg URLs.

Deployment

Install Cloud SDK and configure it to use the Google Cloud project you want to deploy to.

Clone the cos/tools repository and cd to the src/cmd/changelog-webapp directory. app.yaml should be in this directory.

Run gcloud app deploy to deploy the application. You can view the application with gcloud app browse after deployment is complete.