Demo Multicluster

This commit is contained in:
mr
2026-04-14 10:17:07 +02:00
parent 34f10565c7
commit 8cb3b50179
13 changed files with 186 additions and 64 deletions

View File

@@ -14,7 +14,7 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/Mundi datacenter.png",
"logo": "http://localhost:8000/static/images/Mundi datacenter.png",
"description": "Toulouse-based GPU cluster operated by IRT Saint-Exupéry under the Mundi Opencloud programme. Node spec: 1× Intel Core i7-14700KF (3.6 GHz base, 5.6 GHz boost, 20 cores / 28 threads, Intel 7 process), 16 GB DDR5-6000, 8× NVIDIA RTX 3090 FE (24 GB GDDR6X, 10 496 CUDA cores, 328 3rd-gen tensor cores each). Total GPU VRAM per node: 192 GB. Specialised for GPU-accelerated computer-vision workloads: image batch processing, ONNX/TensorRT neural-network inference, satellite raster analytics (GDAL 3.8 stack). Connected to IRT local storage (/mnt/vol) via 10 GbE with direct NFS mount. Power mix: ~60% solar / ~40% coal. Annual CO₂ footprint: ~1 000 kg eqCO₂.",
"short_description": "IRT Saint-Exupéry GPU cluster — i7-14700KF + 8× RTX 3090 FE per node (peer-1)",
"owners": [{"name": "IRT Saint Exupery"}],
@@ -62,7 +62,7 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "x86_64 virtual machine (KVM) running on the opencloud-demo-2 (peer-2) Proxmox VE 8 hypervisor cluster at IP 172.16.0.181. Host hardware: Intel Core Ultra 9 285K (3.6 GHz, 32 cores Arrow Lake-S, Intel 3 process), 16 GB DDR5-6400 ECC. Exposed to peer-1 for cross-peer workflow scheduling via Admiralty multi-cluster federation; scheduling happens transparently through the OpenCloud workflow engine without explicit SSH or kubectl access from peer-1. Handles CPU-bound processing steps (Python analysis, ALPR recognition) that benefit from low-latency access to peer-2-hosted MinIO storage. Inter-peer data traffic encrypted in transit (mTLS). Power: 100% alternating-current reclaimed energy. Annual CO₂: ~1 000 kg eqCO₂.",
"short_description": "Peer-2 KVM VM — cross-peer execution target owned by opencloud-demo-2",
"owners": [{"name": "IRT Saint Exupery"}]
@@ -99,7 +99,7 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/Meteo France datacenter.png",
"logo": "http://localhost:8000/static/images/Meteo France datacenter.png",
"description": "HPC node operated by Météo-France at their Toulouse facility. Node spec: Intel Core i7-14700KF (3.6 GHz, 20 cores), 32 GB DDR5-6000, 8× NVIDIA RTX 3090 FE GPU. SecNumCloud-compliant (ANSSI qualification): data at rest AES-256, inter-node TLS 1.3, access governed by RBAC with attribute-based policy. Primarily reserved for numerical weather prediction (NWP) post-processing (AROME-France 1.3 km, ARPEGE global) and satellite raster ingestion (Sentinel-3 OLCI / SRAL, Copernicus Land Service). Available to OpenCloud federation workloads during off-peak hours (20:0006:00 UTC). Power mix: solar + coal. Annual CO₂: ~1 000 kg eqCO₂.",
"short_description": "Météo-France SecNumCloud HPC node — i7-14700KF + 8× RTX 3090 FE (peer-1)",
"owners": [{"name": "Meteo France"}]
@@ -122,6 +122,47 @@
"architecture": "x86",
"infrastructure": 0
},
{
"_id": "11110001-1111-4001-8001-111111111111",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "compute",
"abstractobject": {
"id": "11110001-1111-4001-8001-111111111111",
"name": "Local K3s Peer-1",
"is_draft": false,
"creator_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2026-04-13T00:00:00.000Z",
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "K3s single-node Kubernetes cluster running directly on the opencloud-demo-1 (peer-1) bare-metal host at IP 172.16.0.180. Host hardware: Intel Core Ultra 9 285K (3.6 GHz base, 5.6 GHz boost, 32 cores Arrow Lake-S, Intel 3 process), 16 GB DDR5-6400 ECC. Provides the local Kubernetes scheduling plane for peer-1 workloads orchestrated by Admiralty federation. Workloads scheduled here run natively on the host kernel without a hypervisor layer, giving lower overhead than the KVM VM targets. Storage accessible via NFS mount to /mnt/vol. Power: 100% reclaimed alternating-current energy. Annual CO₂: ~1 000 kg eqCO₂.",
"short_description": "Peer-1 local K3s cluster — bare-metal Kubernetes on Intel Core Ultra 9 285K (opencloud-demo-1)",
"owners": [{"name": "IRT Saint Exupery"}],
"allowed_booking_modes": {
"0": {"inflate": false, "percent": 0, "priority": 0},
"1": {"inflate": false, "percent": 5, "priority": 1}
}
},
"instances": [{
"resourceinstance": {
"abstractobject": {"id": "11110001-1111-4001-8001-111111111111", "name": "Local K3s Peer-1 Toulouse", "is_draft": false, "access_mode": 0},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
},
"security_level": "private",
"annual_co2_emissions": 1000,
"power_sources": ["Larmes d'alternant"],
"cpus": {"Intel Core Ultra 9 285K": {"model": "Intel Core Ultra 9 285K", "frequency": 3.6, "cores": 32, "architecture": "x86"}},
"nodes": [{"name": "default", "quantity": 1, "ram": {"size": 16384}, "cpus": {"Intel Core Ultra 9 285K": 1}}]
}]
},
"architecture": "x86",
"infrastructure": 1
},
{
"_id": "979776c3-9ae7-4e02-9138-7b30b25f22cc",
"abstractinstanciatedresource": {
@@ -137,7 +178,7 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "x86_64 virtual machine (KVM) on the opencloud-demo-1 (peer-1) Proxmox VE 8 cluster at IP 172.16.0.180. Host: Intel Core Ultra 9 285K (3.6 GHz, 32 cores Arrow Lake-S), 16 GB DDR5-6400. Peer-1-only scope: not exposed to external peers. Used as an isolated sandbox for running workflow steps that must not leave peer-1 infrastructure, and as a failover execution target when the Mundi datacenter GPU cluster is unavailable or saturated. VLAN-isolated from the federation DMZ; storage accessible via NFS mount to /mnt/vol. Power: 100% reclaimed alternating-current energy. Annual CO₂: ~1 000 kg eqCO₂.",
"short_description": "Peer-1 KVM VM — isolated local execution target owned by opencloud-demo-1",
"owners": [{"name": "IRT Saint Exupery"}]
@@ -174,7 +215,7 @@
"updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "High-density bare-metal server owned by opencloud-demo-2, hosted in a Tier-3 Paris data centre (PUE 1.3). 4 compute nodes, each: 2× AMD EPYC 9654 (2.4 GHz base, 3.7 GHz boost, 96 cores / 192 threads per socket, Zen 4, 5nm TSMC), 64 GB DDR5-4800 ECC registered, 2× NVIDIA RTX 4090 (24 GB GDDR6X, 16 384 CUDA cores, 512 4th-gen tensor cores). Total cluster: 768 CPU cores and 192 GB GPU VRAM across 4 nodes. Dedicated to containerised workloads requiring both high CPU parallelism (Redis, Nginx, Mosquitto pub/sub) and optional GPU acceleration (Stable Diffusion inference, large model fine-tuning). Exposed to partner peers via OpenCloud Federation manifest. Powered 100% by certified renewable (solar PPA). Annual CO₂: ~500 kg eqCO₂.",
"short_description": "Peer-2 bare-metal cluster — 4 nodes × dual EPYC 9654 + 2× RTX 4090, solar-powered",
"owners": [{"name": "opencloud-demo-2"}],

View File

@@ -14,7 +14,7 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png",
"logo": "http://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png",
"description": "Single-frame JPEG (h786poj.jpg, 590 KB, 2592×1944 px, sRGB) extracted from a French motorway speed-camera sequence. Depicts a red Peugeot 308 SW at an oblique 40° rear angle; licence plate FR-AA-000 fully unoccluded and in focus. Reference artefact for ALPR regression tests: standard 23° skew, 98 lx simulated ambient light, 35 km/h forward motion (motion-blur coefficient 0.18). Used as the canonical static input in the alpr and image-meta-extractor workflows to ensure reproducible plate-extraction benchmarks across peers. Served statically from the openalpr.com CDN evaluation dataset; SHA-1 checksum stable across CDN edge pops. Licence: OpenALPR evaluation — non-commercial use only.",
"short_description": "OpenALPR benchmark JPEG — red Peugeot 308, unoccluded rear plate, 2592×1944 px",
"owners": [{"name": "OpenALPR"}]
@@ -52,8 +52,8 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/alpine-logo.png",
"description": "Rolling series of JPEG snapshots (eu-001.jpg, avg 250 KB per frame, 1920×1080 px) captured at 0.2 Hz (one frame per 5 s) by a Hikvision DS-2CD2T43G2-2I bullet camera mounted 6 m above a Toulouse ring-road on-ramp. H.264-encoded video stream demuxed by an onboard RTSP gateway; individual frames exposed as a static HTTPS endpoint refreshed server-side every 5 seconds. Resolution sufficient for single-plate detection at vehicle distance 412 m with a 50 mm equivalent focal length. Frames are baseline JPEG (quality factor 85, no progressive encoding) and carry EXIF GPS tag matching the camera pole coordinates (43.6047°N, 1.4442°E). Classified as non-public operational data; OpenCloud federation partnerships restricted to default namespace. Source endpoint served from the openalpr CDN staging mirror; not archived.",
"logo": "http://localhost:8000/static/images/alpine-logo.png",
"description": "Rolling series of JPEG snapshots (eu-001.jpg, avg 250 KB per frame, 1920×1080 px) captured at 0.2 Hz (one frame per 5 s) by a Hikvision DS-2CD2T43G2-2I bullet camera mounted 6 m above a Toulouse ring-road on-ramp. H.264-encoded video stream demuxed by an onboard RTSP gateway; individual frames exposed as a static http endpoint refreshed server-side every 5 seconds. Resolution sufficient for single-plate detection at vehicle distance 412 m with a 50 mm equivalent focal length. Frames are baseline JPEG (quality factor 85, no progressive encoding) and carry EXIF GPS tag matching the camera pole coordinates (43.6047°N, 1.4442°E). Classified as non-public operational data; OpenCloud federation partnerships restricted to default namespace. Source endpoint served from the openalpr CDN staging mirror; not archived.",
"short_description": "Toulouse ring-road live JPEG feed — 1920×1080, 0.2 Hz, Hikvision DS-2CD2T43G2-2I (peer-1)",
"owners": [{"name": "IRT"}]
},
@@ -90,8 +90,8 @@
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/Meteo France datacenter.png",
"description": "GRIB2-encoded short-range numerical weather prediction output from the Météo-France AROME-France 1.3 km model over metropolitan France (domain 37.5°N55°N, 12°W16°E). Issued 4× daily (00, 06, 12, 18 UTC runs); forecast horizon H+0 to H+48 at 1-hour steps. Fields per level: 2 m temperature (K), 10 m U/V wind components (m/s), total cloud cover fraction (01), convective available potential energy (J/kg), cumulative precipitation (kg/m²), surface pressure (Pa), relative humidity (%). Each full-run bundle: ~590 MB compressed (gzip level 6). Served from the Météo-France Données Publiques HTTPS API (token-free, rate-limit 500 req/day/IP). SHA-256 checksum file published alongside each bundle. Licence: Étalab Open Licence 2.0 — reuse and redistribution permitted with attribution.",
"logo": "http://localhost:8000/static/images/Meteo France datacenter.png",
"description": "GRIB2-encoded short-range numerical weather prediction output from the Météo-France AROME-France 1.3 km model over metropolitan France (domain 37.5°N55°N, 12°W16°E). Issued 4× daily (00, 06, 12, 18 UTC runs); forecast horizon H+0 to H+48 at 1-hour steps. Fields per level: 2 m temperature (K), 10 m U/V wind components (m/s), total cloud cover fraction (01), convective available potential energy (J/kg), cumulative precipitation (kg/m²), surface pressure (Pa), relative humidity (%). Each full-run bundle: ~590 MB compressed (gzip level 6). Served from the Météo-France Données Publiques http API (token-free, rate-limit 500 req/day/IP). SHA-256 checksum file published alongside each bundle. Licence: Étalab Open Licence 2.0 — reuse and redistribution permitted with attribution.",
"short_description": "Météo-France AROME 1.3 km GRIB2 — H+48 NWP, 4× daily, Étalab open data (peer-1)",
"owners": [{"name": "Meteo France"}]
},
@@ -109,7 +109,7 @@
"open_data": true,
"static": false,
"size": 590,
"example": "https://donneespubliques.meteofrance.fr/"
"example": "http://donneespubliques.meteofrance.fr/"
},
{
"_id": "hh880008-hh88-4008-8008-hhhhhhhhhhhh",
@@ -126,7 +126,7 @@
"updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"access_mode": 1
},
"logo": "https://localhost:8000/static/images/alpine-logo.png",
"logo": "http://localhost:8000/static/images/alpine-logo.png",
"description": "Structured NDJSON (newline-delimited JSON) HTTP access-log stream produced by the OpenCloud peer-2 API gateway (Nginx 1.25). Each record: {\"ts\":\"ISO-8601\",\"method\":\"HTTP verb\",\"path\":\"/endpoint\",\"status\":NNN,\"latency_ms\":N,\"peer\":\"opencloud-demo-2\",\"bytes_out\":N,\"upstream_ms\":N}. Rolling 24-h window; approximately 1.2 GB uncompressed per day at typical 300 req/min sustained load with bursts to 2 000 req/min. Flushed to the peer-2 MinIO bucket under /logs/api.log with a 1-minute write interval and gzip-compressed daily rotations retained for 30 days. Consumed by the api-monitoring-stack workflow: CURL fetches the current active chunk, Redis caches per-endpoint status-code distributions and p50/p95 latency percentiles under a 300-second TTL, Nginx serves the aggregated dashboard over HTTP/1.1. Data classification: internal peer-2 operational telemetry; partnerships restricted to default namespace.",
"short_description": "Peer-2 API gateway NDJSON access logs — 1.2 GB/day, 300 req/min, 30-day MinIO retention",
"owners": [{"name": "opencloud-demo-2"}]

View File

@@ -15,7 +15,7 @@
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/curl-logo.png",
"description": "Official curl Docker image (curlimages/curl:8.5.0) published by the curl project. Implements HTTP/1.1, HTTP/2, HTTPS (TLS 1.3), FTP, SFTP, SCP and 25+ other protocols. Supports cookies, redirect chains, proxy authentication, rate limiting, resumable transfers and parallel downloads (-Z flag). Typical workflow use: first-stage ingestion step that pulls remote datasets — camera snapshots, API log files, GeoTIFF archives, JSON feeds — into a shared storage volume before downstream processing nodes consume them. Single static binary; 12 MB compressed Alpine-based image; no shell dependency.",
"description": "Official curl Docker image (curlimages/curl:8.5.0) published by the curl project. Implements HTTP/1.1, HTTP/2, http (TLS 1.3), FTP, SFTP, SCP and 25+ other protocols. Supports cookies, redirect chains, proxy authentication, rate limiting, resumable transfers and parallel downloads (-Z flag). Typical workflow use: first-stage ingestion step that pulls remote datasets — camera snapshots, API log files, GeoTIFF archives, JSON feeds — into a shared storage volume before downstream processing nodes consume them. Single static binary; 12 MB compressed Alpine-based image; no shell dependency.",
"short_description": "Official curl image — multi-protocol data fetcher for workflow ingestion stages",
"owners": [{"name": "IRT"}]
},

View File

@@ -102,7 +102,7 @@
"updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"access_mode": 1
},
"logo": "https://min.io/resources/img/logo/ORIGINAL/vertical/dark/minioVerticalLogo-Dark.png",
"logo": "http://min.io/resources/img/logo/ORIGINAL/vertical/dark/minioVerticalLogo-Dark.png",
"description": "MinIO Community Edition S3-compatible object store hosted on opencloud-demo-2 infrastructure, Paris Tier-3 data centre. Mount point: /mnt/minio. Capacity: 1 TB, NVMe RAID-6 array (6 drives, 2 parity), sustained throughput read 500 MB/s / write 400 MB/s, random IOPS 350 k. AES-256 encryption at rest; TLS 1.3 for all S3 API calls; server-side object integrity checksums (SHA-256). Bucket lifecycle policies: /logs prefix auto-archived to Glacier-class tier after 30 days; /tmp prefix purged after 24 h. Accessible to partner peers via S3 presigned URLs (1 h TTL) issued within the OpenCloud Federation default namespace. MinIO Console on :9001 restricted to peer-2 operators. Acts as the primary sink for peer-2 workflows: CURL log dumps, Redis snapshot exports and Mosquitto payload archives.",
"short_description": "Peer-2 MinIO NVMe RAID-6 — 1 TB, 500/400 MB/s, AES-256, presigned S3 access",
"owners": [{"name": "opencloud-demo-2"}],

View File

@@ -92,7 +92,7 @@
"position": {"id": "", "x": 435.83, "y": 77.63},
"itemresource": {"data": {"type": "data", "quality": "low", "open_data": false, "static": true, "size": 0.59, "example": "tutut",
"abstractinstanciatedresource": {"abstractresource": {"allowed_booking_modes": null, "purchaseinfo": null,
"logo": "https://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png",
"logo": "http://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png",
"description": "Sample JPEG image of a red car with a visible license plate.", "short_description": "A casual red car",
"owners": [{"name": "Red Car"}],
"abstractobject": {"name": "Red Car", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106",
@@ -109,7 +109,7 @@
"position": {"id": "", "x": 638.33, "y": 295.86},
"itemresource": {"compute": {"architecture": "x86", "infrastructure": 0,
"abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null,
"logo": "https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "VM hosted on opencloud-demo-2, shared with peer-1.", "short_description": "VM hosted on opencloud-demo-2 — peer-2 owned",
"owners": [{"name": "IRT Saint Exupery"}], "allowed_booking_modes": null,
"abstractobject": {"id": "0bb77206-371a-428e-8ae3-ff11575071e2", "not_in_catalog": false, "name": "VM Target 2",
@@ -118,7 +118,7 @@
"instances": [{"resourceinstance": {"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"abstractobject": {"access_mode": 0, "id": "0bb77206-371a-428e-8ae3-ff11575071e2", "not_in_catalog": false, "name": "VM Proxmox Pierre 2", "is_draft": false}},
"security_level": "private", "power_sources": ["Larmes d'alternant"]}]}}}
"security_level": "private", "power_sources": ["solar"]}]}}}
},
"775c5cb3-5dc0-46ae-949c-1c5911b2ca4c": {
"id": "775c5cb3-5dc0-46ae-949c-1c5911b2ca4c", "width": 100, "height": 100,
@@ -242,7 +242,7 @@
"position": {"id": "", "x": 430, "y": 60},
"itemresource": {"data": {"type": "data", "quality": "low", "open_data": false, "static": true, "size": 0.59, "example": "http://plates.openalpr.com/h786poj.jpg",
"abstractinstanciatedresource": {"abstractresource": {"allowed_booking_modes": null, "purchaseinfo": null,
"logo": "https://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png",
"logo": "http://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png",
"description": "Sample JPEG image of a red car with a visible license plate.",
"short_description": "Sample image of a red car with license plate",
"owners": [{"name": "OpenALPR"}],
@@ -331,7 +331,7 @@
"position": {"id": "", "x": 640, "y": 330},
"itemresource": {"compute": {"architecture": "x86", "infrastructure": 0,
"abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null,
"logo": "https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "VM hosted on opencloud-demo-2, peer-2 owned. Executes the Python analysis step.",
"short_description": "VM hosted on opencloud-demo-2 — peer-2 owned",
"owners": [{"name": "IRT Saint Exupery"}], "allowed_booking_modes": null,
@@ -340,7 +340,7 @@
"update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "not_in_catalog": false}},
"instances": [{"resourceinstance": {"abstractobject": {"id": "0bb77206-371a-428e-8ae3-ff11575071e2", "name": "VM Proxmox Pierre 2", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}},
"security_level": "private", "power_sources": ["Larmes d'alternant"]}]}}}
"security_level": "private", "power_sources": ["solar"]}]}}}
}
},
"links": [
@@ -483,7 +483,7 @@
"position": {"id": "", "x": 210, "y": 340},
"itemresource": {"storage": {"storage_type": 5, "acronym": "DC_myDC",
"abstractinstanciatedresource": {"abstractresource": {"type": "storage", "purchaseinfo": null,
"logo": "https://min.io/resources/img/logo/ORIGINAL/vertical/dark/minioVerticalLogo-Dark.png",
"logo": "http://min.io/resources/img/logo/ORIGINAL/vertical/dark/minioVerticalLogo-Dark.png",
"description": "MinIO NVMe RAID-6 1 TB object store, peer-2 owned. Primary sink for CURL log dumps and Redis snapshot exports.",
"short_description": "Peer-2 MinIO NVMe RAID-6 — 1 TB, AES-256, S3-compatible",
"owners": [{"name": "opencloud-demo-2"}], "allowed_booking_modes": null,
@@ -501,7 +501,7 @@
"position": {"id": "", "x": 640, "y": 380},
"itemresource": {"compute": {"architecture": "x86", "infrastructure": 0,
"abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null,
"logo": "https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "Peer-2 bare-metal cluster, 4 nodes × dual EPYC 9654 + 2× RTX 4090. Executes Redis and Nginx steps.",
"short_description": "Peer-2 bare-metal cluster — dual EPYC 9654 + 2× RTX 4090, peer-2 owned",
"owners": [{"name": "opencloud-demo-2"}], "allowed_booking_modes": null,
@@ -696,7 +696,7 @@
"position": {"id": "", "x": 640, "y": 330},
"itemresource": {"compute": {"architecture": "x86", "infrastructure": 0,
"abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null,
"logo": "https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png",
"logo": "http://localhost:8000/static/images/vm_logo.png",
"description": "Peer-2 bare-metal cluster, 4 nodes × dual EPYC 9654 + 2× RTX 4090, peer-2 owned. Executes Python vehicle-detection step cross-peer.",
"short_description": "Peer-2 bare-metal cluster — dual EPYC 9654 + 2× RTX 4090, peer-2 owned",
"owners": [{"name": "opencloud-demo-2"}], "allowed_booking_modes": null,