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.