The fleet control plane

PoP / anycast control

PoPs, BGP sessions, anycast policies and failover drills — the GitOps-managed footprint the edge runs on.

SS-57 CloudPoP owning service23 operations5 sub-capabilities

What it does

PoP / anycast control

SS-57 is the control plane for the physical edge: register PoPs from blueprints and providers, drain them for maintenance, manage BGP sessions and routes (drain, withdraw), author anycast and traffic policies, run failover drills that produce evidence, forecast capacity, and drive it all through GitOps changes with apply and rollback. This is the fleet the SS-27 CDN caches on and SS-25 steers to — honestly smaller than Cloudflare's 330+ cities, but yours and sovereign.

Sub-capabilities

The real surface, grouped.

PoPs, blueprints & providers

List and create PoPs from blueprints, register catalogue providers, drain a PoP for a lifecycle transition, and manage a PoP's routes.

BGP sessions & routes

Create and inspect BGP sessions, drain a session gracefully, and withdraw a route — the anycast reachability primitives, under control.

Anycast & traffic policies

Author anycast policies and traffic policies, and run a failover drill on a policy that produces a transition plus evidence you can attach to an audit.

GitOps change control

Every fleet change is a GitOps change with an explicit apply and rollback — the footprint is managed declaratively, not by hand at 3am.

Capacity & usage

Read a capacity forecast and fleet usage so PoP growth follows demand and residency zones, not a race for city count.

Endpoints

Real method + path — SS-57 CloudPoP.

A representative slice of the 23 operations on SS-57. Base: https://api.edge.nexocloud.io/api/v1. Auth is an SS-01 bearer token plus X-Tenant-Id.

GET/api/v1/popsList PoPs.
POST/api/v1/popsRegister a PoP.
POST/api/v1/pops/{id}/drainDrain a PoP (lifecycle transition).
POST/api/v1/pops/{id}/routesManage a PoP's routes.
GET/api/v1/bgp/sessionsList BGP sessions.
POST/api/v1/bgp/sessions/{id}/drainDrain a BGP session (graceful).
POST/api/v1/routes/{id}/withdrawWithdraw a BGP route.
POST/api/v1/anycast/policiesAuthor an anycast policy.
POST/api/v1/anycast/policies/{id}/failover-drillRun a failover drill (transition + evidence).
POST/api/v1/traffic/policiesAuthor a traffic policy.
GET/api/v1/blueprintsList PoP blueprints.
POST/api/v1/gitops/changesOpen a GitOps change.
POST/api/v1/gitops/changes/{id}/applyApply a GitOps change.
POST/api/v1/gitops/changes/{id}/rollbackRoll back a GitOps change.
GET/api/v1/capacity/forecastRead a capacity forecast.
GET/api/v1/usageRead fleet usage.

Full endpoint catalog →

Worked example

Drain a PoP for maintenance via a GitOps change

Fleet changes are declarative and reversible. Drain a PoP, drill failover for evidence, and apply — or roll back — as a GitOps change.

SS-57 CloudPoP · bash
# 1. Open a GitOps change describing the maintenance
curl -X POST "$BASE/gitops/changes" -H "$AUTH" -H "$TENANT" \
  -d '{"summary":"drain fra1 for hardware swap"}'
#  → { "change_id": "chg_19", "state": "open" }

# 2. Prove failover works first — a drill emits evidence
curl -X POST "$BASE/anycast/policies/pol_eu/failover-drill" -H "$AUTH" -H "$TENANT"
#  → { "transition": "fra1→ams1", "evidence_ref": "..." }

# 3. Drain the PoP and its BGP session gracefully
curl -X POST "$BASE/pops/fra1/drain"        -H "$AUTH" -H "$TENANT"
curl -X POST "$BASE/bgp/sessions/bgp_fra1/drain" -H "$AUTH" -H "$TENANT"

# 4. Apply the change — reversible in one call
curl -X POST "$BASE/gitops/changes/chg_19/apply" -H "$AUTH" -H "$TENANT"
#  → { "state": "applied" }   # POST .../rollback restores it

The failover drill produces evidence before the drain, the drain is a clean lifecycle transition, and the whole thing is one GitOps change with a rollback — no manual BGP surgery.

Architecture placement

Where it sits on the plane.

SS-57 is the substrate the rest of the suite stands on — it is deliberately honest about footprint and grows toward demand and residency, not city count.

Fleet
PoPs from blueprints + providers; drain, routes, BGP sessions under control.
Anycast
Policies with failover drills that emit evidence for the audit chain.
GitOps
Every change is declarative with apply + rollback.
Consumers
SS-27 caches/computes on these PoPs; SS-25 steers to them.