diff --git a/docker/demo/db-1/datas/compute_resource.json b/docker/demo/db-1/datas/compute_resource.json index 79aa630..77456dd 100644 --- a/docker/demo/db-1/datas/compute_resource.json +++ b/docker/demo/db-1/datas/compute_resource.json @@ -29,8 +29,8 @@ "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { - "0": {"3": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "pricing": {"price": 3.5, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}, - "2": {"0": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "pricing": {"price": 250.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}} + "0": {"3": {"exploitpricingprofile": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : { "pricing": {"price": 3.5, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "2": {"0": {"exploitpricingprofile": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : { "pricing": {"price": 250.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}}}} }}] }, "security_level": "public", @@ -72,7 +72,15 @@ "abstractobject": {"id": "0bb77206-371a-428e-8ae3-ff11575071e2", "name": "VM Proxmox Pierre 2", "is_draft": false, "access_mode": 0}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{ + "resourcepartnership": { + "namespace": "default", + "peer_groups": {"*": ["*"]}, + "pricing_profiles": { + "0": {"3": {"exploitpricingprofile": { "privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0,"accesspricingprofile" : { "pricing": {"price": 3.5, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "2": {"0": { "exploitpricingprofile": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0,"accesspricingprofile" : { "pricing": {"price": 250.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}}}} + } + }}] }, "security_level": "private", "annual_co2_emissions": 1000, @@ -102,14 +110,23 @@ "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:00–06: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"}] + "owners": [{"name": "Meteo France"}], + "allowed_booking_modes": { + "0": {"inflate": false, "percent": 0, "priority": 0}, + "1": {"inflate": false, "percent": 6, "priority": 1} + } }, "instances": [{ "resourceinstance": { "abstractobject": {"id": "7fdccb9c-7090-40a5-bacd-7435bc56c90d", "name": "Meteo France datacenter Toulouse", "is_draft": false, "access_mode": 0}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{ + "resourcepartnership": { + "namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { + "0": {"3": { "exploitpricingprofile": { "privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 5.0, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "2": {"0": { "exploitpricingprofile": { "privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0,"accesspricingprofile" : { "pricing": {"price": 400.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}}}} + }}}] }, "security_level": "sec num cloud", "annual_co2_emissions": 1000, @@ -151,7 +168,9 @@ "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": {"*": ["*"]}}] + "partnerships": [{ + "resourcepartnership": { + "namespace": "default", "peer_groups": {"*": ["*"]}}}] }, "security_level": "private", "annual_co2_emissions": 1000, @@ -181,14 +200,21 @@ "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"}] + "owners": [{"name": "IRT Saint Exupery"}], + "allowed_booking_modes": { + "0": {"inflate": false, "percent": 0, "priority": 0}, + "1": {"inflate": false, "percent": 3, "priority": 1} + } }, "instances": [{ "resourceinstance": { "abstractobject": {"id": "979776c3-9ae7-4e02-9138-7b30b25f22cc", "name": "VM Proxmox Pierre 1", "is_draft": false, "access_mode": 0}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { + "0": {"3": {"exploitpricingprofile": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 1.0, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "2": {"0": {"exploitpricingprofile": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 80.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}}}} + }}}] }, "security_level": "private", "annual_co2_emissions": 1000, @@ -200,6 +226,54 @@ "architecture": "x86", "infrastructure": 0 }, + { + "_id": "aa110011-aa11-4011-8011-aaaaaaaaaaa1", + "abstractinstanciatedresource": { + "abstractresource": { + "type": "compute", + "abstractobject": { + "id": "aa110011-aa11-4011-8011-aaaaaaaaaaa1", + "name": "Mundi datacenter Live", + "is_draft": false, + "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "creation_date": "2026-04-14T00:00:00.000Z", + "update_date": "2026-04-14T00:00:00.000Z", + "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "access_mode": 1 + }, + "logo": "http://localhost:8000/static/images/Mundi datacenter.png", + "description": "Live-streaming variant of the Mundi datacenter GPU cluster (IRT Saint-Exupéry, Toulouse). Same hardware as Mundi datacenter: Intel Core i7-14700KF (3.6 GHz, 20 cores), 16 GB DDR5-6000, 8× NVIDIA RTX 3090 FE (24 GB GDDR6X). Dedicated GPU partition optimised for continuous inference workloads: low-latency real-time video frame processing, live ONNX/TensorRT model serving and streaming satellite raster analytics. Billed per-minute to match streaming job lifecycles. Pre-emption disabled on this partition; jobs run to completion without resource rebalancing. Power mix: ~60% solar / ~40% coal. Annual CO₂ footprint: ~1 000 kg eqCO₂.", + "short_description": "IRT Saint-Exupéry live GPU cluster — i7-14700KF + 8× RTX 3090 FE, per-minute billing (peer-1)", + "owners": [{"name": "IRT Saint Exupery"}], + "allowed_booking_modes": { + "0": {"inflate": false, "percent": 0, "priority": 0}, + "1": {"inflate": false, "percent": 8, "priority": 1} + } + }, + "instances": [{ + "resourceinstance": { + "abstractobject": {"id": "aa110011-aa11-4011-8011-aaaaaaaaaaa1", "name": "Mundi datacenter Live Toulouse", "is_draft": false, "access_mode": 0}, + "location": {"latitude": 43.6047, "longitude": 1.4442}, + "country": 250, + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { + "0": {"1": {"exploitpricingprofile": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 0.07, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 1, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "2": {"0": {"exploitpricingprofile": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 280.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}}}} + }}}] + }, + "security_level": "public", + "annual_co2_emissions": 1000, + "power_sources": ["solaire", "charbon"], + "cpus": {"Intel Core i7-14700KF": {"model": "Intel Core i7-14700KF", "frequency": 3.6, "cores": 20, "architecture": "x86"}}, + "gpus": {"RTX 3090 FE": {"cores": {"cuda": 10496, "tensor": 328}, "model": "RTX 3090 FE", "memory": 24000}}, + "nodes": [ + {"name": "default", "quantity": 1, "ram": {"size": 16384}, "cpus": {"Intel Core i7-14700KF": 1}, "gpus": {"RTX 3090 FE": 8}} + ] + }] + }, + "live": true, + "architecture": "x86", + "infrastructure": 0 + }, { "_id": "ee550005-ee55-4005-8005-eeeeeeeeeeee", "abstractinstanciatedresource": { @@ -229,10 +303,10 @@ "abstractobject": {"id": "ee550005-ee55-4005-8005-eeeeeeeeeeee", "name": "Demo Peer2 Server Paris", "is_draft": false, "access_mode": 0}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { - "0": {"3": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "pricing": {"price": 6.0, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}, - "2": {"0": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "pricing": {"price": 500.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}} - }}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { + "0": {"3": { "exploitpricingprofile": { "privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 6.0, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "2": {"0": { "exploitpricingprofile": {"privilege_strategy": 2, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 500.0, "currency": "EUR", "buying_strategy": 2, "time_pricing_strategy": 0, "override_strategy": 0}, "allowed_payment_type": [0], "default_refund": 0, "refund_ratio": 0}}}} + }}}] }, "security_level": "public", "annual_co2_emissions": 500, diff --git a/docker/demo/db-1/datas/data_resource.json b/docker/demo/db-1/datas/data_resource.json index 394d385..253474c 100644 --- a/docker/demo/db-1/datas/data_resource.json +++ b/docker/demo/db-1/datas/data_resource.json @@ -27,7 +27,7 @@ "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}}}] } }] }, @@ -65,7 +65,7 @@ "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}}}] } }] }, @@ -101,7 +101,7 @@ "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}}}] } }] }, @@ -139,7 +139,7 @@ "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}}}] } }] }, diff --git a/docker/demo/db-1/datas/live_datacenter.json b/docker/demo/db-1/datas/live_datacenter.json new file mode 100644 index 0000000..5db198f --- /dev/null +++ b/docker/demo/db-1/datas/live_datacenter.json @@ -0,0 +1,175 @@ +[ + { + "_id": "ld000001-ld00-4001-8001-ld0000000001", + "abstractlive": { + "abstractobject" : { + "id": "ld000001-ld00-4001-8001-ld0000000001", + "name": "Live Mundi datacenter", + "is_draft": false, + "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "creation_date": "2026-04-14T00:00:00.000Z", + "update_date": "2026-04-14T00:00:00.000Z", + "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "access_mode": 1 + }, + "certs": { + "host": "172.16.0.180", + "port": "6443" + }, + "monitor_path": "/metrics", + "location": {"latitude": 43.6047, "longitude": 1.4442}, + "country": 250, + "access_protocol": "kubernetes", + "resources_id": ["7b989e97-c3e7-49d2-a3a7-f959da4870b5"] + }, + "storage_type": -1, + "acronym": "DC_myDC", + "architecture": "x86", + "infrastructure": 0, + "security_level": "public", + "power_sources": ["solaire", "charbon"], + "annual_co2_emissions": 1000, + "cpus": {"Intel Core i7-14700KF": {"model": "Intel Core i7-14700KF", "frequency": 3.6, "cores": 20, "architecture": "x86"}}, + "gpus": {"RTX 3090 FE": {"cores": {"cuda": 10496, "tensor": 328}, "model": "RTX 3090 FE", "memory": 24000}}, + "nodes": [ + {"name": "default", "quantity": 1, "ram": {"size": 16384}, "cpus": {"Intel Core i7-14700KF": 1}, "gpus": {"RTX 3090 FE": 8}}, + {"name": "special", "quantity": 2, "ram": {"size": 16384}, "cpus": {"Intel Core i7-14700KF": 10}, "gpus": {"RTX 3090 FE": 10}} + ] + }, + { + "_id": "ld000002-ld00-4002-8002-ld0000000002", + "abstractlive": { + "abstractobject" : { + "id": "ld000002-ld00-4002-8002-ld0000000002", + "name": "Live Meteo France datacenter", + "is_draft": false, + "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "creation_date": "2026-04-14T00:00:00.000Z", + "update_date": "2026-04-14T00:00:00.000Z", + "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "access_mode": 1 + }, + "certs": { + "host": "172.16.0.182", + "port": "6443" + }, + "monitor_path": "/metrics", + "location": {"latitude": 43.6047, "longitude": 1.4442}, + "country": 250, + "access_protocol": "kubernetes", + "resources_id": ["7fdccb9c-7090-40a5-bacd-7435bc56c90d"] + }, + "storage_type": -1, + "acronym": "DC_myDC", + "architecture": "x86", + "infrastructure": 0, + "security_level": "sec num cloud", + "power_sources": ["solaire", "charbon"], + "annual_co2_emissions": 1000, + "cpus": {"Intel Core i7-14700KF": {"model": "Intel Core i7-14700KF", "frequency": 3.6, "cores": 20, "architecture": "x86"}}, + "gpus": {"RTX 3090 FE": {"cores": {"cuda": 10496, "tensor": 328}, "model": "RTX 3090 FE", "memory": 24000}}, + "nodes": [{"name": "default", "quantity": 1, "ram": {"size": 32786}, "cpus": {"Intel Core i7-14700KF": 1}, "gpus": {"RTX 3090 FE": 8}}] + }, + { + "_id": "ld000003-ld00-4003-8003-ld0000000003", + "abstractlive": { + "abstractobject" : { + "id": "ld000003-ld00-4003-8003-ld0000000003", + "name": "Live Local K3s Peer-1", + "is_draft": false, + "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "creation_date": "2026-04-14T00:00:00.000Z", + "update_date": "2026-04-14T00:00:00.000Z", + "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "access_mode": 1 + }, + "certs": { + "host": "172.16.0.180", + "port": "6443" + }, + "monitor_path": "/metrics", + "location": {"latitude": 43.6047, "longitude": 1.4442}, + "country": 250, + "access_protocol": "kubernetes", + "resources_id": ["11110001-1111-4001-8001-111111111111"] + }, + "storage_type": -1, + "acronym": "DC_myDC", + "architecture": "x86", + "infrastructure": 1, + "security_level": "private", + "power_sources": ["Larmes d'alternant"], + "annual_co2_emissions": 1000, + "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}}] + }, + { + "_id": "ld000004-ld00-4004-8004-ld0000000004", + "abstractlive": { + "abstractobject" : { + "id": "ld000004-ld00-4004-8004-ld0000000004", + "name": "Live VM Target 1", + "is_draft": false, + "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "creation_date": "2026-04-14T00:00:00.000Z", + "update_date": "2026-04-14T00:00:00.000Z", + "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "access_mode": 1 + }, + "certs": { + "host": "172.16.0.180", + "port": "6443" + }, + "monitor_path": "/metrics", + "location": {"latitude": 43.6047, "longitude": 1.4442}, + "country": 250, + "access_protocol": "kubernetes", + "resources_id": ["979776c3-9ae7-4e02-9138-7b30b25f22cc"] + }, + "storage_type": -1, + "acronym": "DC_myDC", + "architecture": "x86", + "infrastructure": 0, + "security_level": "private", + "power_sources": ["Larmes d'alternant"], + "annual_co2_emissions": 1000, + "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}}] + }, + { + "_id": "ld000005-ld00-4005-8005-ld0000000005", + "abstractlive": { + "abstractobject" : { + "id": "ld000005-ld00-4005-8005-ld0000000005", + "name": "Live Mundi datacenter Live", + "is_draft": false, + "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "creation_date": "2026-04-14T00:00:00.000Z", + "update_date": "2026-04-14T00:00:00.000Z", + "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", + "access_mode": 1 + }, + "certs": { + "host": "172.16.0.180", + "port": "6443" + }, + "monitor_path": "/metrics", + "location": {"latitude": 43.6047, "longitude": 1.4442}, + "country": 250, + "access_protocol": "kubernetes", + "resources_id": ["aa110011-aa11-4011-8011-aaaaaaaaaaa1"] + }, + "storage_type": -1, + "acronym": "DC_myDC", + "architecture": "x86", + "infrastructure": 0, + "security_level": "public", + "power_sources": ["solaire", "charbon"], + "annual_co2_emissions": 1000, + "cpus": {"Intel Core i7-14700KF": {"model": "Intel Core i7-14700KF", "frequency": 3.6, "cores": 20, "architecture": "x86"}}, + "gpus": {"RTX 3090 FE": {"cores": {"cuda": 10496, "tensor": 328}, "model": "RTX 3090 FE", "memory": 24000}}, + "nodes": [ + {"name": "default", "quantity": 1, "ram": {"size": 16384}, "cpus": {"Intel Core i7-14700KF": 1}, "gpus": {"RTX 3090 FE": 8}} + ] + } +] diff --git a/docker/demo/db-1/datas/storage_resource.json b/docker/demo/db-1/datas/storage_resource.json index 7b494d6..11f4ea9 100644 --- a/docker/demo/db-1/datas/storage_resource.json +++ b/docker/demo/db-1/datas/storage_resource.json @@ -29,10 +29,10 @@ "abstractobject": {"id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "name": "IRT local file storage Toulouse", "is_draft": false, "access_mode": 0}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { - "0": {"3": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "pricing": {"price": 0.08, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}, - "1": {"4": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": true, "exceeding_ratio": 15, "pricing": {"price": 1.5, "currency": "EUR", "buying_strategy": 1, "time_pricing_strategy": 4, "override_strategy": 0}, "allowed_payment_type": [1, 2, 3], "default_refund": 1, "refund_ratio": 20}} - }}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { + "0": {"3": { "exploitpricingprofile": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 0.08, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}}}, + "1": {"4": { "exploitpricingprofile": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": true, "exceeding_ratio": 15, "accesspricingprofile" : {"pricing": {"price": 1.5, "currency": "EUR", "buying_strategy": 1, "time_pricing_strategy": 4, "override_strategy": 0}, "allowed_payment_type": [1, 2, 3], "default_refund": 1, "refund_ratio": 20}}}} + }}}] }, "source": "/mnt/vol", "local": true, @@ -73,7 +73,7 @@ "abstractobject": {"id": "04bc70b5-8d7b-44e6-9015-fadfa0fb102d", "name": "IRT risk database Toulouse", "is_draft": false, "access_mode": 0}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}}}] }, "source": "/mnt/riskdb", "local": false, @@ -117,10 +117,10 @@ "abstractobject": {"id": "ff660006-ff66-4006-8006-ffffffffffff", "name": "Peer2 MinIO Storage Paris", "is_draft": false, "access_mode": 0}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "country": 250, - "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { - "0": {"3": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "pricing": {"price": 0.12, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0}}, - "1": {"4": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": true, "exceeding_ratio": 20, "pricing": {"price": 2.5, "currency": "EUR", "buying_strategy": 1, "time_pricing_strategy": 4, "override_strategy": 0}, "allowed_payment_type": [1, 2, 3], "default_refund": 1, "refund_ratio": 15}} - }}] + "partnerships": [{"resourcepartnership": {"namespace": "default", "peer_groups": {"*": ["*"]}, "pricing_profiles": { + "0": {"3": { "exploitpricingprofile": { "privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": false, "exceeding_ratio": 0, "accesspricingprofile" : {"pricing": {"price": 0.12, "currency": "EUR", "buying_strategy": 0, "time_pricing_strategy": 3, "override_strategy": 0}, "allowed_payment_type": [0, 1, 2], "default_refund": 0, "refund_ratio": 0 }}}}, + "1": {"4": { "exploitpricingprofile": {"privilege_strategy": 0, "garanted_delay_second": 0, "refund_types": [], "exceeding": true, "exceeding_ratio": 20, "accesspricingprofile" : {"pricing": {"price": 2.5, "currency": "EUR", "buying_strategy": 1, "time_pricing_strategy": 4, "override_strategy": 0}, "allowed_payment_type": [1, 2, 3], "default_refund": 1, "refund_ratio": 15 }}}} + }}}] }, "source": "/mnt/minio", "local": true, diff --git a/docker/demo/demo.sh b/docker/demo/demo.sh index cf08916..339176b 100755 --- a/docker/demo/demo.sh +++ b/docker/demo/demo.sh @@ -16,8 +16,17 @@ sudo rm -rf /etc/rancher /var/lib/rancher /var/lib/kubelet /etc/cni /opt/cni sudo ip link delete cni0 2>/dev/null || true sudo ip link delete flannel.1 2>/dev/null || true +INSTALL_SCRIPT="/tmp/install_k3s.sh" echo "🚀 Installing K3s..." -curl -sfL https://get.k3s.io | sh - + +if [ ! -f "$INSTALL_SCRIPT" ]; then + echo "Téléchargement du script k3s..." + curl -sfL https://get.k3s.io -o "$INSTALL_SCRIPT" + chmod +x "$INSTALL_SCRIPT" +fi + +echo "Installation de k3s..." +sh "$INSTALL_SCRIPT" echo "📄 Setting kubeconfig..." mkdir -p ~/.kube diff --git a/docker/demo/docker-compose.dev.yml b/docker/demo/docker-compose.dev.yml index 4056477..63602a6 100644 --- a/docker/demo/docker-compose.dev.yml +++ b/docker/demo/docker-compose.dev.yml @@ -334,11 +334,11 @@ services: oc-discovery_1: image: '${REGISTRY:-opencloudregistry/}oc-discovery_1:latest' ports: - - 4001:4001 + - 4005:4005 container_name: oc-discovery_1 networks: discovery: - ipv4_address: 172.40.0.1 + ipv4_address: 172.40.0.5 oc: oc-discovery_2: image: '${REGISTRY:-opencloudregistry/}oc-discovery_2:latest'