Skip to content

Project Progress

This document tracks the progress of the Cloud Platform Engineering Lab and records completed milestones, current work and future objectives.


Milestone 1 - Foundation

Status: ✅ Complete

Completed

  • Raspberry Pi cloud engineering workstation created
  • Terraform installed and configured
  • AWS CLI installed and configured
  • Git repository created
  • GitHub integration completed
  • SSH identities separated for different environments
  • Cloud platform repository structure created
  • Initial Terraform module architecture created
  • AWS account created and configured

Milestone 2 - AWS Infrastructure Foundation

Status: ✅ Complete

Completed

  • AWS IAM administration configured
  • AWS CLI authentication configured
  • Terraform AWS provider configured
  • Terraform bootstrap environment created
  • Amazon S3 remote state backend deployed
  • S3 bucket versioning enabled
  • S3 server-side encryption enabled
  • DynamoDB Terraform state locking deployed
  • Remote Terraform backend successfully validated

Milestone 3 - AWS Infrastructure Deployment

Status: ✅ Complete

Completed

Networking

  • AWS VPC deployed
  • Public subnet deployed
  • Private subnet deployed
  • Internet Gateway deployed
  • Route tables configured
  • Network routing validated

Compute

  • EC2 Terraform module created
  • Amazon Linux EC2 instance deployed
  • SSH key authentication configured
  • Terraform outputs created
  • EC2 deployment successfully verified

Security

  • AWS Security Group deployed using Infrastructure as Code
  • SSH access restricted
  • Web access rules automated
  • Security configuration managed through Ansible

Milestone 4 - Cloud Platform Services

Status: ✅ Complete

Configuration Management

Completed:

  • Ansible control node configured
  • AWS inventory created
  • SSH connectivity verified
  • Server configuration automated
  • Docker installation automated
  • Repeatable server deployment implemented

Ansible roles created:

```text ansible/ └── roles/ ├── common/ ├── docker/ ├── docker-deploy/ ├── monitoring/ └── aws-security/ Container Platform

Completed:

Docker runtime deployed Docker service enabled Docker permissions configured Docker Compose deployment automated nginx container deployed Shared Docker network created Container deployment verified

Current platform:

AWS EC2

|
|

Docker Engine

|
|

Docker Compose

|
+----------------+
|                |

nginx Monitoring Platform Monitoring Platform

Status: ✅ Complete

Monitoring stack deployed:

Prometheus Grafana Node Exporter cAdvisor

Verified:

Prometheus health endpoint operational Grafana service operational Node metrics available Container metrics available Monitoring containers communicating correctly

Current monitoring architecture:

Node Exporter | | v Prometheus | | v Grafana

cAdvisor | | v Container Metrics Milestone 5 - Public Cloud Service Layer

Status: 🚧 In Progress

The platform is now moving from infrastructure deployment into production-style service delivery.

Current Work DNS

Completed:

Cloudflare account configured Domain added to Cloudflare Registrar nameservers updated

Cloudflare nameservers:

darwin.ns.cloudflare.com pearl.ns.cloudflare.com

Current status:

🚧 DNS validation and service publishing in progress

Reverse Proxy

Planned:

Configure nginx reverse proxy Route services using domain names Remove direct application port exposure Implement HTTPS termination

Target services:

cloud.jrwroberts.co.uk

grafana.jrwroberts.co.uk

prometheus.jrwroberts.co.uk Security Platform

Planned:

HTTPS certificates Authentication layer Cloudflare security controls CrowdSec security monitoring Authelia authentication Secrets management Milestone 6 - Platform Engineering Improvements

Status: ⏳ Planned

Future objectives:

GitHub Actions CI/CD pipelines Automated Terraform validation Infrastructure testing Deployment automation Centralised logging with Loki Alertmanager integration AWS CloudWatch integration Cost monitoring and optimisation Disaster recovery documentation Multi-environment deployments

Target environments:

Development

Test

Production Current Project Status Component Status Raspberry Pi Workstation ✅ Complete GitHub Repository ✅ Complete Terraform Installation ✅ Complete AWS CLI Configuration ✅ Complete Terraform Remote State ✅ Complete DynamoDB State Locking ✅ Complete AWS Networking ✅ Complete EC2 Deployment ✅ Complete Security Groups ✅ Complete Ansible Automation ✅ Complete Docker Platform ✅ Complete Monitoring Platform ✅ Complete Cloudflare Integration 🚧 In Progress nginx Reverse Proxy 🚧 In Progress HTTPS ⏳ Planned Authentication ⏳ Planned Central Logging ⏳ Planned CI/CD Automation ⏳ Planned Kubernetes ⏳ Planned Current Architecture Developer Workstation (Raspberry Pi 4)

    |
    |
    v

Git Repository

    |
    |
    v

Terraform

    |
    |
    v

AWS Cloud Platform

    |
    |
    v

EC2 Instance

    |
    |
    v

Ansible Configuration

    |
    |
    v

Docker Platform

    |
    +-----------------------+
    |                       |
    v                       v

 nginx              Monitoring Stack

                         |
         +---------------+---------------+
         |               |               |
         v               v               v

    Prometheus       Grafana        Exporters

Future Architecture Internet

|

Cloudflare DNS

|

HTTPS

|

nginx Reverse Proxy

|

Docker Services

|

Monitoring + Logging + Security

|

Automated Cloud Platform Project Vision

The objective is to demonstrate a complete modern Cloud Platform Engineering workflow:

Local Development

    |

Git Version Control

    |

Infrastructure as Code

    |

AWS Cloud Infrastructure

    |

Configuration Automation

    |

Container Platform

    |

Monitoring and Observability

    |

Secure Production-style Services

Author: James Roberts

Last Updated: 18 July 2026