blob: 78e894c58cb96a038e901ee6865d041a5156df6f [file] [log] [blame]
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
name: minio-sink
annotations:
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2Mi42MTIgMjQuNDY1Ij48cGF0aCBkPSJNNTIuNzUxLjQxNGg5LjEwOHYyMy42M2gtOS4xMDh6TTQxLjcxMS43NGwtMTguNDg4IDkuOTJhLjkxOS45MTkgMCAwIDEtLjg1NiAwTDMuODc5Ljc0QTIuODA4IDIuODA4IDAgMCAwIDIuNTU4LjQxNGgtLjAyM0EyLjQgMi40IDAgMCAwIDAgMi42NDF2MjEuMzc2aDkuMVYxMy44NDJhLjkxOC45MTggMCAwIDEgMS4zODUtLjY4MmwxMC4zNjEgNS41NjhhMy42MzQgMy42MzQgMCAwIDAgMy4zMzYuMDI4bDEwLjkzMy01LjYzNGEuOTE3LjkxNyAwIDAgMSAxLjM3MS42OXYxMC4yMDVoOS4xVjIuNjQxQTIuNCAyLjQgMCAwIDAgNDMuMDU1LjQxNGgtLjAyM2EyLjgwOCAyLjgwOCAwIDAgMC0xLjMyMS4zMjZ6bTY1LjU2NC0uMzI2aC05LjIzN3YxMC43NTVhLjkxMy45MTMgMCAwIDEtMS4zMzguNzA2TDcyLjc2Mi42NzVhMi44MjQgMi44MjQgMCAwIDAtMS4xOTEtLjI2MWgtLjAxNmEyLjQgMi40IDAgMCAwLTIuNTM1IDIuMjI3djIxLjM3N2g5LjE2M1YxMy4yNzVhLjkxNC45MTQgMCAwIDEgMS4zMzctLjcwN2wyNC4wMzIgMTEuMmEyLjgxMyAyLjgxMyAwIDAgMCAxLjE4OC4yNiAyLjQgMi40IDAgMCAwIDIuNTM1LTIuMjI3em03LjE2MSAyMy42M1YuNDE0aDQuMTkxdjIzLjYzem0yOC44NTYuNDIxYy0xMS4yNzQgMC0xOS4yNzItNC43LTE5LjI3Mi0xMi4yMzJDMTI0LjAyIDQuNzQxIDEzMi4wNjYgMCAxNDMuMjkyIDBzMTkuMzIgNC43IDE5LjMyIDEyLjIzMy03LjkwMiAxMi4yMzItMTkuMzIgMTIuMjMyem0wLTIxLjMzM2MtOC4zODMgMC0xNC44NCAzLjIxNy0xNC44NCA5LjEgMCA1LjkyNiA2LjQ1NyA5LjEgMTQuODQgOS4xczE0Ljg4Ny0zLjE3NCAxNC44ODctOS4xYzAtNS44ODMtNi41MDQtOS4xLTE0Ljg4Ny05LjF6IiBmaWxsPSIjYzcyYzQ4Ii8+PC9zdmc+"
camel.apache.org/provider: "Apache Software Foundation"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
definition:
title: "Minio Sink"
description: |-
Upload data to Minio.
The Kamelet expects the following headers to be set:
- `file` / `ce-file`: as the file name to upload
If the header won't be set the exchange ID will be used as file name.
required:
- bucketName
- accessKey
- secretKey
- endpoint
properties:
bucketName:
title: Bucket Name
description: The Minio Bucket name
type: string
accessKey:
title: Access Key
description: The access key obtained from Minio
type: string
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
secretKey:
title: Secret Key
description: The secret key obtained from Minio
type: string
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
endpoint:
title: Endpoint
description: The Minio Endpoint, it can be an URL, domain name, IPv4 address or IPv6 address.
type: string
example: http://localhost:9000
autoCreateBucket:
title: Autocreate bucket
description: Setting the autocreation of the S3 bucket bucketName.
type: boolean
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
default: false
flow:
from:
uri: "kamelet:source"
steps:
- choice:
when:
- simple: "${header[file]}"
steps:
- set-header:
name: CamelMinioObjectName
simple: "${header[file]}"
- simple: "${header[ce-file]}"
steps:
- set-header:
name: CamelMinioObjectName
simple: "${header[ce-file]}"
otherwise:
steps:
- set-property:
name: CamelMinioObjectName
simple: "${exchangeId}"
- to:
uri: "minio:{{bucketName}}"
parameters:
autoCreateBucket: "{{autoCreateBucket}}"
secretKey: "{{secretKey}}"
accessKey: "{{accessKey}}"
endpoint: "{{endpoint}}"