[ { "_id": "58314c99-c595-4ca2-8b5e-822a6774efed", "abstractobject": { "id": "58314c99-c595-4ca2-8b5e-822a6774efed", "not_in_catalog": false, "name": "alpr", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "update_date": {"$date": "2026-04-10T07:47:52.875Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "user_updater_id": "admin", "access_mode": 0 }, "resourceset": { "storages": ["e726020a-b68e-4abc-ab36-c3640ea3f557"], "processings": ["0d565c87-50ae-4a73-843d-f8b2d4047772","f3c8346b-3536-4c99-8b11-1be9c01697de","2ce0323f-a85d-4b8b-a783-5280f48d634a","3041990c-5c5d-40c4-8329-c1df1b812dc3"], "computes": ["0bb77206-371a-428e-8ae3-ff11575071e2","7b989e97-c3e7-49d2-a3a7-f959da4870b5"], "datas": ["d573dc63-4de0-4e29-8a4e-c15cbb3aed06"] }, "schedule_active": false, "graph": { "partial": false, "zoom": 1, "items": { "c30100a7-1162-4c6b-a8dd-e42fd4d352a2": { "id": "c30100a7-1162-4c6b-a8dd-e42fd4d352a2", "width": 100, "height": 100, "position": {"id": "", "x": 351.45, "y": 563.55}, "itemresource": {"processing": {"license": "GPLv2", "open_source": false, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"purchaseinfo": null, "type": "processing", "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Official Alpine Linux minimal Docker image.", "short_description": "A minimal Docker image", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "2ce0323f-a85d-4b8b-a783-5280f48d634a", "not_in_catalog": false, "is_draft": false, "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "name": "alpine", "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "update_date": {"$date": "2021-09-30T14:00:00Z"}}}, "instances": [{"resourceinstance": {"abstractobject": {"access_mode": 0, "id": "2ce0323f-a85d-4b8b-a783-5280f48d634a", "not_in_catalog": false, "name": "alpine Toulouse", "is_draft": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"peer_groups": {"*": ["*"]}, "namespace": "default"}]}, "access": {"container": {"image": "alpine:3.18", "command": "cat"}}}]}}} }, "fd831155-e6d1-4f24-83aa-bb9af0a3c264": { "id": "fd831155-e6d1-4f24-83aa-bb9af0a3c264", "width": 100, "height": 42, "position": {"id": "", "x": 438.53, "y": 429.41}, "itemresource": {"processing": {"infrastructure": 0, "usage": {"scaling_model": "2"}, "open_source": false, "license": "GPLv3", "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "logo": "http://localhost:8000/static/images/alpr-logo.png", "description": "Open source Automatic License Plate Recognition library.", "short_description": "Open source Automatic License Plate Recognition library.", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "purchaseinfo": null, "abstractobject": {"name": "alpr", "is_draft": false, "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "access_mode": 0, "id": "3041990c-5c5d-40c4-8329-c1df1b812dc3", "not_in_catalog": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106"}}, "instances": [{"resourceinstance": {"abstractobject": {"id": "3041990c-5c5d-40c4-8329-c1df1b812dc3", "not_in_catalog": false, "name": "alpr Toulouse", "is_draft": false, "access_mode": 0}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "openalpr/openalpr", "command": "alpr"}}}]}}} }, "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9": { "id": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "width": 100, "height": 100, "position": {"id": "", "x": 220.18, "y": 296.47}, "itemresource": {"storage": {"storage_type": 0, "acronym": "DC_myDC", "abstractinstanciatedresource": {"abstractresource": {"type": "storage", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/IRT local file storage.png", "description": "S3-compliant IRT local file storage.", "short_description": "S3 compliant IRT file storage", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"not_in_catalog": false, "name": "IRT local file storage", "update_date": {"$date": "2021-09-30T14:00:00Z"}, "id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0}}, "instances": [{"resourceinstance": {"env": [{"attr": "source", "readonly": true}], "abstractobject": {"access_mode": 0, "id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "not_in_catalog": false, "name": "IRT local file storage Toulouse", "is_draft": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "source": "/mnt/vol", "security_level": "public", "size_type": 0, "local": true, "size": 500, "encryption": true, "redundancy": "RAID5S", "throughput": "r:300,w:350"}]}}} }, "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741": { "id": "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741", "width": 100, "height": 46, "position": {"id": "", "x": 436.64, "y": 186.08}, "itemresource": {"processing": {"infrastructure": 0, "usage": {"scaling_model": "2"}, "open_source": false, "license": "MIT", "abstractinstanciatedresource": {"abstractresource": {"owners": [{"name": "IRT"}], "allowed_booking_modes": null, "purchaseinfo": null, "type": "processing", "logo": "http://localhost:8000/static/images/curl-logo.png", "description": "Official curl Docker image. Transfers data from or to a server.", "short_description": "Transfer or retrieve information from or to a server", "abstractobject": {"name": "CURL", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "id": "0d565c87-50ae-4a73-843d-f8b2d4047772", "not_in_catalog": false, "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "update_date": {"$date": "2021-09-30T14:00:00Z"}}}, "instances": [{"resourceinstance": {"abstractobject": {"access_mode": 0, "id": "0d565c87-50ae-4a73-843d-f8b2d4047772", "not_in_catalog": false, "name": "CURL Toulouse", "is_draft": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "curlimages/curl:8.5.0", "command": "curl"}}}]}}} }, "3968d439-f294-4607-95f0-3afb61b87f9a": { "id": "3968d439-f294-4607-95f0-3afb61b87f9a", "width": 100, "height": 80, "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", "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", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "access_mode": 0, "id": "d573dc63-4de0-4e29-8a4e-c15cbb3aed06", "not_in_catalog": false, "update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106"}}, "instances": [{"source": "http://plates.openalpr.com/h786poj.jpg", "resourceinstance": {"location": {"longitude": 1.4442, "latitude": 43.6047}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}], "abstractobject": {"is_draft": false, "access_mode": 0, "id": "d573dc63-4de0-4e29-8a4e-c15cbb3aed06", "not_in_catalog": false, "name": "Red Car"}, "origin": {"origin_type": 0, "origin_verified": false}}}]}}} }, "425a4a07-9d7b-423f-9e97-0ce408279e7f": { "id": "425a4a07-9d7b-423f-9e97-0ce408279e7f", "width": 100, "height": 100, "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", "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", "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "is_draft": false}}, "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"]}]}}} }, "775c5cb3-5dc0-46ae-949c-1c5911b2ca4c": { "id": "775c5cb3-5dc0-46ae-949c-1c5911b2ca4c", "width": 100, "height": 100, "position": {"id": "", "x": 643.35, "y": 429.86}, "itemresource": {"compute": {"architecture": "x86", "infrastructure": 0, "abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/Mundi datacenter.png", "description": "Mundi cloud computing node operated by IRT Saint-Exupéry.", "short_description": "Mundi Opencloud GPU instance — peer-1 owned", "owners": [{"name": "IRT Saint Exupery"}], "allowed_booking_modes": null, "abstractobject": {"not_in_catalog": false, "name": "Mundi datacenter", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "update_date": {"$date": "2021-09-30T14:00:00Z"}, "id": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0}}, "instances": [{"resourceinstance": {"abstractobject": {"not_in_catalog": false, "name": "Mundi datacenter Toulouse", "is_draft": false, "access_mode": 0, "id": "7b989e97-c3e7-49d2-a3a7-f959da4870b5"}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"allowed_gpus": {"RTX 3090 FE": 4}, "allowed_ram": 20000, "namespace": "default", "peer_groups": {"*": ["*"]}, "allowed_cpus": {"Intel Core i7-14700KF": 1}}]}, "security_level": "public", "power_sources": ["solaire", "charbon"]}]}}} }, "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3": { "id": "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3", "width": 100, "height": 112, "position": {"id": "", "x": 438.03, "y": 295.96}, "itemresource": {"processing": {"license": "Apache-2.0", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/imagemagic-logo.png", "description": "ImageMagick® image manipulation suite.", "short_description": "ImageMagick® image manipulation suite", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"not_in_catalog": false, "name": "imagemagic", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2021-09-30T14:00:00Z"}, "id": "f3c8346b-3536-4c99-8b11-1be9c01697de", "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0}}, "instances": [{"resourceinstance": {"origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}], "abstractobject": {"is_draft": false, "access_mode": 0, "id": "f3c8346b-3536-4c99-8b11-1be9c01697de", "not_in_catalog": false, "name": "imagemagic Toulouse"}}, "access": {"container": {"image": "dpokidov/imagemagick:7.1.0-62-2", "command": "magick"}}}]}}} } }, "links": [ {"env": [], "source": {"id": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "x": 319.68, "y": 345.97}, "destination": {"id": "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3", "x": 436.53, "y": 351.32}, "style": {"head_radius": 6, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "color": 4294472049, "stroke": 1.7, "tension": 1, "dash_width": 2, "dash_space": 2, "end_arrow": {"id": "", "x": -1, "y": 0}, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow_width": 10}}, {"env": [], "source": {"id": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "x": 319.68, "y": 345.97}, "destination": {"id": "fd831155-e6d1-4f24-83aa-bb9af0a3c264", "x": 437.03, "y": 449.99}, "style": {"head_radius": 6, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "color": 4294472049, "stroke": 1.7, "tension": 1, "dash_width": 2, "dash_space": 2, "end_arrow": {"id": "", "x": -1, "y": 0}, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow_width": 10}}, {"env": [], "source": {"id": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "x": 269.68, "y": 395.97}, "destination": {"id": "c30100a7-1162-4c6b-a8dd-e42fd4d352a2", "x": 349.95, "y": 613.05}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_space": 2, "end_arrow": {"id": "", "x": -1, "y": 0}, "start_arrow": {"id": "", "x": 0, "y": 1}, "arrow_style": 0, "dash_width": 2, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741", "x": 436.14, "y": 208.63}, "destination": {"id": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "x": 268.68, "y": 295.97}, "style": {"color": 4294472049, "stroke": 1.7, "head_radius": 6, "end_arrow": {"id": "", "x": 0, "y": -1}, "arrow_style": 0, "end_arrow_width": 10, "tension": 1, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": -1, "y": 0}, "arrow_direction": 0, "start_arrow_width": 10}}, {"env": [], "source": {"id": "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741", "x": 536.14, "y": 208.63}, "destination": {"id": "425a4a07-9d7b-423f-9e97-0ce408279e7f", "x": 636.83, "y": 295.36}, "style": {"end_arrow": {"id": "", "x": 0, "y": -1}, "start_arrow": {"x": 1, "y": 0, "id": ""}, "color": 4294940672, "stroke": 1.7, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2}}, {"env": [], "source": {"id": "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741", "x": 486.14, "y": 231.68}, "destination": {"id": "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3", "x": 486.53, "y": 295.46}, "style": {"dash_space": 0, "end_arrow": {"id": "", "x": 0, "y": -1}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "tension": 1, "dash_width": 0, "start_arrow": {"id": "", "x": 0, "y": 1}, "end_arrow_width": 10, "color": 4278190080, "stroke": 1.7, "head_radius": 6}}, {"env": [], "source": {"id": "3968d439-f294-4607-95f0-3afb61b87f9a", "x": 485.33, "y": 157.15}, "destination": {"id": "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741", "x": 485.14, "y": 185.58}, "style": {"start_arrow": {"id": "", "x": 0, "y": 1}, "arrow_style": 0, "arrow_direction": 0, "color": 4280391411, "stroke": 1.7, "head_radius": 6, "dash_width": 2, "end_arrow": {"id": "", "x": 0, "y": -1}, "start_arrow_width": 10, "end_arrow_width": 10, "tension": 1, "dash_space": 2}}, {"env": [], "source": {"id": "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3", "x": 537.53, "y": 351.32}, "destination": {"id": "425a4a07-9d7b-423f-9e97-0ce408279e7f", "x": 636.83, "y": 345.36}, "style": {"dash_width": 2, "dash_space": 2, "start_arrow_width": 10, "end_arrow_width": 10, "end_arrow": {"x": -1, "y": 0, "id": ""}, "start_arrow": {"id": "", "x": 1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6}}, {"env": [], "source": {"id": "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3", "x": 487.53, "y": 407.18}, "destination": {"id": "fd831155-e6d1-4f24-83aa-bb9af0a3c264", "x": 487.28, "y": 428.91}, "style": {"tension": 1, "end_arrow": {"id": "", "x": 0, "y": -1}, "start_arrow": {"id": "", "x": 0, "y": 1}, "arrow_style": 0, "arrow_direction": 0, "stroke": 1.7, "head_radius": 6, "dash_width": 0, "dash_space": 0, "start_arrow_width": 10, "end_arrow_width": 10, "color": 4278190080}}, {"env": [], "source": {"id": "c30100a7-1162-4c6b-a8dd-e42fd4d352a2", "x": 450.95, "y": 613.05}, "destination": {"id": "775c5cb3-5dc0-46ae-949c-1c5911b2ca4c", "x": 691.85, "y": 529.36}, "style": {"color": 4294940672, "stroke": 1.7, "head_radius": 6, "dash_width": 2, "dash_space": 2, "end_arrow": {"x": 0, "y": 1, "id": ""}, "start_arrow": {"id": "", "x": 1, "y": 0}, "arrow_direction": 0, "tension": 1, "arrow_style": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "fd831155-e6d1-4f24-83aa-bb9af0a3c264", "x": 538.52, "y": 449.99}, "destination": {"id": "775c5cb3-5dc0-46ae-949c-1c5911b2ca4c", "x": 641.85, "y": 479.36}, "style": {"tension": 1, "dash_space": 2, "start_arrow_width": 10, "stroke": 1.7, "head_radius": 6, "dash_width": 2, "end_arrow": {"x": -1, "y": 0, "id": ""}, "start_arrow": {"id": "", "x": 1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "end_arrow_width": 10, "color": 4294940672}}, {"env": [], "source": {"id": "fd831155-e6d1-4f24-83aa-bb9af0a3c264", "x": 488.28, "y": 471.08}, "destination": {"id": "c30100a7-1162-4c6b-a8dd-e42fd4d352a2", "x": 449.95, "y": 613.05}, "style": {"start_arrow_width": 10, "end_arrow_width": 10, "color": 4278190080, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_space": 0, "end_arrow": {"y": 0, "id": "", "x": 1}, "start_arrow": {"id": "", "x": 0, "y": 1}, "dash_width": 0, "arrow_style": 0, "arrow_direction": 0}} ] }, "shared": [], "exposes": {}, "outputs": { "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9": [{"name": "SOURCE", "value": "/mnt/vol", "readonly": false, "optionnal": false}], "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741": [{"name": "FILENAME", "value": "image.jpg", "readonly": false, "optionnal": false}], "3968d439-f294-4607-95f0-3afb61b87f9a": [{"readonly": false, "optionnal": false, "name": "SOURCE", "value": "http://plates.openalpr.com/h786poj.jpg"}], "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3": [{"optionnal": false, "name": "OUTPUT_FILENAME", "value": "treated_image.jpg", "readonly": false}], "fd831155-e6d1-4f24-83aa-bb9af0a3c264": [{"name": "OUTPUT_FILENAME", "value": "alpr.json", "readonly": false, "optionnal": false}] }, "env": { "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9": [{"optionnal": false, "name": "SOURCE", "value": "/mnt/vol", "readonly": false}], "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741": [{"value": "image.jpg", "readonly": false, "optionnal": false, "name": "FILENAME"}], "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3": [{"readonly": false, "optionnal": false, "name": "OUTPUT_FILENAME", "value": "treated_image.jpg"}], "c30100a7-1162-4c6b-a8dd-e42fd4d352a2": [{"readonly": true, "optionnal": false, "name": "ALPR_OUTPUT_FILENAME", "value": "alpr.json", "origin": "fd831155-e6d1-4f24-83aa-bb9af0a3c264"}], "fd831155-e6d1-4f24-83aa-bb9af0a3c264": [{"optionnal": false, "name": "OUTPUT_FILENAME", "value": "alpr.json", "readonly": false}] }, "inputs": { "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741": [ {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "readonly": true, "optionnal": false}, {"name": "RED_CAR_SOURCE", "value": "http://plates.openalpr.com/h786poj.jpg", "origin": "3968d439-f294-4607-95f0-3afb61b87f9a", "readonly": true, "optionnal": false} ], "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3": [ {"readonly": true, "optionnal": false, "name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9"}, {"value": "image.jpg", "origin": "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741", "readonly": true, "optionnal": false, "name": "CURL_FILENAME"} ], "fd831155-e6d1-4f24-83aa-bb9af0a3c264": [ {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "readonly": true, "optionnal": false}, {"name": "IMAGEMAGIC_OUTPUT_FILENAME", "value": "treated_image.jpg", "origin": "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3", "readonly": true, "optionnal": false} ], "c30100a7-1162-4c6b-a8dd-e42fd4d352a2": [ {"value": "/mnt/vol", "origin": "0c5ffc8c-c7db-471d-a45f-65a14b6a93e9", "readonly": true, "optionnal": false, "name": "IRT_LOCAL_FILE_STORAGE_SOURCE"}, {"readonly": true, "optionnal": false, "name": "ALPR_OUTPUT_FILENAME", "value": "alpr.json", "origin": "fd831155-e6d1-4f24-83aa-bb9af0a3c264"} ] }, "args": { "0e4ffccd-f0fb-478b-b3b4-173e7f7cc741": ["-SL", "$RED_CAR_SOURCE", "-o", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$FILENAME"], "aec3a3af-2b3c-4c4c-a849-af2a9bb554f3": ["$IRT_LOCAL_FILE_STORAGE_SOURCE/$CURL_FILENAME", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$OUTPUT_FILENAME"], "fd831155-e6d1-4f24-83aa-bb9af0a3c264": ["--country", "eu", "--json", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$IMAGEMAGIC_OUTPUT_FILENAME", ">", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$OUTPUT_FILENAME"], "c30100a7-1162-4c6b-a8dd-e42fd4d352a2": ["$IRT_LOCAL_FILE_STORAGE_SOURCE/$ALPR_OUTPUT_FILENAME"] } }, { "_id": "11111111-1111-4111-8111-111111111111", "abstractobject": { "id": "11111111-1111-4111-8111-111111111111", "not_in_catalog": false, "name": "image-meta-extractor", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2026-04-10T00:00:00.000Z"}, "update_date": {"$date": "2026-04-10T00:00:00.000Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "user_updater_id": "admin", "access_mode": 0 }, "resourceset": { "storages": ["e726020a-b68e-4abc-ab36-c3640ea3f557"], "processings": ["0d565c87-50ae-4a73-843d-f8b2d4047772", "aa110001-aa11-4001-8001-aaaaaaaaaaaa"], "computes": ["7b989e97-c3e7-49d2-a3a7-f959da4870b5", "0bb77206-371a-428e-8ae3-ff11575071e2"], "datas": ["d573dc63-4de0-4e29-8a4e-c15cbb3aed06"] }, "schedule_active": false, "graph": { "partial": false, "zoom": 1, "items": { "a1000001-0000-4000-8000-000000000001": { "id": "a1000001-0000-4000-8000-000000000001", "width": 100, "height": 80, "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", "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"}], "abstractobject": {"name": "Red Car", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "access_mode": 0, "id": "d573dc63-4de0-4e29-8a4e-c15cbb3aed06", "not_in_catalog": false, "update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106"}}, "instances": [{"source": "http://plates.openalpr.com/h786poj.jpg", "resourceinstance": {"location": {"longitude": 1.4442, "latitude": 43.6047}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}], "abstractobject": {"is_draft": false, "access_mode": 0, "id": "d573dc63-4de0-4e29-8a4e-c15cbb3aed06", "not_in_catalog": false, "name": "Red Car"}, "origin": {"origin_type": 0, "origin_verified": false}}}]}}} }, "a1000002-0000-4000-8000-000000000002": { "id": "a1000002-0000-4000-8000-000000000002", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 200}, "itemresource": {"processing": {"license": "MIT", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/curl-logo.png", "description": "Official curl Docker image. Transfers data from or to a server.", "short_description": "Transfer data from/to a server — official curl image", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "0d565c87-50ae-4a73-843d-f8b2d4047772", "name": "CURL", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "0d565c87-50ae-4a73-843d-f8b2d4047772", "name": "CURL Toulouse", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "curlimages/curl:8.5.0", "command": "curl"}}}]}}} }, "a1000003-0000-4000-8000-000000000003": { "id": "a1000003-0000-4000-8000-000000000003", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 340}, "itemresource": {"processing": {"license": "PSF-2.0", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Official Python 3.11 slim Docker image for data processing scripts.", "short_description": "Official Python 3.11 runtime for data processing", "owners": [{"name": "Python Software Foundation"}], "allowed_booking_modes": null, "abstractobject": {"id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa", "name": "Python Data Processor", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"abstractobject": {"id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa", "name": "Python Data Processor Toulouse", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "python:3.11-slim", "command": "python"}}}]}}} }, "a1000004-0000-4000-8000-000000000004": { "id": "a1000004-0000-4000-8000-000000000004", "width": 100, "height": 100, "position": {"id": "", "x": 210, "y": 270}, "itemresource": {"storage": {"storage_type": 5, "acronym": "DC_myDC", "abstractinstanciatedresource": {"abstractresource": {"type": "storage", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/IRT local file storage.png", "description": "S3-compliant IRT local file storage.", "short_description": "S3-compliant local file storage (peer-1)", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "name": "IRT local file storage", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"env": [{"attr": "source", "readonly": true}], "abstractobject": {"id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "name": "IRT local file storage Toulouse", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "source": "/mnt/vol", "security_level": "public", "size_type": 0, "local": true, "size": 500, "encryption": true, "redundancy": "RAID5S", "throughput": "r:300,w:350"}]}}} }, "a1000005-0000-4000-8000-000000000005": { "id": "a1000005-0000-4000-8000-000000000005", "width": 100, "height": 100, "position": {"id": "", "x": 640, "y": 190}, "itemresource": {"compute": {"architecture": "x86", "infrastructure": 0, "abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/Mundi datacenter.png", "description": "Mundi cloud computing node, peer-1 owned. Executes the CURL download step.", "short_description": "Mundi Opencloud GPU instance — peer-1 owned", "owners": [{"name": "IRT Saint Exupery"}], "allowed_booking_modes": null, "abstractobject": {"id": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "name": "Mundi datacenter", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "name": "Mundi datacenter Toulouse", "is_draft": false, "access_mode": 0}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"allowed_gpus": {"RTX 3090 FE": 4}, "allowed_ram": 20000, "namespace": "default", "peer_groups": {"*": ["*"]}, "allowed_cpus": {"Intel Core i7-14700KF": 1}}]}, "security_level": "public", "power_sources": ["solaire", "charbon"]}]}}} }, "a1000006-0000-4000-8000-000000000006": { "id": "a1000006-0000-4000-8000-000000000006", "width": 100, "height": 100, "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", "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, "abstractobject": {"id": "0bb77206-371a-428e-8ae3-ff11575071e2", "name": "VM Target 2", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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"]}]}}} } }, "links": [ {"env": [], "source": {"id": "a1000001-0000-4000-8000-000000000001", "x": 480, "y": 140}, "destination": {"id": "a1000002-0000-4000-8000-000000000002", "x": 480, "y": 200}, "style": {"color": 4280391411, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 0, "y": 1}, "end_arrow": {"id": "", "x": 0, "y": -1}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "a1000002-0000-4000-8000-000000000002", "x": 430, "y": 223}, "destination": {"id": "a1000004-0000-4000-8000-000000000004", "x": 310, "y": 320}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": -1, "y": 0}, "end_arrow": {"id": "", "x": 1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "a1000004-0000-4000-8000-000000000004", "x": 310, "y": 320}, "destination": {"id": "a1000003-0000-4000-8000-000000000003", "x": 430, "y": 363}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "a1000002-0000-4000-8000-000000000002", "x": 530, "y": 223}, "destination": {"id": "a1000005-0000-4000-8000-000000000005", "x": 640, "y": 240}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "a1000003-0000-4000-8000-000000000003", "x": 530, "y": 363}, "destination": {"id": "a1000006-0000-4000-8000-000000000006", "x": 640, "y": 380}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}} ] }, "shared": [], "exposes": {}, "outputs": { "a1000001-0000-4000-8000-000000000001": [{"name": "SOURCE", "value": "http://plates.openalpr.com/h786poj.jpg", "readonly": false, "optionnal": false}], "a1000004-0000-4000-8000-000000000004": [{"name": "SOURCE", "value": "/mnt/vol", "readonly": false, "optionnal": false}], "a1000002-0000-4000-8000-000000000002": [{"name": "FILENAME", "value": "image.jpg", "readonly": false, "optionnal": false}], "a1000003-0000-4000-8000-000000000003": [{"name": "OUTPUT_FILENAME", "value": "metadata.json", "readonly": false, "optionnal": false}] }, "env": { "a1000002-0000-4000-8000-000000000002": [{"name": "FILENAME", "value": "image.jpg", "readonly": false, "optionnal": false}], "a1000003-0000-4000-8000-000000000003": [{"name": "OUTPUT_FILENAME", "value": "metadata.json", "readonly": false, "optionnal": false}] }, "inputs": { "a1000002-0000-4000-8000-000000000002": [ {"name": "RED_CAR_SOURCE", "value": "http://plates.openalpr.com/h786poj.jpg", "origin": "a1000001-0000-4000-8000-000000000001", "readonly": true, "optionnal": false}, {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "a1000004-0000-4000-8000-000000000004", "readonly": true, "optionnal": false} ], "a1000003-0000-4000-8000-000000000003": [ {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "a1000004-0000-4000-8000-000000000004", "readonly": true, "optionnal": false}, {"name": "CURL_FILENAME", "value": "image.jpg", "origin": "a1000002-0000-4000-8000-000000000002", "readonly": true, "optionnal": false} ] }, "args": { "a1000002-0000-4000-8000-000000000002": ["-SL", "$RED_CAR_SOURCE", "-o", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$FILENAME"], "a1000003-0000-4000-8000-000000000003": ["analyze_image.py", "--input", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$CURL_FILENAME", "--output", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$OUTPUT_FILENAME"] } }, { "_id": "22222222-2222-4222-8222-222222222222", "abstractobject": { "id": "22222222-2222-4222-8222-222222222222", "not_in_catalog": false, "name": "api-monitoring-stack", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2026-04-10T00:00:00.000Z"}, "update_date": {"$date": "2026-04-10T00:00:00.000Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "user_updater_id": "admin", "access_mode": 0 }, "resourceset": { "storages": ["ff660006-ff66-4006-8006-ffffffffffff"], "processings": ["0d565c87-50ae-4a73-843d-f8b2d4047772", "dd440004-dd44-4004-8004-dddddddddddd", "cc330003-cc33-4003-8003-cccccccccccc"], "computes": ["7b989e97-c3e7-49d2-a3a7-f959da4870b5", "ee550005-ee55-4005-8005-eeeeeeeeeeee"], "datas": ["hh880008-hh88-4008-8008-hhhhhhhhhhhh"] }, "schedule_active": false, "graph": { "partial": false, "zoom": 1, "items": { "b2000001-0000-4000-8000-000000000001": { "id": "b2000001-0000-4000-8000-000000000001", "width": 100, "height": 80, "position": {"id": "", "x": 430, "y": 60}, "itemresource": {"data": {"type": "data", "quality": "high", "open_data": false, "static": false, "size": 1200, "example": "{\"ts\":\"2026-04-10T08:00:00Z\",\"method\":\"GET\",\"path\":\"/workflow\",\"status\":200,\"latency_ms\":45}", "abstractinstanciatedresource": {"abstractresource": {"allowed_booking_modes": null, "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Structured NDJSON HTTP access-log stream from the peer-2 API gateway. ~1.2 GB/day at 300 req/min.", "short_description": "Peer-2 API gateway NDJSON access logs", "owners": [{"name": "opencloud-demo-2"}], "abstractobject": {"name": "Web API Logs", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "access_mode": 0, "id": "hh880008-hh88-4008-8008-hhhhhhhhhhhh", "not_in_catalog": false, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31"}}, "instances": [{"source": "http://localhost:9000/logs/api.log", "resourceinstance": {"location": {"longitude": 2.3522, "latitude": 48.8566}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}], "abstractobject": {"is_draft": false, "access_mode": 0, "id": "hh880008-hh88-4008-8008-hhhhhhhhhhhh", "not_in_catalog": false, "name": "Web API Logs Paris"}, "env": [{"attr": "source", "readonly": true}], "origin": {"origin_type": 0, "origin_verified": false}}}]}}} }, "b2000002-0000-4000-8000-000000000002": { "id": "b2000002-0000-4000-8000-000000000002", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 200}, "itemresource": {"processing": {"license": "MIT", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/curl-logo.png", "description": "Official curl Docker image. Fetches the API log file from the peer-2 gateway endpoint and writes it to MinIO storage.", "short_description": "Official curl image — multi-protocol data fetcher", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "0d565c87-50ae-4a73-843d-f8b2d4047772", "name": "CURL", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "0d565c87-50ae-4a73-843d-f8b2d4047772", "name": "CURL Paris", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "curlimages/curl:8.5.0", "command": "curl"}}}]}}} }, "b2000003-0000-4000-8000-000000000003": { "id": "b2000003-0000-4000-8000-000000000003", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 340}, "itemresource": {"processing": {"license": "BSD-3-Clause", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Official Redis 7-alpine image. Ingests structured API-status objects from storage and caches them with a 300-second TTL.", "short_description": "Official Redis 7-alpine — TTL cache with pub/sub support", "owners": [{"name": "Redis Ltd"}], "allowed_booking_modes": null, "abstractobject": {"id": "dd440004-dd44-4004-8004-dddddddddddd", "name": "Redis Cache", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"abstractobject": {"id": "dd440004-dd44-4004-8004-dddddddddddd", "name": "Redis Cache Paris", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "redis:7-alpine", "command": "redis-server"}}}]}}} }, "b2000004-0000-4000-8000-000000000004": { "id": "b2000004-0000-4000-8000-000000000004", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 480}, "itemresource": {"processing": {"license": "BSD-2-Clause", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Official Nginx 1.25-alpine image. Serves Redis-cached API status JSON as an HTTP endpoint on port 80 for the OpenCloud operator dashboard.", "short_description": "Official Nginx 1.25-alpine — HTTP frontend and static result endpoint", "owners": [{"name": "nginx"}], "allowed_booking_modes": null, "abstractobject": {"id": "cc330003-cc33-4003-8003-cccccccccccc", "name": "Nginx Gateway", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"abstractobject": {"id": "cc330003-cc33-4003-8003-cccccccccccc", "name": "Nginx Gateway Paris", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "nginx:1.25-alpine", "command": "nginx"}}}]}}} }, "b2000005-0000-4000-8000-000000000005": { "id": "b2000005-0000-4000-8000-000000000005", "width": 100, "height": 100, "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", "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, "abstractobject": {"id": "ff660006-ff66-4006-8006-ffffffffffff", "name": "Peer2 MinIO Storage", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"env": [{"attr": "source", "readonly": true}], "abstractobject": {"id": "ff660006-ff66-4006-8006-ffffffffffff", "name": "Peer2 MinIO Storage Paris", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "source": "/mnt/minio", "security_level": "public", "size_type": 0, "local": true, "size": 1000, "encryption": true, "redundancy": "RAID6", "throughput": "r:500,w:400"}]}}} }, "b2000006-0000-4000-8000-000000000006": { "id": "b2000006-0000-4000-8000-000000000006", "width": 100, "height": 100, "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", "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, "abstractobject": {"id": "ee550005-ee55-4005-8005-eeeeeeeeeeee", "name": "Demo Peer2 Server", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"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}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "security_level": "public", "power_sources": ["solaire"]}]}}} }, "b2000007-0000-4000-8000-000000000007": { "id": "b2000007-0000-4000-8000-000000000007", "width": 100, "height": 100, "position": {"id": "", "x": 640, "y": 190}, "itemresource": {"compute": {"architecture": "x86", "infrastructure": 0, "abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/Mundi datacenter.png", "description": "IRT Saint-Exupéry GPU cluster, peer-1 owned. Executes the CURL ingestion step for the api-monitoring workflow.", "short_description": "IRT Saint-Exupéry GPU cluster — peer-1 owned", "owners": [{"name": "IRT Saint Exupery"}], "allowed_booking_modes": null, "abstractobject": {"id": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "name": "Mundi datacenter", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "name": "Mundi datacenter Toulouse", "is_draft": false, "access_mode": 0}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "security_level": "public", "power_sources": ["solaire", "charbon"]}]}}} } }, "links": [ {"env": [], "source": {"id": "b2000001-0000-4000-8000-000000000001", "x": 480, "y": 140}, "destination": {"id": "b2000002-0000-4000-8000-000000000002", "x": 480, "y": 200}, "style": {"color": 4280391411, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 0, "y": 1}, "end_arrow": {"id": "", "x": 0, "y": -1}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "b2000002-0000-4000-8000-000000000002", "x": 430, "y": 223}, "destination": {"id": "b2000005-0000-4000-8000-000000000005", "x": 310, "y": 390}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": -1, "y": 0}, "end_arrow": {"id": "", "x": 1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "b2000005-0000-4000-8000-000000000005", "x": 310, "y": 390}, "destination": {"id": "b2000003-0000-4000-8000-000000000003", "x": 430, "y": 363}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "b2000003-0000-4000-8000-000000000003", "x": 430, "y": 386}, "destination": {"id": "b2000004-0000-4000-8000-000000000004", "x": 430, "y": 480}, "style": {"color": 4278190080, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 0, "y": 1}, "end_arrow": {"id": "", "x": 0, "y": -1}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "b2000002-0000-4000-8000-000000000002", "x": 530, "y": 223}, "destination": {"id": "b2000007-0000-4000-8000-000000000007", "x": 640, "y": 240}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "b2000003-0000-4000-8000-000000000003", "x": 530, "y": 363}, "destination": {"id": "b2000006-0000-4000-8000-000000000006", "x": 640, "y": 430}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "b2000004-0000-4000-8000-000000000004", "x": 530, "y": 503}, "destination": {"id": "b2000006-0000-4000-8000-000000000006", "x": 640, "y": 480}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}} ] }, "shared": [], "exposes": {}, "outputs": { "b2000001-0000-4000-8000-000000000001": [{"name": "SOURCE", "value": "http://localhost:9000/logs/api.log", "readonly": false, "optionnal": false}], "b2000005-0000-4000-8000-000000000005": [{"name": "SOURCE", "value": "/mnt/minio", "readonly": false, "optionnal": false}], "b2000002-0000-4000-8000-000000000002": [{"name": "LOGFILE", "value": "api.log", "readonly": false, "optionnal": false}], "b2000003-0000-4000-8000-000000000003": [{"name": "CACHE_KEY", "value": "api_status", "readonly": false, "optionnal": false}] }, "env": { "b2000002-0000-4000-8000-000000000002": [{"name": "LOGFILE", "value": "api.log", "readonly": false, "optionnal": false}], "b2000003-0000-4000-8000-000000000003": [{"name": "CACHE_KEY", "value": "api_status", "readonly": false, "optionnal": false}, {"name": "CACHE_TTL", "value": "300", "readonly": false, "optionnal": false}] }, "inputs": { "b2000002-0000-4000-8000-000000000002": [ {"name": "WEB_API_LOGS_SOURCE", "value": "http://localhost:9000/logs/api.log", "origin": "b2000001-0000-4000-8000-000000000001", "readonly": true, "optionnal": false}, {"name": "PEER2_MINIO_STORAGE_SOURCE", "value": "/mnt/minio", "origin": "b2000005-0000-4000-8000-000000000005", "readonly": true, "optionnal": false} ], "b2000003-0000-4000-8000-000000000003": [ {"name": "PEER2_MINIO_STORAGE_SOURCE", "value": "/mnt/minio", "origin": "b2000005-0000-4000-8000-000000000005", "readonly": true, "optionnal": false}, {"name": "CURL_LOGFILE", "value": "api.log", "origin": "b2000002-0000-4000-8000-000000000002", "readonly": true, "optionnal": false} ], "b2000004-0000-4000-8000-000000000004": [ {"name": "PEER2_MINIO_STORAGE_SOURCE", "value": "/mnt/minio", "origin": "b2000005-0000-4000-8000-000000000005", "readonly": true, "optionnal": false}, {"name": "REDIS_CACHE_KEY", "value": "api_status", "origin": "b2000003-0000-4000-8000-000000000003", "readonly": true, "optionnal": false} ] }, "args": { "b2000002-0000-4000-8000-000000000002": ["-SL", "$WEB_API_LOGS_SOURCE", "-o", "$PEER2_MINIO_STORAGE_SOURCE/$LOGFILE"], "b2000003-0000-4000-8000-000000000003": ["redis-server", "--save", "", "--appendonly", "no"], "b2000004-0000-4000-8000-000000000004": ["nginx", "-g", "daemon off;"] } }, { "_id": "33333333-3333-4333-8333-333333333333", "abstractobject": { "id": "33333333-3333-4333-8333-333333333333", "not_in_catalog": false, "name": "sensor-data-collector", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2026-04-10T00:00:00.000Z"}, "update_date": {"$date": "2026-04-10T00:00:00.000Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "user_updater_id": "admin", "access_mode": 0 }, "resourceset": { "storages": ["e726020a-b68e-4abc-ab36-c3640ea3f557"], "processings": ["2ce0323f-a85d-4b8b-a783-5280f48d634a", "aa110001-aa11-4001-8001-aaaaaaaaaaaa", "e518d7a4-426a-4900-94e5-300767b1bb31"], "computes": ["7b989e97-c3e7-49d2-a3a7-f959da4870b5", "ee550005-ee55-4005-8005-eeeeeeeeeeee"], "datas": ["gg770007-gg77-4007-8007-gggggggggggg"] }, "schedule_active": false, "graph": { "partial": false, "zoom": 1, "items": { "c3000001-0000-4000-8000-000000000001": { "id": "c3000001-0000-4000-8000-000000000001", "width": 100, "height": 80, "position": {"id": "", "x": 430, "y": 60}, "itemresource": {"data": {"type": "data", "quality": "medium", "open_data": false, "static": false, "size": 0.25, "example": "http://plates.openalpr.com/eu-001.jpg", "abstractinstanciatedresource": {"abstractresource": {"allowed_booking_modes": null, "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Rolling JPEG snapshots from a Toulouse ring-road traffic camera, 0.2 Hz, 1920×1080 px.", "short_description": "Toulouse ring-road live JPEG feed — 1920×1080, 0.2 Hz", "owners": [{"name": "IRT"}], "abstractobject": {"name": "Traffic Camera Feed", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "access_mode": 0, "id": "gg770007-gg77-4007-8007-gggggggggggg", "not_in_catalog": false, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106"}}, "instances": [{"source": "http://plates.openalpr.com/eu-001.jpg", "resourceinstance": {"location": {"longitude": 1.4442, "latitude": 43.6047}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}], "abstractobject": {"is_draft": false, "access_mode": 0, "id": "gg770007-gg77-4007-8007-gggggggggggg", "not_in_catalog": false, "name": "Traffic Camera Feed Toulouse"}, "env": [{"attr": "source", "readonly": true}], "origin": {"origin_type": 0, "origin_verified": false}}}]}}} }, "c3000002-0000-4000-8000-000000000002": { "id": "c3000002-0000-4000-8000-000000000002", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 200}, "itemresource": {"processing": {"license": "MIT", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Official Alpine 3.18 image. Downloads the camera frame via wget and saves it to IRT shared storage.", "short_description": "Official Alpine 3.18 — minimal shell environment for scripting sidecars", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "2ce0323f-a85d-4b8b-a783-5280f48d634a", "name": "alpine", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "2ce0323f-a85d-4b8b-a783-5280f48d634a", "name": "alpine Toulouse", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "alpine:3.18", "command": "sh"}}}]}}} }, "c3000003-0000-4000-8000-000000000003": { "id": "c3000003-0000-4000-8000-000000000003", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 340}, "itemresource": {"processing": {"license": "PSF-2.0", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/alpine-logo.png", "description": "Official Python 3.11-slim image. Reads the camera frame from IRT storage, runs vehicle detection with OpenCV, and writes vehicle_meta.json.", "short_description": "Official Python 3.11-slim — frame analysis and vehicle detection runtime", "owners": [{"name": "Python Software Foundation"}], "allowed_booking_modes": null, "abstractobject": {"id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa", "name": "Python Data Processor", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"abstractobject": {"id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa", "name": "Python Data Processor Paris", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 48.8566, "longitude": 2.3522}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "python:3.11-slim", "command": "python"}}}]}}} }, "c3000004-0000-4000-8000-000000000004": { "id": "c3000004-0000-4000-8000-000000000004", "width": 100, "height": 46, "position": {"id": "", "x": 430, "y": 480}, "itemresource": {"processing": {"license": "EPL-2.0", "open_source": true, "infrastructure": 0, "usage": {"scaling_model": "2"}, "abstractinstanciatedresource": {"abstractresource": {"type": "processing", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/mosquitto-logo.png", "description": "Official Eclipse Mosquitto 2.0.18 MQTT broker. Reads vehicle_meta.json from IRT storage and publishes it to sensors/camera/vehicle topic.", "short_description": "Official Eclipse Mosquitto 2.0 — MQTT v5/v3 broker with QoS and ACL support", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "e518d7a4-426a-4900-94e5-300767b1bb31", "name": "Mosquitto server", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "e518d7a4-426a-4900-94e5-300767b1bb31", "name": "Mosquitto server Toulouse", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "access": {"container": {"image": "eclipse-mosquitto:2.0.18", "command": "mosquitto"}}}]}}} }, "c3000005-0000-4000-8000-000000000005": { "id": "c3000005-0000-4000-8000-000000000005", "width": 100, "height": 100, "position": {"id": "", "x": 210, "y": 340}, "itemresource": {"storage": {"storage_type": 5, "acronym": "DC_myDC", "abstractinstanciatedresource": {"abstractresource": {"type": "storage", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/IRT local file storage.png", "description": "IRT SSD RAID-5S scratch store, peer-1 owned. Shared intermediary for all sensor-collector pipeline stages.", "short_description": "IRT RAID-5S SSD scratch store — 500 GB, AES-256, S3-compatible (peer-1)", "owners": [{"name": "IRT"}], "allowed_booking_modes": null, "abstractobject": {"id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "name": "IRT local file storage", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2021-09-30T14:00:00Z"}, "updater_id": "c0cece97-7730-4c2a-8c20-a30944564106", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"env": [{"attr": "source", "readonly": true}], "abstractobject": {"id": "e726020a-b68e-4abc-ab36-c3640ea3f557", "name": "IRT local file storage Toulouse", "is_draft": false, "access_mode": 0, "not_in_catalog": false}, "origin": {"origin_type": 0, "origin_verified": false}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "source": "/mnt/vol", "security_level": "public", "size_type": 0, "local": true, "size": 500, "encryption": true, "redundancy": "RAID5S", "throughput": "r:300,w:350"}]}}} }, "c3000006-0000-4000-8000-000000000006": { "id": "c3000006-0000-4000-8000-000000000006", "width": 100, "height": 100, "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", "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, "abstractobject": {"id": "ee550005-ee55-4005-8005-eeeeeeeeeeee", "name": "Demo Peer2 Server", "is_draft": false, "creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "update_date": {"$date": "2026-04-10T00:00:00Z"}, "updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31", "access_mode": 0, "not_in_catalog": false}}, "instances": [{"resourceinstance": {"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}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "security_level": "public", "power_sources": ["solaire"]}]}}} }, "c3000007-0000-4000-8000-000000000007": { "id": "c3000007-0000-4000-8000-000000000007", "width": 100, "height": 100, "position": {"id": "", "x": 640, "y": 190}, "itemresource": {"compute": {"architecture": "x86", "infrastructure": 0, "abstractinstanciatedresource": {"abstractresource": {"type": "compute", "purchaseinfo": null, "logo": "http://localhost:8000/static/images/Mundi datacenter.png", "description": "IRT Saint-Exupéry GPU cluster, peer-1 owned. Executes the Alpine frame-download and Mosquitto publish steps.", "short_description": "IRT Saint-Exupéry GPU cluster — peer-1 owned", "owners": [{"name": "IRT Saint Exupery"}], "allowed_booking_modes": null, "abstractobject": {"id": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "name": "Mundi datacenter", "is_draft": false, "creator_id": "c0cece97-7730-4c2a-8c20-a30944564106", "creation_date": {"$date": "2021-09-30T14:00:00Z"}, "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": "7b989e97-c3e7-49d2-a3a7-f959da4870b5", "name": "Mundi datacenter Toulouse", "is_draft": false, "access_mode": 0}, "location": {"latitude": 43.6047, "longitude": 1.4442}, "partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]}, "security_level": "public", "power_sources": ["solaire", "charbon"]}]}}} } }, "links": [ {"env": [], "source": {"id": "c3000001-0000-4000-8000-000000000001", "x": 480, "y": 140}, "destination": {"id": "c3000002-0000-4000-8000-000000000002", "x": 480, "y": 200}, "style": {"color": 4280391411, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 0, "y": 1}, "end_arrow": {"id": "", "x": 0, "y": -1}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000002-0000-4000-8000-000000000002", "x": 430, "y": 223}, "destination": {"id": "c3000005-0000-4000-8000-000000000005", "x": 310, "y": 390}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": -1, "y": 0}, "end_arrow": {"id": "", "x": 1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000005-0000-4000-8000-000000000005", "x": 310, "y": 390}, "destination": {"id": "c3000003-0000-4000-8000-000000000003", "x": 430, "y": 363}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000003-0000-4000-8000-000000000003", "x": 430, "y": 386}, "destination": {"id": "c3000005-0000-4000-8000-000000000005", "x": 310, "y": 440}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": -1, "y": 0}, "end_arrow": {"id": "", "x": 1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000005-0000-4000-8000-000000000005", "x": 310, "y": 440}, "destination": {"id": "c3000004-0000-4000-8000-000000000004", "x": 430, "y": 503}, "style": {"color": 4294472049, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000002-0000-4000-8000-000000000002", "x": 530, "y": 223}, "destination": {"id": "c3000007-0000-4000-8000-000000000007", "x": 640, "y": 240}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000003-0000-4000-8000-000000000003", "x": 530, "y": 363}, "destination": {"id": "c3000006-0000-4000-8000-000000000006", "x": 640, "y": 380}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}}, {"env": [], "source": {"id": "c3000004-0000-4000-8000-000000000004", "x": 530, "y": 503}, "destination": {"id": "c3000007-0000-4000-8000-000000000007", "x": 640, "y": 290}, "style": {"color": 4294940672, "stroke": 1.7, "tension": 1, "head_radius": 6, "dash_width": 2, "dash_space": 2, "start_arrow": {"id": "", "x": 1, "y": 0}, "end_arrow": {"id": "", "x": -1, "y": 0}, "arrow_style": 0, "arrow_direction": 0, "start_arrow_width": 10, "end_arrow_width": 10}} ] }, "shared": [], "exposes": {}, "outputs": { "c3000001-0000-4000-8000-000000000001": [{"name": "SOURCE", "value": "http://plates.openalpr.com/eu-001.jpg", "readonly": false, "optionnal": false}], "c3000005-0000-4000-8000-000000000005": [{"name": "SOURCE", "value": "/mnt/vol", "readonly": false, "optionnal": false}], "c3000002-0000-4000-8000-000000000002": [{"name": "FRAME_FILENAME", "value": "frame.jpg", "readonly": false, "optionnal": false}], "c3000003-0000-4000-8000-000000000003": [{"name": "ANALYSIS_FILENAME", "value": "vehicle_meta.json", "readonly": false, "optionnal": false}] }, "env": { "c3000002-0000-4000-8000-000000000002": [{"name": "FRAME_FILENAME", "value": "frame.jpg", "readonly": false, "optionnal": false}], "c3000003-0000-4000-8000-000000000003": [{"name": "ANALYSIS_FILENAME", "value": "vehicle_meta.json", "readonly": false, "optionnal": false}] }, "inputs": { "c3000002-0000-4000-8000-000000000002": [ {"name": "TRAFFIC_CAMERA_FEED_SOURCE", "value": "http://plates.openalpr.com/eu-001.jpg", "origin": "c3000001-0000-4000-8000-000000000001", "readonly": true, "optionnal": false}, {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "c3000005-0000-4000-8000-000000000005", "readonly": true, "optionnal": false} ], "c3000003-0000-4000-8000-000000000003": [ {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "c3000005-0000-4000-8000-000000000005", "readonly": true, "optionnal": false}, {"name": "ALPINE_FRAME_FILENAME", "value": "frame.jpg", "origin": "c3000002-0000-4000-8000-000000000002", "readonly": true, "optionnal": false} ], "c3000004-0000-4000-8000-000000000004": [ {"name": "IRT_LOCAL_FILE_STORAGE_SOURCE", "value": "/mnt/vol", "origin": "c3000005-0000-4000-8000-000000000005", "readonly": true, "optionnal": false}, {"name": "PYTHON_ANALYSIS_FILENAME", "value": "vehicle_meta.json", "origin": "c3000003-0000-4000-8000-000000000003", "readonly": true, "optionnal": false} ] }, "args": { "c3000002-0000-4000-8000-000000000002": ["wget", "-O", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$FRAME_FILENAME", "$TRAFFIC_CAMERA_FEED_SOURCE"], "c3000003-0000-4000-8000-000000000003": ["analyze_frame.py", "--input", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$ALPINE_FRAME_FILENAME", "--output", "$IRT_LOCAL_FILE_STORAGE_SOURCE/$ANALYSIS_FILENAME"], "c3000004-0000-4000-8000-000000000004": ["-c", "/mosquitto/config/mosquitto.conf"] } } ]