Minio - Fluent Bit
Description
The Minio Plugin allows to send files to Minio. It uses the GO interface provided by Fluent Bit.
Difference with Fluent Bit S3 Plugin
The S3 plugin sends data as JSON to S3 or Minio but does not send files (e.g yaml, images etc.).
Parameters
Parameter | Description | Type | Default |
---|---|---|---|
plugin_path | Shared library path compiled by go. | str | "{package_share_directory}/flb_plugins/lib/out_minio.so" |
endpoint | Endpoint for the S3 API. An endpoint can contain scheme and port. | str | "127.0.0.1:9000" |
access_key_id | Access keys are long-term credentials for an IAM user or the AWS account root user. | str | N/A (mandatory) |
secret_access_key | Secret-like password to connect along he access key id. | str | N/A (mandatory) |
use_ssl | If set to true, https is used instead of http. Default is true. | str | "true" |
create_bucket | Whether the bucket will be created. | str | "true" |
bucket | Bucket name. | str | "dc_bucket" |
upload_fields | Fields containing remote paths, separated by dots. | list[str] | N/A (mandatory) |
src_fields | Fields containing local paths, separated by dots. | list[str] | N/A (mandatory) |
Node configuration
...
flb_minio:
verbose_plugin: false
time_format: "iso8601"
plugin: "dc_destinations/FlbMinIO"
inputs: ["/dc/measurement/camera", "/dc/measurement/map"]
endpoint: 127.0.0.1:9000
access_key_id: XEYqG4ZcPY5jiq5i
secret_access_key: ji011KCtI82ZeQS6UwsQAg8x9VR4lSaQ
use_ssl: false
create_bucket: true
bucket: "mybucket"
src_fields:
[
"local_paths.inspected"
"local_paths.minio.pgm"
"local_paths.minio.yaml"
]
upload_fields: # Remote paths created by the measurement node configuration
[
"remote_paths.minio.inspected",
"remote_paths.minio.pgm"
"remote_paths.minio.yaml"
]
...
Parameter handling
flowchart TB subgraph ros2_plugin["Measurement plugin"] direction LR mp_src_fields["['local_paths.inspected', 'local_paths.minio.pgm', 'local_paths.minio.yaml']"] mp_upload_fields["['remote_paths.inspected', 'remote_paths.minio.pgm', 'remote_paths.minio.yaml']"] end subgraph flb_plugin["Fluent Bit plugin"] direction LR flb_src_fields["'local_paths.inspected, local_paths.minio.pgm, local_paths.minio.yaml'"] flb_upload_fields["'remote_paths.inspected, remote_paths.minio.pgm, remote_paths.minio.yaml'"] flb_split_src_fields["['local_paths.inspected', 'local_paths.minio.pgm', 'local_paths.minio.yaml']"] flb_split_upload_fields["['remote_paths.inspected', 'remote_paths.minio.pgm', 'remote_paths.minio.yaml']"] end mp_src_fields--"to string"-->flb_src_fields mp_upload_fields--"to string"-->flb_upload_fields flb_src_fields--"to go array"-->flb_split_src_fields flb_upload_fields--"to go array"-->flb_split_upload_fields