The MinIO plugin creates an ephemeral object store that can be used during the operation of a workflow. A single arca-bucket
storage bucket is created, and the plugin returns in its output object the required credentials for accessing the bucket.
In order to access the bucket, the MinIO plugin container will need to be launched with internal port 9000 exposed.
The MinIO object store is S3 compatible, so it is possible to use the S3 libraries, the simpler MinIO libraries (recommended), or any other S3 compatible client methods to access the bucket.
The MinIO server is run as insecure so connections are via HTTP without certificates.
If you would like for your bucket contents to survive after the workflow execution, you will need to mount a persistent filesystem to the container at /mnt/arca-bucket
. You will then be able to run a MinIO server separately using this storage location and re-establish access to the bucket outside of the plugin.
Do you just need a quick and simple containerized ephemeral object store? You can easily run the plugin directly with a JSON input object like this:
$ echo '{"minio_user":"myuser", "minio_password":"mypassword", "bucket_name":"mybucket", "run_duration":"300"}' | docker run -i --rm -p 9000:9000/tcp -p 9001:9001/tcp [-v /tmp/arca-bucket:/mnt/arca-bucket] quay.io/arcalot/arcaflow-plugin-minio:latest --debug -f -
This will create a MinIO container hosting a mybucket
bucket via container port 9000
and accessible via S3 protocols with the user/password combo of myuser/mypassword
. You can optionally use the -v
parameter of docker run
to map a local storage location to the container /mnt/arca-bucket
path. Additionally, the MinIO console is made available via container port 9001
. The container will exit automatically after the run_duration
(in seconds) expires.
Runs the MinIO server and sets up a bucket
Type: | scope | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Root object: | InputParams | ||||||||||||||||||||||||||||||||||||||
Properties | bucket_name (
|
Name: | bucket name |
---|---|
Description: | Name for object bucket |
Required: | No |
Default (JSON encoded): |
|
Type: | string |
minio_password (string
)
Name: | MinIO password |
---|---|
Description: | The MinIO server password |
Required: | No |
Type: | string |
minio_user (string
)
Name: | MinIO username |
---|---|
Description: | The MinIO server username |
Required: | No |
Type: | string |
run_duration (int
)
Name: | run duration |
---|---|
Description: | Time in seconds that the MinIO plugin runs before being forceably stopped |
Required: | Yes |
Type: | int |
Objects
InputParams (object
)
Type: | object | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Properties | bucket_name (
|
Name: | bucket name |
---|---|
Description: | Name for object bucket |
Required: | No |
Default (JSON encoded): |
|
Type: | string |
minio_password (string
)
Name: | MinIO password |
---|---|
Description: | The MinIO server password |
Required: | No |
Type: | string |
minio_user (string
)
Name: | MinIO username |
---|---|
Description: | The MinIO server username |
Required: | No |
Type: | string |
run_duration (int
)
Name: | run duration |
---|---|
Description: | Time in seconds that the MinIO plugin runs before being forceably stopped |
Required: | Yes |
Type: | int |
Type: | scope | ||||||||
---|---|---|---|---|---|---|---|---|---|
Root object: | ErrorOutput | ||||||||
Properties | error (
|
Required: | Yes |
---|---|
Type: | string |
Objects
ErrorOutput (object
)
Type: | object | ||||
---|---|---|---|---|---|
Properties | error (
|
Required: | Yes |
---|---|
Type: | string |
Type: | scope | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Root object: | SuccessOutput | ||||||||||||||||||||
Properties | access_key (
|
Name: | access key |
---|---|
Description: | The MinIO server access key (user) |
Required: | Yes |
Type: | string |
secret_key (string
)
Name: | secret key |
---|---|
Description: | The MinIO server access secret (password) |
Required: | Yes |
Type: | string |
Objects
SuccessOutput (object
)
Type: | object | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Properties | access_key (
|
Name: | access key |
---|---|
Description: | The MinIO server access key (user) |
Required: | Yes |
Type: | string |
secret_key (string
)
Name: | secret key |
---|---|
Description: | The MinIO server access secret (password) |
Required: | Yes |
Type: | string |