ENGINEERING SPECS
Traffic MVP Acceptance Checklist
This checklist validates the current Traffic MVP end to end.
View sourceThis checklist validates the current Traffic MVP end to end.
1. Control Plane
/healthzreturns the expected API version and commit./api/v1/runtime-catalogreturns runtime category, capabilities, supported roles, lifecycle, and binding support./api/v1/runtime-install-profilesreturns the install profiles required by active runtime bindings./api/v1/subscription-target-catalogreturns target metadata, parameter schemas, and profile presets.
2. Node And Runtime
- A traffic entry node is online.
- A traffic exit node is online.
- Each node has an Edge Runtime summary with current heartbeat time.
- Required runtime bindings show install, apply, service, and runtime status.
- sing-box version and runtime path are reported when the runtime is installed.
3. Endpoint, DNS, And TLS
- Traffic entry nodes have at least one endpoint.
- Endpoint status is
ready. - Domain status is
active. - DNS status is
synced. - DNS record name and target are visible in Console.
- Certificate status is
issued. - TLS binding status is
ready. - Certificate expiry is visible.
- DNS/TLS Console page shows zero blocking errors for the endpoint.
4. Subscription
- Console can create a subscription against one or more ready traffic entry endpoints.
- Default subscription target comes from the target catalog.
- Subscription links are generated from catalog profile presets, not frontend hard-coding.
- Generated links include profile parameters such as
version,template, andnode_name_strategywhere applicable. - Rotation invalidates old subscription URL and protocol credentials.
- Revoke removes subscription credentials from generated runtime configuration.
- Deleted revoked subscriptions no longer appear in the active subscription list.
5. Client Traffic
- A client can import at least one generated subscription link.
- Traffic reaches a selected Traffic Entry endpoint.
- Traffic policy can select the intended Traffic Exit node.
- A known route, such as GitHub traffic, exits through the expected node.
- Client access still works after runtime reload.
6. Usage And Quota
- Edge Runtime reports traffic usage samples.
- Console shows tenant, user, subscription, and node usage.
- Usage overview clearly labels the 30-day client access rollup.
- Usage table can filter by scope, concrete target, and direction.
- Usage rows show attribution status.
- Usage summary shows user, subscription, and node attribution coverage.
- Subscription details show current usage and applicable quota policies.
- A tenant, user, subscription, or node quota policy can be created, edited, disabled, re-enabled, and deleted after disabled.
- Creating a quota policy from a usage row pre-fills the selected scope.
- Opening an existing usage scope enforcement focuses the adjustment panel and history.
- Quota events and enforcement rows show whether the policy only alerts or removes runtime credentials.
- Quota exceeded state removes affected credentials from runtime configuration.
- Quota reset or adjustment restores credentials after usage returns below the limit.
- Raw upload/download samples remain unchanged after reset or adjustment; only billable total changes.
7. Smoke Result
Record each run with:
- API version and commit.
- Console commit if available.
- traffic entry node.
- traffic exit node.
- subscription id.
- endpoint id.
- runtime binding ids.
- tested client format.
- result.
- known residual issues.
2026-07-07 Production Smoke
Result: partially passed with follow-up items.
Environment:
- API:
orbitmesh-api0.1.121, commit30b775a, build time2026-07-06T11:28:10Z. - API deployment:
ghcr.io/orbitmesh-official/orbitmesh-api:0.1.121, 1/1 pod running in namespaceorbitmesh. - Console:
https://console.orbitmesh.devis reachable from Cloudflare Pages. Expected Console commit isea93aaefrommain; the static HTML does not expose the commit before client-side login renders. - Tenant:
7c7b1763-7236-4e6c-be03-90af08a7aceb(OrbitMesh Test).
Verified:
/healthzreturnsstatus=ok, version0.1.121, commit30b775a.- Runtime catalog returns
sing-boxasstableand binding-supported;easytier,tailscale, andtraefikremainplannedand binding-disabled. - Runtime install profiles return
sing-box1.13.13andeasytier2.6.4. - Capability role catalog exposes Traffic Entry, Traffic Relay, and Traffic Exit as stable sing-box roles.
- Three production nodes are online:
b21d8af4-b38b-469b-9f90-175566cc7334/hermes-agent-dbfix-1781782871/traffic.exit.d3be5dad-2d01-4d81-a09c-8d493df25c57/tencent-hk-ingress-20260621000355/traffic.entry.20dc08b7-1ccc-411d-96f5-f4d4b815a8f9/edge-runtime-1/traffic.entry.
- All node Edge Runtimes report
v0.1.68and recent heartbeats. - All sing-box runtime bindings report
binding_status=enabled,install_state=installed,apply_status=running,service_status=active, runtime version1.13.13, and runtime path/usr/local/bin/sing-box. - Traffic Entry endpoints are
ready:9263a41c-c53e-4ae9-9622-9ab59c52a177, domaind3be5dad-2d01-4d81-a09c-8d493df25c57.traffic-entry.edge.orbitmesh.dev, DNSsynced, certificateissued, TLS bindingready, certificate expires2026-09-21T08:43:38Z.4c97fa1d-75f8-4ef9-b7e3-5f2edc60c4c1, domain20dc08b7-1ccc-411d-96f5-f4d4b815a8f9.traffic-entry.edge.orbitmesh.dev, DNSsynced, certificateissued, TLS bindingready, certificate expires2026-09-21T08:44:43Z.
- Health summary reports 9 latest checks: 9 healthy, 0 degraded, 0 unavailable, 0 unknown.
- Existing subscriptions include two active multi-endpoint subscriptions:
b92be508-5574-4859-9df4-fe7db1d041ca/clash-vergewith both Traffic Entry endpoints.206a6c59-1012-4a10-ba12-c48097fed90e/testwith both Traffic Entry endpoints.
- Public subscription rendering works for
om_sub_SPi07uYoBLrWV_bKlD4FBccXsPIIBhfrTdXffaF8HQ8:clash?node_name_strategy=region&template=standardreturns Clash YAML with generated Trojan proxy and standard groups.shadowrocket?node_name_strategy=region&template=standardreturns a full Shadowrocket configuration profile with[Proxy Group]and[Rule].shadowrocketwithouttemplatereturns Trojan node subscription output and includesSubscription-Userinfo,X-Orbitmesh-Quota-*, and format headers.
- Protocol catalog exposes Trojan with sing-box support.
- Target catalog exposes Clash, Shadowrocket, sing-box, Surge, and Trojan URI render targets with JSON Schema-backed parameters.
- Traffic policy
2e24ad0a-a1ad-4c9e-bd1b-47312f602a21is active for subscriptionec0b922f-cc33-4902-8edd-3e1cd7c2480c; it matchesping0.ccand selects hermes-agent as Traffic Exit. - Tencent Entry desired state is
DESIRED_STATE_STATUS_APPLIED, version90, and its compiled traffic policy plan resolves the hermes-agent mesh endpoint100.74.113.86:18082with route statushealthyand route latency about 38 ms. - A temporary sing-box client on
hermes-agentsuccessfully connected through the Traffic Entry subscription and fetchedhttps://ping0.cc/ipthrough the proxy. - Traffic metering catalog exposes
client_access,exit_egress,relay_transit,mesh_transit, andruntime_local. - Traffic usage API returns the 30-day tenant
client_accessrollup: upload287282952, download535170216, total822453168. - Quota policies and enforcements are readable. Existing subscription quota policies are active and public subscription responses expose quota headers.
Not fully verified:
- A non-exit external client test could not be completed because SSH access to
aws-testandtencent-hkfailed foryeabow. The hermes-agent client test proves proxy connectivity but is not a clean external-client exit-IP proof because hermes-agent is also the selected Traffic Exit. - Quota block and restoration propagation were not destructively re-tested in this run. Existing enforcement history shows one policy exceeded and later restored, but no current-period exceed/reset scenario was executed.
- DNS/TLS state is healthy, but a domain change was not performed in this run, so automatic reissue/reconcile after endpoint mutation remains untested.
- Edge Runtime update flow was not executed in this run.
Observed issues:
- Local DNS resolution for
api.orbitmesh.devfailed intermittently during the smoke run. Production API remained reachable through Kubernetes service and ingress IP plusHost: api.orbitmesh.dev. - Direct local access to the Kubernetes ClusterIP and ingress node IPs was intermittent from the workstation. Cluster-internal service calls were stable.
GET /api/v1/health-checks?page.page_size=3responded successfully but took about 6.6 seconds in one run. The summary endpoint was usable.- Quota enforcement list currently shows June 2026 periods (
2026-06-01T00:00:00Zto2026-07-01T00:00:00Z) while public subscription quota headers expose the current monthly expiry (2026-08-01T00:00:00Z). This should be aligned so Console's effective quota state and public subscription enforcement use the same current-period source of truth.