Files
oc-deploy/docker/demo/db-2/datas/processing_resource.json

219 lines
13 KiB
JSON
Raw Permalink Normal View History

2026-04-13 16:35:42 +02:00
[
{
"_id": "0d565c87-50ae-4a73-843d-f8b2d4047772",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "0d565c87-50ae-4a73-843d-f8b2d4047772",
"name": "CURL",
"is_draft": false,
"creator_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2021-09-30T14:00:00.000Z",
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/curl-logo.png",
2026-04-14 10:17:07 +02:00
"description": "Official curl Docker image (curlimages/curl:8.5.0) published by the curl project. Implements HTTP/1.1, HTTP/2, http (TLS 1.3), FTP, SFTP, SCP and 25+ other protocols. Supports cookies, redirect chains, proxy authentication, rate limiting, resumable transfers and parallel downloads (-Z flag). Typical workflow use: first-stage ingestion step that pulls remote datasets — camera snapshots, API log files, GeoTIFF archives, JSON feeds — into a shared storage volume before downstream processing nodes consume them. Single static binary; 12 MB compressed Alpine-based image; no shell dependency.",
2026-04-13 16:35:42 +02:00
"short_description": "Official curl image — multi-protocol data fetcher for workflow ingestion stages",
"owners": [{"name": "IRT"}]
},
"instances": [{
"access": {"container": {"image": "curlimages/curl:8.5.0", "command": "curl"}},
"resourceinstance": {
"abstractobject": {"id": "0d565c87-50ae-4a73-843d-f8b2d4047772", "name": "CURL Paris", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "MIT",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "2ce0323f-a85d-4b8b-a783-5280f48d634a",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "2ce0323f-a85d-4b8b-a783-5280f48d634a",
"name": "alpine",
"is_draft": false,
"creator_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2021-09-30T14:00:00.000Z",
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/alpine-logo.png",
"description": "Official Alpine Linux 3.18 Docker image (5.3 MB compressed). musl-libc + BusyBox base exposing: wget, curl, awk, sed, grep, tar, gzip, openssl, jq (via apk). Zero extraneous packages; deterministic sha256 digest per tag. Used in workflows as a lightweight sidecar for tasks that do not justify a heavier runtime: downloading camera frames via wget, renaming and archiving intermediary files, running one-shot POSIX shell scripts, performing pre-run health-check assertions, or post-processing step cleanup. Starts in under 80 ms; memory footprint < 4 MB at idle.",
"short_description": "Official Alpine 3.18 — minimal shell environment for scripting sidecars",
"owners": [{"name": "IRT"}]
},
"instances": [{
"access": {"container": {"image": "alpine:3.18", "command": "sh"}},
"resourceinstance": {
"abstractobject": {"id": "2ce0323f-a85d-4b8b-a783-5280f48d634a", "name": "alpine Paris", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "MIT",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "e518d7a4-426a-4900-94e5-300767b1bb31",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "e518d7a4-426a-4900-94e5-300767b1bb31",
"name": "Mosquitto server",
"is_draft": false,
"creator_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2021-09-30T14:00:00.000Z",
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/mosquitto-logo.png",
"description": "Official Eclipse Mosquitto 2.0.18 Docker image — reference MQTT broker from the Eclipse Foundation. Implements MQTT v5.0, v3.1.1 and v3.1 over TCP (port 1883), WebSocket (port 9001), and optional TLS (port 8883) with X.509 mutual auth. Supports password-file authentication, ACL-based topic access control, QoS 0/1/2 delivery guarantees, persistent sessions, retained messages, shared subscriptions (MQTT 5) and bridge mode for multi-broker topologies. Used as the terminal publish step in the sensor-data-collector workflow: reads vehicle-metadata JSON produced by the upstream Python analysis stage from shared storage and fans it out to subscribed edge consumers on the sensors/camera/vehicle topic.",
"short_description": "Official Eclipse Mosquitto 2.0 — MQTT v5/v3 broker with QoS and ACL support",
"owners": [{"name": "IRT"}]
},
"instances": [{
"access": {"container": {"image": "eclipse-mosquitto:2.0.18", "command": "mosquitto"}},
"resourceinstance": {
"abstractobject": {"id": "e518d7a4-426a-4900-94e5-300767b1bb31", "name": "Mosquitto server Paris", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "EPL-2.0",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa",
"name": "Python Data Processor",
"is_draft": false,
"creator_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2026-04-10T00:00:00.000Z",
"updater_id": "c0cece97-7730-4c2a-8c20-a30944564106",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/alpine-logo.png",
"description": "Official Python 3.11-slim Docker image (Debian Bookworm base, 45 MB compressed). Provides CPython 3.11 runtime with pip; scientific stack installable at launch: NumPy 1.26, Pillow 10, OpenCV-headless 4.9, scikit-learn 1.4, pandas 2.2, requests 2.31. Shared by peer-1 (opencloud-demo-1). In the sensor-data-collector workflow: receives a camera frame path via ALPINE_FRAME_FILE and storage mount via IRT_LOCAL_FILE_STORAGE_SOURCE, runs vehicle object detection with OpenCV contour detection + background subtraction, extracts bounding boxes and plate candidates, serialises results as vehicle_meta.json to shared storage for the downstream Mosquitto publish step.",
"short_description": "Official Python 3.11-slim — frame analysis and sensor data processing runtime (shared by peer-1)",
"owners": [{"name": "Python Software Foundation"}]
},
"instances": [{
"access": {"container": {"image": "python:3.11-slim", "command": "python"}},
"resourceinstance": {
"abstractobject": {"id": "aa110001-aa11-4001-8001-aaaaaaaaaaaa", "name": "Python Data Processor Paris", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "PSF-2.0",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "cc330003-cc33-4003-8003-cccccccccccc",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "cc330003-cc33-4003-8003-cccccccccccc",
"name": "Nginx Gateway",
"is_draft": false,
"creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2026-04-10T00:00:00.000Z",
"updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/alpine-logo.png",
"description": "Official Nginx 1.25-alpine Docker image (9 MB compressed) — high-performance asynchronous HTTP/1.1 and HTTP/2 server and reverse proxy. Event-driven architecture handles 50 000+ concurrent connections per worker process. In the api-monitoring-stack workflow it acts as the terminal presentation layer: reads Redis-cached API status JSON objects from MinIO storage and serves them on port 80 as a structured HTTP endpoint consumed by the OpenCloud operator dashboard. Configuration injected via envsubst at container startup. Features: gzip compression (level 6), custom JSON access logging, CORS headers, configurable cache-control directives, graceful hot-reload via SIGHUP without dropping connections. Owned by opencloud-demo-2.",
"short_description": "Official Nginx 1.25-alpine — HTTP frontend and static result endpoint (peer-2)",
"owners": [{"name": "nginx"}]
},
"instances": [{
"access": {"container": {"image": "nginx:1.25-alpine", "command": "nginx"}},
"resourceinstance": {
"abstractobject": {"id": "cc330003-cc33-4003-8003-cccccccccccc", "name": "Nginx Gateway Paris", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "BSD-2-Clause",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "dd440004-dd44-4004-8004-dddddddddddd",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "dd440004-dd44-4004-8004-dddddddddddd",
"name": "Redis Cache",
"is_draft": false,
"creator_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"creation_date": "2021-09-30T14:00:00.000Z",
"update_date": "2026-04-10T00:00:00.000Z",
"updater_id": "b87318c9-f5f8-44bb-8d48-913f4ddd6c31",
"access_mode": 1
},
"logo": "http://localhost:8000/static/images/alpine-logo.png",
"description": "Official Redis 7-alpine Docker image (14 MB compressed) — in-memory key-value store with sub-millisecond read latency. Supports strings, hashes, lists, sorted sets and streams natively. In the api-monitoring-stack workflow, ingests structured API-status objects (status-code distribution per endpoint, p50/p95 latency percentiles) produced by the CURL fetch step, stores them under a configurable CACHE_KEY with a 300-second TTL (default) to decouple the slow log-fetching stage from the fast Nginx serving stage. Configured in ephemeral mode (--save '' --appendonly no) to eliminate disk I/O and maximise throughput. Pub/Sub channel api_status_updates can be subscribed to by external consumers for real-time event streaming. Owned by opencloud-demo-2.",
"short_description": "Official Redis 7-alpine — TTL-based API status cache with pub/sub support (peer-2)",
"owners": [{"name": "Redis Ltd"}]
},
"instances": [{
"access": {"container": {"image": "redis:7-alpine", "command": "redis-server"}},
"resourceinstance": {
"abstractobject": {"id": "dd440004-dd44-4004-8004-dddddddddddd", "name": "Redis Cache Paris", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 48.8566, "longitude": 2.3522},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "BSD-3-Clause",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
}
]