Skip to content

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/&lt;id&gt;"]
        DPORTAL["&lt;promoter&gt;.dev1-portal.arep.co"]
        DSDK["sdk-cdn.arep.co/dev/..."]

        subgraph PERBRANCH["Per feature-branch previews — dev.arep.co zone"]
            direction LR
            BAPP["&lt;branch&gt;-app.dev.arep.co → Netlify"]
            BCDN["&lt;branch&gt;-cdn.dev.arep.co → CloudFront"]
            BHOST["&lt;branch&gt;.dev.arep.co → shared load balancer"]
            BSSH["ssh-&lt;branch&gt;.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.