Skip to content

Conversation

@sugnanprabhu
Copy link
Contributor

Description

Changes to add support for the miniodb

Fixes # (issue)

Any Newly Introduced Dependencies

Include changes to enable minio in dlstreamer-pipeline-server to save the frames

How Has This Been Tested?

Configured .env brought up the container and made sure the images are getting saved.

Checklist:

  • I agree to use the APACHE-2.0 license for my code changes.
  • I have not introduced any 3rd party components incompatible with APACHE-2.0.
  • I have not included any company confidential information, trade secret, password or security token.
  • I have performed a self-review of my code.

- "/dev:/dev"

mraas_minio:
image: minio/minio:RELEASE.2020-12-12T08-39-07Z
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very old image, can you try with the latest minio version?
I believe this would be the case for other vision sample apps too

@@ -0,0 +1,15 @@
import boto3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add the Apache license header like in other files?

import boto3
url = "http://$HOST_IP:8000"
user = "minioaccesskey added in .env"
password = "miniosecretkey added in .env"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's have these passed as param OR via env like os.getenv("..", None).

"source": "gstreamer",
"queue_maxsize": 50,
"pipeline": "rtspsrc location=\"rtsp://mediamtx:8554/live.stream\" latency=100 name=source ! rtph264depay ! h264parse ! decodebin ! videoconvert ! gvaclassify inference-region=full-frame name=classification ! gvametaconvert add-empty-results=true name=metaconvert ! queue ! gvafpscounter ! appsink name=destination",
"pipeline": "rtspsrc location=\"rtsp://mediamtx:8554/live.stream\" latency=100 name=source ! rtph264depay ! h264parse ! decodebin ! videoconvert ! gvaclassify inference-region=full-frame name=classification ! gvametaconvert add-empty-results=true name=metaconvert ! queue ! gvafpscounter ! jpegenc ! appsink name=destination",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you check if this jpegenc affects the model output? I believe it shouldn't but just checking

@vkb1 vkb1 reopened this Oct 17, 2025
@vkb1 vkb1 added the 2025.2 Time Series Sample Apps All the time series sample apps and multimodal sample app related activities for 2025.2 release label Oct 17, 2025
@vkb1 vkb1 requested a review from Copilot October 17, 2025 07:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds MinIO support to the industrial-edge-insights-multimodal application for saving frames from the dlstreamer-pipeline-server. The changes enable S3-compatible object storage functionality through MinIO container deployment and configuration.

  • Added MinIO container service to docker-compose with necessary configuration
  • Created Python script for bucket creation using boto3
  • Updated dlstreamer pipeline configuration to include S3 write capability
  • Added MinIO environment variables for access credentials and connection settings

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
docker-compose.yml Adds mraas_minio service container with ports, volumes, and environment configuration
create_bucket.py New Python script to initialize S3 bucket using boto3 client
configs/dlstreamer-pipeline-server/config.json Updates pipeline to include jpegenc and adds S3_write configuration
.env Adds MinIO access credentials and connection parameters

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

- "/dev:/dev"

mraas_minio:
image: minio/minio:RELEASE.2020-12-12T08-39-07Z
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a very old MinIO version from 2020 introduces security vulnerabilities. Consider upgrading to a more recent stable release.

Suggested change
image: minio/minio:RELEASE.2020-12-12T08-39-07Z
image: minio/minio:RELEASE.2024-06-06T18-24-32Z

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +6
url = "http://$HOST_IP:8000"
user = "minioaccesskey added in .env"
password = "miniosecretkey added in .env"
bucket_name = "multimodeldemo"

Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hard-coded placeholder values will cause runtime errors. These should reference actual environment variables or be replaced with proper configuration values.

Suggested change
url = "http://$HOST_IP:8000"
user = "minioaccesskey added in .env"
password = "miniosecretkey added in .env"
bucket_name = "multimodeldemo"
import os
from dotenv import load_dotenv
load_dotenv()
host_ip = os.environ.get("HOST_IP")
user = os.environ.get("MINIO_ACCESS_KEY")
password = os.environ.get("MINIO_SECRET_KEY")
bucket_name = "multimodeldemo"
url = f"http://{host_ip}:8000"

Copilot uses AI. Check for mistakes.
Comment on lines +101 to +102
MR_MINIO_ACCESS_KEY=
MR_MINIO_SECRET_KEY=
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Empty MinIO credentials pose a security risk. These should be populated with secure values or have default secure values provided.

Suggested change
MR_MINIO_ACCESS_KEY=
MR_MINIO_SECRET_KEY=
# !! CHANGE THESE VALUES BEFORE DEPLOYING TO PRODUCTION !!
MR_MINIO_ACCESS_KEY=changeme_access_9f8d7c6b
MR_MINIO_SECRET_KEY=changeme_secret_8e7f6d5c4b3a

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2025.2 Time Series Sample Apps All the time series sample apps and multimodal sample app related activities for 2025.2 release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants