mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-03 13:17:07 +00:00
docs: OpenCPU, OpenMemory, OpenGPU and OpenBandwidth, the resources of a server purchase
Four resource specifications under OpenServer, one per thing that is negotiable when a server is bought. Each is the block of an OpenServer offer (compute, memory, gpu, network) written down on its own, with the units OpenServer 0.1 already uses (vcpu, cores, ram_mb, vram_mb, bandwidth_mbps, transfer_gb, ipv4, ipv6) and one new shape shared by all four: `range`, the field a buyer can dial at checkout, its bounds, the step and what a step costs on top of the base price. - OpenCPU: threads against cores, the processor by its vendor name, dedicated, shared or burstable allocation. - OpenMemory: mebibytes, DDR generation, ECC as three states, reserved, balloonable or shared; wins over compute.ram_mb when both are present. - OpenGPU: the card by its vendor name, count and VRAM per device, interconnect, passthrough, MIG, vGPU or shared access. - OpenBandwidth: port, four meters (transfer, unmetered, percentile, flat), overage, IPv4 and IPv6 addresses as a priced resource. A provider that sells only one resource lists it as an OpenServer offer and may serve the same document at /.well-known/<slug>.json. Landing pages share one component (resource-spec-page.tsx). Registered in DOC_SLUGS, NAV, STATIC_ROUTES and llms.txt. OpenServer, OpenFile and OpenDisk arrive in sibling PRs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014cmNRtR2vL1p89dbVQ7FZJ
This commit is contained in:
parent
9f898d27bf
commit
66ef39cda6
13 changed files with 881 additions and 0 deletions
63
apps/logicsrc-web/src/app/openbandwidth/page.tsx
Normal file
63
apps/logicsrc-web/src/app/openbandwidth/page.tsx
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
import type { ReactNode } from "react";
|
||||
import type { Metadata } from "next";
|
||||
import { ResourceSpecPage, type ResourceSpec } from "@/components/resource-spec-page";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "OpenBandwidth · LogicSRC",
|
||||
description:
|
||||
"OpenBandwidth is the network block of an OpenServer offer: port speed, how traffic is metered (transfer, unmetered, 95th percentile, flat), what overage costs, IPv4 and IPv6 addresses as a priced resource, DDoS scrubbing, and a range that says what a buyer can add at checkout and for how much.",
|
||||
alternates: { canonical: "/openbandwidth" }
|
||||
};
|
||||
|
||||
const SPEC: ResourceSpec = {
|
||||
name: "OpenBandwidth",
|
||||
slug: "openbandwidth",
|
||||
block: "network",
|
||||
tagline:
|
||||
"The network line of a server purchase, with the words fixed: the port, the meter, the overage, the addresses, and what more of any of them costs.",
|
||||
problem:
|
||||
"Unmetered 1 Gbps, 1 Gbps with 20 TB, and 1 Gbps at the 95th percentile with 100 Mbps committed are three products that every comparison site shows as 1 Gbps. The surprise on the invoice is always the network line: overage at a cent a gigabyte here and nine there, ingress free or billed, a second IPv4 address at two a month or unavailable at any price. IPv4 is now a market of its own, leased by the /24, and no catalog format has a place for it.",
|
||||
sample: `{
|
||||
"network": {
|
||||
"bandwidth_mbps": 1000,
|
||||
"metering": "transfer",
|
||||
"transfer_gb": 20000,
|
||||
"counts": "egress",
|
||||
"overage": { "amount": 0.01, "currency": "USD", "per_gb": 1 },
|
||||
"ipv4": 1,
|
||||
"ipv4_price": { "amount": 2, "currency": "USD", "interval": "month", "per": 1 },
|
||||
"ipv4_max": 8,
|
||||
"ipv6": "/64",
|
||||
"ddos": "always-on",
|
||||
"range": {
|
||||
"key": "bandwidth_mbps", "min": 1000, "max": 10000, "step": 1000,
|
||||
"price": { "amount": 15, "currency": "USD", "interval": "month", "per": 1000 }
|
||||
}
|
||||
}
|
||||
}`,
|
||||
smallest: `{ "network": { "bandwidth_mbps": 1000 } }`,
|
||||
fields: [
|
||||
["bandwidth_mbps", "integer, required", "The port speed sold. A shaped link states the shaped rate."],
|
||||
["metering", "transfer, unmetered, percentile, flat", "Gigabytes against transfer_gb, no cap, 95th percentile with commit_mbps, or a fixed price for the port."],
|
||||
["transfer_gb, counts", "integer per interval; egress, ingress, both, max", "Included traffic and which direction counts. A reader never assumes egress."],
|
||||
["overage, over_cap", "amount, currency, per_gb or per_mbps; bill, throttle, suspend", "What traffic past the cap costs, or what happens instead."],
|
||||
["ipv4, ipv4_price, ipv4_max, ipv6", "integer; price per address; integer; boolean or prefix", "Addresses as a resource: included, the price of more, the ceiling, and the IPv6 assignment."],
|
||||
["ddos, private_network, uplinks", "always-on, on-demand, none; boolean; integer", "That mitigation exists, a private LAN, physical links on a dedicated box."],
|
||||
["range", "key bandwidth_mbps, transfer_gb or ipv4; min, max, step, price", "What the buyer can dial and what a step costs."]
|
||||
],
|
||||
directory: [
|
||||
["Meter beside the port", "1 Gbps unmetered and 1 Gbps with 20 TB are two rows with two words."],
|
||||
["Price a month of traffic", "Base plus overage at a stated volume, with the volume shown."],
|
||||
["Addresses as a resource", "Included count, price of more, ceiling. Zero with no price is unstated, not free."],
|
||||
["Never assume direction", "A cap with no counts is a cap with the direction unstated."]
|
||||
],
|
||||
absent: [
|
||||
["No speed test", "bandwidth_mbps is the port sold. Achieved throughput is a measurement."],
|
||||
["No carriers or peering", "Upstreams and exchanges are the provider's network page. An ASN goes under the provider's own key."],
|
||||
["No SLA", "Uptime percentages and credits are the provider's terms, linked from the offer's url."]
|
||||
]
|
||||
};
|
||||
|
||||
export default function OpenBandwidthPage(): ReactNode {
|
||||
return <ResourceSpecPage spec={SPEC} />;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue