Skip to content

Repos

Four GitHub repositories own cloud infrastructure. This site explains them. The repos are the config.

RepoGitHubOwnsDoes not own
tf-modulesrfetechnology/tf-modulesHow a VPC / Aurora / MSK / WAF is builtWhich size prod uses
rfetech-infrarfetechnology/rfetech-infraAccounts, VPCs, clusters, databases, Kafka topics, ECR, CloudFrontPod replica counts, HTTPRoutes
rfetech-gitopsrfetechnology/rfetech-gitopsPlatform add-ons + every service Helm valuesTerraform resources
rfetech-github-actionsrfetechnology/rfetech-github-actionsReusable CI: scan, build, push, bump GitOps, release trainsCluster YAML

A fifth repo, Local-dev-setup, runs the laptop/CI compose stack. It is not AWS. See Local & isolated stack.

Mental model

Think in layers, not “the infra repo”:

  1. Module (tf-modules) — the recipe. Change this when every environment should get a new behaviour (for example “all MSK clusters enable a log destination”).
  2. Stack (rfetech-infra) — one folder, one Terraform state, one environment (or overlay). Change this when this env needs a bigger Aurora, a new Kafka topic, or a new ECR repo.
  3. Desired cluster state (rfetech-gitops) — Argo CD watches git. Change this when a service needs more replicas, a new HTTPRoute, a secret mount, or you add a cluster add-on.
  4. Pipeline (rfetech-github-actions) — service repos stay thin. Change this when every Python/Go/frontend pipeline should lint, scan, or ship differently.

If you edit the wrong layer, the change either will not apply, or will apply everywhere you did not intend.

Everyday “I want to…”

I want to…RepoWhere
Add a Kafka topicrfetech-infrarfe-dev/kafka/terraform.tfvars topic_names and prod main.tf
Change how topics are createdtf-modulesmodules/KAFKA
Bump a service imageCI does itGitOps helm-overrides/fantasy7-<env>/<service>/custom-values.yaml deployment.image.tag
Add HTTP path /foo on gatewayrfetech-gitopsthat service’s custom-values.yaml httpRoutes
Add a new microserviceall four, in orderECR in infra → ApplicationSet list + values folder in gitops → thin ci-cd-pipeline.yml calling actions
Install Kyverno / KEDA / Traefik tweakrfetech-gitopsfalcon-apps-of-apps/apps/<addon>/
Change Sonar / Trivy / Docker buildrfetech-github-actions.github/workflows/
Resize prod Aurorarfetech-infrarfe-prod/terraform.tfvars (not the module, unless the knob does not exist)
Explain the designthis docs repoplus an ADR if it is a decision

Naming that looks like other products

String in gitMeans
BigBashProduct / public DNS (bigbash.site, bigbash.life)
FalconXService codebase / platform name
fantasy7-*Helm override folders in GitOps (historical)
rfe-dev / rfe-prodTerraform env folders
overlay devKustomize overlay for develop
falcon-apps-of-appsArgo CD tree for platform + service ApplicationSets

Rules

  • Never paste secrets, DSNs, or full values files into this docs repo. Field names (DATABASE_HOST, KAFKA_SERVER_URL) are OK; values are not.
  • If this page and Terraform disagree, Terraform wins — then update this page.
  • Promoting architecture: ADR here → implement in the repo that owns the config → merge in dependency order (modules → infra → gitops / actions).

Full “if I need to change X” table: Where to change. Cookbook: Creating things.

BigBash architecture SSOT — hosted for the team; edit via pull requests.