Overview
A client-mode connector for a curated IIoT object-storage slice of the MinIO S3-compatible API under path-stylehttps://play.min.io (or your self-hosted host):
BASE_ADDRESS defaults to https://play.min.io (no trailing slash; path-style). For self-hosted MinIO use https://minio.example.com:9000 (or your TLS origin). Topics use storage/minio/<object>/<verb>.
play.min.io is MinIO’s public playground. Access keys published in MinIO SDK docs are open; treat all play data as world-readable. Prefer self-hosted for production.
Path-style vs virtual-hosted: MinIO usually expects path-style (
/{bucket}/{key}), which this template uses. If virtual-hosted is enabled, set BASE_ADDRESS to https://{bucket}.your-host and use endpoints like /{key}.Presigned PUT: set
BASE_ADDRESS to the presigned URL origin only, put path+query in presigned_path, and omit SigV4 headers — the query string carries the signature. Ideal for edge devices that must not hold access keys.Bucket notifications: MinIO can publish object events directly to MQTT (point at your Coreflux broker). That fan-out is configured on the MinIO side and is not part of this client connector. Receiving HTTP notification POSTs would need a separate
ENABLE_SERVER REST_API (not packaged).Admin API (
/minio/admin/…, mc admin) is out of scope for this template — keep ops Admin calls outside the object-storage connector.Basic Syntax
Configuration
Authentication
AWS Signature Version 4
MinIO uses the same SigV4 scheme as S3 — notAuthorization: Bearer …. Sign each request with SigV4 (service s3) and pass:
Use Hub secrets for
MINIO_ACCESS_KEY / MINIO_SECRET_KEY (or AWS-named equivalents) in an upstream signing helper. Never commit real keys.
Presigned URLs (recommended for edge)
Generate a time-limited PUT or GET URL withmc, the AWS CLI, or a MinIO SDK. For PutPresigned:
- Point
BASE_ADDRESSat the URL origin. - Put path + query into
presigned_path. - Omit Authorization — do not re-sign on the broker.
MQTT topics
Example payloads
ListBuckets smoke (after signing):References
- MinIO API
- MinIO Python SDK (play.min.io)
- MinIO bucket notifications
- Authenticating Requests (SigV4)
- Amazon S3 connector (same surface)
- Coreflux REST API Connectors
Package status
Ready on the factory after live SigV4 smoke againsthttps://play.min.io (ListBuckets + Put/Get/Head) recorded in TEST.md. Hub / docs status remains beta. Swap BASE_ADDRESS to your self-hosted MinIO for production.
