resource-control/data/providers/object-storage.json
tegwick 315b38ff9a feat(wp-0002): resolve the Host Europe evidence gap; WP-0002 finished
Account holder confirmed 2026-08-15 that Host Europe offers no fully managed S3
and no API to provision storage. That is a blocking answer, which T02's
acceptance criterion permits alongside evidence and unknown.

- host-europe-cloud-storage: blocked-account-confirmation -> not-offered, with
  provenance recorded as account-holder knowledge rather than vendor-written
  confirmation. The 2020 published specification describes nothing currently
  orderable.
- T02 done: no acceptance requirement is blank for any provider.
- T01 done: the A/B/C comparison was never missing a leg. With no managed S3 to
  price, Host Europe's real form is self-managed Garage on their VMs, already
  priced from the public catalogue at EUR 335.77/month for 3 nodes — roughly 5x
  the chosen Scaleway option, and it fails closed at month 12 when base demand
  (458 GB) exceeds the 400 GB usable capacity.

The missing evidence would not have changed the decision; it strengthens it.

The 2026-08-10 due-diligence matrix and the approved optimization case are
deliberately not rewritten. A decision record documents what was known when the
decision was made; the new evidence document is the supersession.

"No provisioning API" is filed as a procurement-facility fact: any Host Europe
resource is manually provisioned, which is RESOURCE-WP-0005 and RAIL-HO-WP-0008
territory, not a pricing question.

RESOURCE-WP-0002 is finished: all seven tasks done. 136 tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 02:32:25 +02:00

245 lines
9.1 KiB
JSON

{
"schema_version": "0.1",
"observed_at": "2026-08-10",
"prices_exclude_vat": true,
"fx": {
"usd_per_eur": 1.1555,
"observed_at": "2026-08-10",
"source": "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
},
"providers": [
{
"id": "host-europe-cloud-storage",
"provider": "Host Europe",
"service_class": "Cloud Storage (historical S3 specification)",
"region": null,
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": null,
"included_storage_gb": 0,
"included_egress_gb": 0,
"egress_eur_per_gb": null,
"operations_eur_per_month": null,
"support_eur_per_month": null,
"operator_hours_per_month": 2,
"status": "not-offered",
"source": "account holder, 2026-08-15; superseding https://www.hosteurope.de/download/PVL/Preis_und_Leistungsverzeichnis_CloudStorage_1-0-1.pdf",
"status_evidence": "Account-holder statement 2026-08-15: Host Europe does not offer a fully managed S3 service, and offers no API to provision storage. The 2020 Cloud Storage price and service specification does not describe a currently orderable product. This is the account holder's knowledge, not vendor-written confirmation; it is recorded as a blocking answer rather than as a verified vendor term."
},
{
"id": "scaleway-standard-multi-az",
"provider": "Scaleway",
"service_class": "Standard Multi-AZ",
"region": "nl-ams",
"storage_eur_per_gb_month": 0.01606,
"monthly_minimum_eur": 0,
"included_storage_gb": 0,
"included_egress_gb": 75,
"egress_eur_per_gb": 0.01,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 1,
"status": "priced",
"source": "https://www.scaleway.com/en/pricing/storage/"
},
{
"id": "hetzner-object-storage",
"provider": "Hetzner",
"service_class": "Object Storage",
"region": "nbg1",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 6.49,
"included_storage_gb": 1000,
"included_egress_gb": 1000,
"egress_eur_per_gb": null,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 1.5,
"status": "priced-within-included-quota",
"source": "https://www.hetzner.com/storage/object-storage/"
},
{
"id": "host-europe-garage-1",
"provider": "Host Europe",
"service_class": "Self-managed Garage, 1 VM",
"region": "Germany",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 31.92,
"included_storage_gb": 400,
"included_egress_gb": 100000,
"egress_eur_per_gb": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 2,
"setup_operator_hours": 8,
"topology": "1 x 8 vCPU / 16 GB / 400 GB NVMe; replication factor 1; no redundancy",
"status": "estimate-not-production",
"source": "https://www.hosteurope.de/Server/Virtual-Server/"
},
{
"id": "host-europe-garage-2",
"provider": "Host Europe",
"service_class": "Self-managed Garage, 2 VMs",
"region": "Germany",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 63.85,
"included_storage_gb": 400,
"included_egress_gb": 100000,
"egress_eur_per_gb": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 3,
"setup_operator_hours": 12,
"topology": "2 x 8 vCPU / 16 GB / 400 GB NVMe; replication factor 2; one provider/location",
"status": "estimate-degraded-quorum",
"source": "https://www.hosteurope.de/Server/Virtual-Server/"
},
{
"id": "host-europe-garage-3",
"provider": "Host Europe",
"service_class": "Self-managed Garage, 3 VMs",
"region": "Germany",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 95.77,
"included_storage_gb": 400,
"included_egress_gb": 100000,
"egress_eur_per_gb": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 4,
"setup_operator_hours": 16,
"topology": "3 x 8 vCPU / 16 GB / 400 GB NVMe; replication factor 3; one provider/location",
"status": "estimate-production-candidate",
"source": "https://www.hosteurope.de/Server/Virtual-Server/"
},
{
"id": "hetzner-garage-1",
"provider": "Hetzner",
"service_class": "Self-managed Garage, 1 VM",
"region": "nbg1",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 30.09,
"included_storage_gb": 320,
"included_egress_gb": 20000,
"egress_eur_per_gb": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 2,
"setup_operator_hours": 8,
"topology": "1 x CX53 / 16 vCPU / 32 GB / 320 GB local SSD plus IPv4; replication factor 1",
"status": "estimate-not-production",
"source": "https://docs.hetzner.com/general/infrastructure-and-availability/price-adjustment/"
},
{
"id": "hetzner-garage-2",
"provider": "Hetzner",
"service_class": "Self-managed Garage, 2 VMs",
"region": "nbg1",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 60.18,
"included_storage_gb": 320,
"included_egress_gb": 20000,
"egress_eur_per_gb": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 3,
"setup_operator_hours": 12,
"topology": "2 x CX53 / 16 vCPU / 32 GB / 320 GB local SSD plus IPv4; replication factor 2",
"status": "estimate-degraded-quorum",
"source": "https://docs.hetzner.com/general/infrastructure-and-availability/price-adjustment/"
},
{
"id": "hetzner-garage-3",
"provider": "Hetzner",
"service_class": "Self-managed Garage, 3 VMs",
"region": "nbg1",
"storage_eur_per_gb_month": null,
"monthly_minimum_eur": 90.27,
"included_storage_gb": 320,
"included_egress_gb": 20000,
"egress_eur_per_gb": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 4,
"setup_operator_hours": 16,
"topology": "3 x CX53 / 16 vCPU / 32 GB / 320 GB local SSD plus IPv4; replication factor 3 in one location",
"status": "estimate-production-candidate",
"source": "https://docs.hetzner.com/general/infrastructure-and-availability/price-adjustment/"
},
{
"id": "aws-s3-standard",
"provider": "AWS",
"service_class": "S3 Standard",
"region": "eu-central-1",
"storage_eur_per_gb_month": 0.0212,
"monthly_minimum_eur": 0,
"included_storage_gb": 0,
"included_egress_gb": 100,
"egress_eur_per_gb": 0.07789,
"write_eur_per_1000": 0.00467,
"read_eur_per_1000": 0.00037,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 1.5,
"setup_operator_hours": 4,
"status": "priced",
"source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonS3/current/eu-central-1/index.json"
},
{
"id": "azure-blob-hot-zrs",
"provider": "Microsoft Azure",
"service_class": "Blob Storage Hot ZRS (not S3 API)",
"region": "germanywestcentral",
"storage_eur_per_gb_month": 0.0197,
"monthly_minimum_eur": 0,
"included_storage_gb": 0,
"included_egress_gb": 0,
"egress_eur_per_gb": 0.08,
"write_eur_per_1000": 0.00474,
"read_eur_per_1000": 0.00038,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 2,
"setup_operator_hours": 6,
"status": "priced-egress-estimate",
"source": "https://prices.azure.com/api/retail/prices"
},
{
"id": "gcp-cloud-storage-standard",
"provider": "Google Cloud",
"service_class": "Cloud Storage Standard regional (not S3 API)",
"region": "europe-west3",
"storage_eur_per_gb_month": 0.01731,
"monthly_minimum_eur": 0,
"included_storage_gb": 0,
"included_egress_gb": 0,
"egress_eur_per_gb": 0.1,
"write_eur_per_1000": 0.00433,
"read_eur_per_1000": 0.00035,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 2,
"setup_operator_hours": 6,
"status": "priced-egress-estimate",
"source": "https://cloud.google.com/storage/pricing"
},
{
"id": "stackit-object-storage",
"provider": "STACKIT",
"service_class": "Object Storage Premium-EU01",
"region": "Germany South",
"storage_eur_per_gb_month": 0.02662,
"monthly_minimum_eur": 0,
"included_storage_gb": 0,
"included_egress_gb": 100000,
"egress_eur_per_gb": 0,
"write_eur_per_1000": 0,
"read_eur_per_1000": 0,
"operations_eur_per_month": 0,
"support_eur_per_month": 0,
"operator_hours_per_month": 1.5,
"setup_operator_hours": 4,
"status": "priced",
"source": "https://www.stackit.de/de/preise__trashed/cloud-services/iaas/stackit-storage/"
}
]
}