cloud-platform icon indicating copy to clipboard operation
cloud-platform copied to clipboard

Documentation on the MoJ cloud platform

Ministry of Justice Cloud Platform

About this repository

This is the Ministry of Justice (MOJ) Cloud Platform team's repository for public facing documentation, feature work, enhancements, and issues.

The Cloud Platform team utilises GitHub issues to manage their work, and a team ZenHub board to surface GitHub issues into a product management board.

It's best to search our GitHub issues before adding new issues in an effort to reduce duplicates and encourage activity through existing conversations.

Link checker

This repository has a GitHub action that checks all links in *.md files and creates a GitHub issue if the link returns a non-200 status code. If you have a link that doesn't resolve through the public internet (e.g. 127.0.0.1, localhost, or other internal links), please update the .ignore-links file including the fully-qualified domain name (FQDN).

Other Cloud Platform repositories

We have a series of repositories for our work. We have adopted the naming convention of naming each repository starting with cloud-platform-*. Where some repositories have similar purposes, we try to follow a common prefix (e.g. cloud-platform-terraform-* for Terraform modules). We also name things so that users can understand what a repository does through its name.

Core

Name Description
Cloud Platform (this repository) Public facing documentation, feature work, enhancements, and issues
Cloud Platform environments User-created environments that are hosted on the Cloud Platform
Cloud Platform infrastructure Core infrastructure for the Cloud Platform
Cloud Platform user guide User-focussed documentation for how to get started and use the Cloud Platform

Terraform modules

User-facing

Name Description
Amazon MQ broker Creates an Amazon MQ broker
Database Migration Service (DMS) Creates a DMS replication instance to move data from another database to one inside Cloud Platform
DynamoDB cluster Creates a simple (i.e. non-global) DynamoDB cluster
ECR credentials Creates an ECR repository and associated IAM credentials
ElastiCache cluster Creates an ElastiCache cluster
ElasticSearch cluster Creates an ElasticSearch cluster
GOV.UK Prototype Creates the associated infrastructure to host a GOV.UK Prototype on Cloud Platform
Kubernetes: IAM roles for service accounts (IRSA) Creates an IAM role for a Kubernetes service account
Kubernetes: service account Creates a Kubernetes service account, role, and rolebinding within a namespace
Prometheus Pushgateway Creates a Prometheus Pushgateway
RDS Aurora cluster Creates an RDS Aurora cluster
RDS instance Creates an RDS instance
S3 bucket Creates an S3 bucket
SNS topic Creates an SNS topic
SQS queue Creates an SQS queue

Team-facing

Name Description
Bastion Deploys a bastion instance
CertManager Deploys certmanager for automated TLS certificates
Concourse Deploys ConcourseCI within a Kubernetes cluster
Ingress controller Deploys an NGINX ingress controller
Logging Deploys standard logging tools such as fluentbit, etc.
Monitoring Deploys standard monitoring tools such as AlertManager, exporters, etc.

Other

Demonstration and reference applications

Name Description
Multi-container app Reference application for multi-container services
Go app Reference application written in Go
Ruby app Reference application written in Ruby

Miscelleanous

Name Description
Custom error pages Customised error pages for uncaught routes
Environments checker Detects orphaned namespaces and AWS resources
Helm charts Custom Cloud Platform helm charts
Kuberos A fork of original Kuberos, managed by Cloud Platform
Tools image Docker image containing tools used by pipelines

Useful links

It may be useful to look at: