/modernisation-platform

A place for the core work of the Modernisation Platform • This repository is defined and managed in Terraform

Primary LanguageHCLMIT LicenseMIT

Ministry of Justice Modernisation Platform

repo standards badge

About this repository

This is the Ministry of Justice Modernisation Platform team's repository for core work on the Modernisation Platform. The Modernisation Platform team is a platform engineering product team which provides a hosting platform for Ministry of Justice applications which cannot be hosted on the Cloud Platform.

For more information on the Modernisation Platform please see the user guidance.

Contents

This repository currently holds the Modernisation Platform's:

Other useful repositories

Core repositories

Name Description
Modernisation Platform (this one) Our repository for core work, including our ADR and infrastructure as code
Modernisation Platform Environments The repository for user application infrastructure as code and deployment workflows
modernisation-platform-ami-builds Repository for creating pipelines to build AMIs for use on the platform
modernisation-platform-configuration-management Repository for configuration management code used on the platform
modernisation-platform-terraform-module-template Template repository used for creating other Terraform module repositories

Terraform modules - for member account use

Modernisation Platform users can use these modules in their infrastructure. They are designed to comply with best practices and to work with the platform, to make creating infrastructure quicker, easier and more secure.

Name Description
modernisation-platform-terraform-bastion-linux Module for creating Linux bastion servers in member AWS accounts
modernisation-platform-terraform-ecs Module for creating ECS cluster (Linux/Windows) solely for EC2 launch type
modernisation-platform-terraform-s3-bucket Module for creating S3 buckets with sensible defaults e.g. replication, encryption
modernisation-platform-terraform-s3-bucket-replication-role Module for creating an IAM role for S3 bucket replication
modernisation-platform-terraform-aws-vm-import Module that creates s3 and roles needed to import virtual machine (VM) images from your virtualization environment to Amazon EC2 as Amazon Machine Images (AMI)
modernisation-platform-terraform-pagerduty-integration Module associating an SNS topic with a PagerDuty service
modernisation-platform-terraform-loadbalancer Module that creates application loadbalancer in AWS with logging enabled, s3 to store logs and Athena DB to query logs

Terraform modules - used by the core platform

These modules are used by the Modernisation Platform's core infrastructure

Name Description
modernisation-platform-terraform-baselines Module for enabling and configuring common baseline services such as SecurityHub
modernisation-platform-terraform-cross-account-access Module for creating an IAM role that can be assumed from another account
modernisation-platform-terraform-environments Module for creating organizational units and accounts within AWS Organizations from JSON files
modernisation-platform-terraform-iam-superadmins Module for creating defined IAM users as superadmins
modernisation-platform-terraform-trusted-advisor Module for refreshing Trusted Advisor every 60 minutes
modernisation-platform-terraform-member-vpc Module for member VPC accounts
modernisation-platform-terraform-lambda-scheduler-stop-start Module for stopping and starting instance, rds resources and autoscaling groups with lambda function
modernisation-platform-github-oidc-provider Module for creating OIDC providers to use in GitHub Actions

Tools

Name Description
modernisation-platform-infrastructure-test Infrastructure test tool based on Cucumber.js
modernisation-platform-cp-network-test Container bundled with utilities for network testing