About

Updated: 2020-12-30 UTC

This Sinatra web application publishes a variety of reports about the Cloud Platform and the services running on it.

The data for the reports is provided by scheduled jobs which post JSON to this application. These JSON documents are stored in DynamoDB and read when each page is requested.

The reports provided are:

Helm Releases

Data provider

Uses Helm Whatup to scan the helm charts installed on the "live-1" and "manager" kubernetes clusters, and report any whose versions are too far behind the latest.

Terraform Modules

Data provider

Scans the environments repository and checks that all namespaces are specifying the latest versions of any cloud platform terraform modules they use.

Documentation

Data provider

Scans the Cloud Platform User Guide and Cloud Platform Runbooks websites, and reports any pages which are overdue for review.

Orphaned AWS Resources

Data provider

Checks the "moj-cp" AWS account, and reports resources which exist but are not listed in any of our Terraform state files.

Orphaned Terraform Statefiles

Data provider

Looks for terraform statefiles in our S3 bucket which belong to kubernetes clusters that no longer exist.

Costs by Namespace

Data provider

Uses AWS CostExplorer data and the mandatory "namespace" tag we apply to all AWS resources to allocate AWS resource costs to namespaces. The cost of shared resources (e.g. kubernetes cluster nodes), and the staff cost of the Cloud Platform Team are spread evenly across all namespaces.

Hosted Services

Data provider

Introspects cluster namespaces and displays information about the services running in them, including the application, team, github repositories and domain names in use.

Namespace Resource Usage

Data provider

Introspects cluster namespaces and displays information about the cluster resources (CPU and memory) that each namespace is requesting and using.