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

291 lines
17 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 Toulouse", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "MIT",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "f3c8346b-3536-4c99-8b11-1be9c01697de",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "f3c8346b-3536-4c99-8b11-1be9c01697de",
"name": "imagemagic",
"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/imagemagic-logo.png",
"description": "dpokidov/imagemagick:7.1.0-62-2 — community-maintained ImageMagick® 7 build. Covers the full ImageMagick® feature surface: format conversion (JPEG ↔ PNG ↔ TIFF ↔ WebP ↔ AVIF), geometric transforms (resize, crop, rotate, shear, perspective distortion), colour-space conversion (sRGB ↔ Lab ↔ CMYK ↔ HSL), compositing, annotation, histogram normalisation, Fourier transforms and ICC/ICM profile embedding. In the ALPR pipeline it pre-processes downloaded vehicle images — CLAHE contrast enhancement, 3×3 Gaussian blur for noise reduction, gamma correction — before the plate-recognition stage, improving OpenALPR recognition confidence by 1015% on low-quality frames.",
"short_description": "ImageMagick® 7 — image format conversion, enhancement and compositing",
"owners": [{"name": "IRT"}]
},
"instances": [{
"access": {"container": {"image": "dpokidov/imagemagick:7.1.0-62-2", "command": "magick"}},
"resourceinstance": {
"abstractobject": {"id": "f3c8346b-3536-4c99-8b11-1be9c01697de", "name": "imagemagic Toulouse", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "Apache-2.0",
"infrastructure": 0,
"usage": {"scaling_model": "2"},
"open_source": true
},
{
"_id": "3041990c-5c5d-40c4-8329-c1df1b812dc3",
"abstractinstanciatedresource": {
"abstractresource": {
"type": "processing",
"abstractobject": {
"id": "3041990c-5c5d-40c4-8329-c1df1b812dc3",
"name": "alpr",
"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/alpr-logo.png",
"description": "openalpr/openalpr — OpenALPR open-source Automatic License Plate Recognition library. Combines OpenCV 4 object detection (SSD-MobileNet) with a Tesseract-derived OCR engine for character segmentation. Supports EU, US/CA, BR, AU and Middle-Eastern plate formats via configurable country files. Accepts JPEG/PNG/BMP input; outputs a structured JSON payload per frame: bounding-box coordinates, plate string, per-character confidence score, country code, processing time. --json flag enables machine-readable output suitable for downstream pipeline stages. Recognition latency: ~120 ms/frame on x86 CPU, ~18 ms with GPU acceleration (CUDA 11+). Used in the alpr workflow as the core recognition step after ImageMagick pre-processing.",
"short_description": "OpenALPR — automatic license plate recognition with JSON output",
"owners": [{"name": "IRT"}]
},
"instances": [{
"access": {"container": {"image": "openalpr/openalpr", "command": "alpr"}},
"resourceinstance": {
"abstractobject": {"id": "3041990c-5c5d-40c4-8329-c1df1b812dc3", "name": "alpr Toulouse", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"country": 250,
"partnerships": [{"namespace": "default", "peer_groups": {"*": ["*"]}}]
}
}]
},
"license": "GPLv3",
"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 (--command 'sh -c'), 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 Toulouse", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"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 Toulouse", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"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. Two workflow roles: (1) image-meta-extractor — EXIF/IPTC tag parsing, colour histogram extraction (256-bin per channel), resolution fingerprinting, output serialised as JSON to shared storage; (2) sensor-data-collector — vehicle object count and bounding-box extraction from camera frames via OpenCV contour detection, plate candidate generation, result published as a structured JSON record. Entry-point script path passed via OUTPUT_FILENAME env var; storage mount path via IRT_LOCAL_FILE_STORAGE_SOURCE.",
"short_description": "Official Python 3.11-slim — image analysis and sensor data processing runtime",
"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 Toulouse", "is_draft": false, "access_mode": 0},
"origin": {"origin_type": 0, "origin_verified": false},
"location": {"latitude": 43.6047, "longitude": 1.4442},
"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 TTL_CACHE_TTL-second TTL (default 300 s) 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
}
]