Infra Overview & Ownership

This page describes what the platform infrastructure in this repo owns from an infrastructure perspective, who depends on it, and how it fits into the wider system.

The primary audience is infra / platform engineers and SREs working with AWS, Terraform, and CI/CD. Application code and pipeline logic also live in this monorepo (or in sibling repos), but are out of scope here.

Scope of this repository

This repository manages the AWS infrastructure for:

  • Backstage portal at portal.rocketclub.online
  • Prefect platform surface at pipelines.rocketclub.online
  • Shared data platform components
    • Aurora (relational metadata DB)
    • S3 buckets for cached, raw, clean and design-file data
    • IAM roles and policies used by ECS tasks, Lambda and CI
    • Secrets Manager secrets for databases and external services
  • Supporting edge and networking components
    • Cloudflare DNS and proxy configuration (modeled conceptually)
    • CloudFront distributions in front of the ALB
    • Application Load Balancer and target groups for ECS services
  • Integration points to external managed services
    • Neo4j Aura (graph database)
    • Cloudinary (image CDN)
    • Prefect orchestration (self-hosted Prefect 3 on ECS)

All of the above are provisioned and managed via a single-root Terraform stack under infra/platform/infra/envs/prod.

Out of scope (documented elsewhere)

This repository does not define or document:

  • Application code and data flows for the ETL / data pipelines
    • Owned by the blog_data repository (Prefect flows, Lambda code)
  • General user-facing, editorial, or product documentation
    • Owned by the blog_docs repository
  • The implementation of the public blog frontend on Vercel

This page may reference those systems only to clarify who consumes the infrastructure, not to document their internal behavior.

These repositories work together to make up the full system. This repository is responsible for the shared AWS infrastructure they consume:

Repo / areaRole
infra/platform/infraTerraform modules + environment root for AWS infrastructure
infra/platform/scriptsCI-friendly wrappers for Terraform and image builds
apps/docsCanonical documentation site for this monorepo
data/platform / pipelinesPrefect flows, data processing code, and runtime helpers (consumes infra)

High-level architecture

The diagram below shows the main components provisioned by this repository and how they connect at a high level.

Infra overview

At a glance:

  • Traffic for portal. and pipelines. hostnames is handled by Cloudflare and CloudFront, terminating at an Application Load Balancer.
  • The ALB forwards requests to ECS services for Backstage and Prefect.
  • Prefect workers and Lambda functions interact with Aurora, S3, Neo4j Aura and Cloudinary using IAM roles and secrets defined in this repo.
  • The public blog frontend (in a separate repo and deployed on Vercel) consumes Neo4j Aura and Cloudinary, and uses certain S3 buckets for assets and data.

Ownership map

The table below ties together the major components in the diagram with their ownership and where they live in Terraform.

Component / SurfaceOwned by this repo?Terraform location (indicative)Primary consumers
VPC, subnets, routingYesinfra/platform/infra/modules/core/networkAll AWS services
CloudFront + ALBYesinfra/platform/infra/modules/core/cloudfront-apps + .../core/albBackstage, Prefect ECS services
Backstage ECS serviceYesinfra/platform/infra/modules/apps/backstagePortal users
Prefect access surfaceYesinfra/platform/infra/modules/apps/prefect-api + .../apps/prefect-workerSelf-hosted Prefect 3 API and workers
Aurora clusterYesinfra/platform/infra/modules/core/auroraBackstage, Prefect, data pipelines
S3 data bucketsYesinfra/platform/infra/modules/core/s3-dataPrefect flows / tools
S3 design-files bucketYesinfra/platform/infra/modules/core/s3-dataFrontend + Lambda .ork processor
IAM rolesYesinfra/platform/infra/modules/core/iamECS tasks, Lambda functions, CI
Secrets Manager secretsYesPrimarily infra/platform/infra/modules/core/iam (+ env wiring in infra/platform/infra/envs/prod)ECS tasks, Lambda functions, CI
Prefect flowsNoPipeline code (outside infra root)
Lambda .ork processorInfra yes / code noLambda infra in Terraform; code lives with data/pipelinesDeployed from pipeline code
Public blog frontendNo— (Vercel / external)Uses Neo4j Aura, Cloudinary, S3

This division of ownership is intentional: the Terraform under infra/platform/infra describes and manages shared infrastructure, while application behavior and end-user documentation are kept closer to the application code.