Dev — account 779533933555¶
Region: ap-southeast-2. Dev serves two different purposes that are
easy to confuse: a stable dev1 endpoint matching the same naming
pattern as staging/prod, and a separate, fully automated per-branch
preview system.
Traffic flow¶
%%{init: {'flowchart': {'nodeSpacing': 70, 'rankSpacing': 110, 'padding': 20, 'curve': 'basis'}}}%%
flowchart TB
Internet((Public Internet))
subgraph DEVACCT["Dev account (779533933555)"]
direction TB
D1["dev1.arep.co<br/>fixed A record"]
DAPP["dev1-app.audiencerepublic.com"]
DMGR["dev-manage.arep.co/<id>"]
DPORTAL["<promoter>.dev1-portal.arep.co"]
DSDK["sdk-cdn.arep.co/dev/..."]
subgraph PERBRANCH["Per feature-branch previews — dev.arep.co zone"]
direction LR
BAPP["<branch>-app.dev.arep.co → Netlify"]
BCDN["<branch>-cdn.dev.arep.co → CloudFront"]
BHOST["<branch>.dev.arep.co → shared load balancer"]
BSSH["ssh-<branch>.dev.arep.co → branch's own EC2, direct"]
end
DEVALB["Shared load balancer, host-header routed<br/>one branch name per EC2 instance"]
BHOST --> DEVALB
EC2S["One running EC2 per active branch/ticket"]
DEVALB -->|host-header match| EC2S
BSSH -.->|direct| EC2S
end
subgraph NETLIFY["Netlify"]
NF1["dev1-app.netlify.com"]
end
subgraph CF["CloudFront"]
CFN["Notification Manager distribution"]
CFS["Widget SDK distribution"]
end
Internet --> D1 & DAPP & DMGR & DPORTAL & DSDK & BAPP & BCDN & BHOST & BSSH
DAPP --> NF1
DMGR --> CFN
DSDK --> CFS
Hostnames¶
| Hostname | App | Target |
|---|---|---|
dev1.arep.co |
C2 | Fixed A record to a single dev host (specific instance not yet confirmed) |
dev1-app.audiencerepublic.com |
AM2 | Netlify (dev1-app.netlify.com) |
dev-manage.arep.co/<id> |
Notification Manager | CloudFront |
<promoter>.dev1-portal.arep.co |
Privacy Portal | A dedicated dev host, separate from the production/staging gateways |
sdk-cdn.arep.co/dev/... |
Widget SDK | CloudFront |
Per-branch preview environments¶
Separate from the stable dev1 endpoints above, every active feature
branch or JIRA ticket gets its own fully automated preview under the
dev.arep.co zone (45 records at last count):
| Pattern | Points to |
|---|---|
<branch>-app.dev.arep.co |
Netlify (SPA preview) |
<branch>-cdn.dev.arep.co |
CloudFront (asset preview) |
<branch>.dev.arep.co |
A single shared load balancer, which host-header-routes to that branch's own EC2 |
ssh-<branch>.dev.arep.co |
The branch's EC2 instance directly, by private IP, for SSH access |
Roughly a dozen to fifteen of these are running at any given time,
one EC2 instance per active branch (t4g.small/t4g.medium), plus a
dedicated OpenVPN gateway for reaching them directly. Two other load
balancers exist in the same VPC for unrelated internal tooling.
Compute¶
Dev's VPC uses 10.10.0.0/16. Instances are named per-branch
(ec2-apse2-dev-<ticket-or-branch-name>) and are ephemeral, they're
expected to come and go as branches are created and merged, unlike the
fixed, long-lived hosts in production and staging.