{
    "schema_version": 1,
    "generated_at": "2026-10-02T11:31:20Z",
    "source": "deploy-report",
    "overall": "partial",
    "vip": {
        "auth_host": "mta2.bulldigitalmedia.com",
        "auth_port": 2525,
        "bind_ip": "2.56.246.152",
        "smoke_ok": true,
        "smoke_ran": true,
        "smoke_skipped_reason": null
    },
    "hosts": [
        {
            "id": "a",
            "role": "pmta",
            "ssh_host": "2.56.246.99",
            "reachable": false,
            "status": "failed",
            "stale": true,
            "services": {
                "pmta": null,
                "pmtahttp": null
            },
            "haproxy_backends": [],
            "config_generation": null,
            "detail": "ssh: Connection timed out"
        },
        {
            "id": "b",
            "role": "pmta",
            "ssh_host": "2.56.246.104",
            "reachable": true,
            "status": "ok",
            "stale": false,
            "services": {
                "pmta": "active",
                "pmtahttp": "active"
            },
            "haproxy_backends": [],
            "config_generation": "abc123",
            "detail": null
        },
        {
            "id": "c",
            "role": "lb",
            "ssh_host": "2.56.246.152",
            "reachable": true,
            "status": "ok",
            "stale": false,
            "services": {
                "haproxy": "active",
                "stunnel": "active"
            },
            "haproxy_backends": [
                {
                    "id": "a",
                    "ip": "2.56.246.99",
                    "admin_state": "DOWN",
                    "check": "L4TOUT"
                },
                {
                    "id": "b",
                    "ip": "2.56.246.104",
                    "admin_state": "UP",
                    "check": "OK"
                }
            ],
            "config_generation": null,
            "detail": null
        }
    ],
    "latest_run_id": "fixture-sample-partial",
    "latest_finished_at": "2026-10-02T09:08:00Z",
    "notes": [
        "partial: a unreachable; VIP serving b only"
    ],
    "degraded": true
}
