ceph-sink/kamelet.yaml

103 lines
7.8 KiB
YAML
Raw Permalink Normal View History

2026-03-11 14:24:35 +00:00
apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
name: ceph-sink
annotations:
camel.apache.org/kamelet.support.level: "Stable"
camel.apache.org/catalog.version: "4.10.2"
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTU3IiB2aWV3Qm94PSIwIDAgMTYwIDE1NyIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZD0iTTc5LjgxNTIgOTYuMDczOUM4OC42ODM2IDk2LjA3MzkgOTUuNzA0NCA4OS4wNTMxIDk1LjcwNDQgODAuMTg0OEM5NS43MDQ0IDcxLjMxNjQgODguNjgzNiA2NC4yOTU2IDc5LjgxNTIgNjQuMjk1NkM3MC45NDY5IDY0LjI5NTYgNjMuOTI2MSA3MS4zMTY0IDYzLjkyNjEgODAuMTg0OEM2My45MjYxIDg4LjY4MzYgNzEuMzE2NCA5Ni4wNzM5IDc5LjgxNTIgOTYuMDczOVpNMTAxLjI0NyAxNTYuMzA1TDEwNS42ODEgMTU0LjgyN0MxMTAuMTE1IDE1My4zNDkgMTE0LjkxOSAxNTEuNTAxIDExOC45ODQgMTQ4LjkxNUMxMTEuNTk0IDE0NC44NSAxMDcuMTU5IDEzNy40NiAxMDcuMTU5IDEyOC45NjFDMTA3LjE1OSAxMjMuNDE4IDEwOS4zNzYgMTE4LjI0NSAxMTMuNDQxIDExMy4wNzJDMTEzLjQ0MSAxMTMuMDcyIDExMy40NDEgMTEzLjA3MiAxMTMuODExIDExMi43MDJMMTE0LjkxOSAxMTEuMjI0QzExNi4wMjggMTA5Ljc0NiAxMTcuMTM2IDEwOC42MzcgMTE4LjI0NSAxMDcuMTU5QzEyMS45NCAxMDEuOTg2IDEyNC44OTYgOTYuMDczOSAxMjYuMzc0IDg5Ljc5MjJDMTI3Ljg1MiA4Mi43NzE0IDEyOC4yMjIgNzUuNzUwNiAxMjYuNzQ0IDY4LjcyOThDMTI1LjI2NiA2Mi40NDggMTIyLjY3OSA1Ni4xNjYzIDExOC45ODQgNTAuOTkzMUMxMTUuMjg5IDQ1LjgxOTkgMTEwLjg1NSA0MS4zODU3IDEwNS4zMTIgMzguMDZDOTkuNzY5MSAzNC43MzQ0IDkzLjQ4NzMgMzIuMTQ3OCA4Ni44MzYgMzEuNDA4OEM4NC42MTg5IDMxLjAzOTMgODIuNDAxOSAzMS4wMzkzIDgwLjE4NDggMzEuMDM5M0g3OS40NDU3Qzc3LjIyODYgMzEuMDM5MyA3NS4wMTE2IDMxLjAzOTMgNzIuNzk0NSAzMS40MDg4QzY2LjE0MzIgMzIuNTE3MyA1OS44NjE0IDM0LjczNDQgNTQuMzE4NyAzOC4wNkM0OS4xNDU1IDQxLjM4NTcgNDQuMzQxOCA0NS44MTk5IDQwLjY0NjcgNTAuOTkzMUMzNi45NTE1IDU2LjE2NjMgMzMuOTk1NCA2Mi40NDggMzIuODg2OCA2OC43Mjk4QzMxLjQwODggNzUuNzUwNiAzMS40MDg4IDgyLjc3MTQgMzMuMjU2NCA4OS40MjI2QzM0LjczNDQgOTUuNzA0NCAzNy42OTA1IDEwMS42MTcgNDEuMzg1NyAxMDYuNzlMNDQuNzExMyAxMTAuODU1TDQ1LjgxOTkgMTEyLjMzM0M0OS44ODQ1IDExNy4xMzYgNTIuMTAxNiAxMjIuNjc5IDUyLjEwMTYgMTI4LjIyMkM1Mi4xMDE2IDEzNi43MjEgNDcuMjk3OSAxNDQuMTExIDQwLjI3NzEgMTQ4LjE3NkM0NC4zNDE4IDE1MC4zOTMgNDkuMTQ1NSAxNTIuNjEgNTMuNTc5NyAxNTQuMDg4TDU4LjM4MzQgMTU1LjU2NkM1OS4xMjI0IDE1NC44MjcgNjIuNDQ4IDE1Mi42MSA2NS40MDQyIDE0OC4xNzZDNjguMzYwMyAxNDQuMTExIDcxLjY4NTkgMTM3LjQ2IDcxLjY4NTkgMTI4LjIyMkM3MS42ODU5IDEyMi42NzkgNzAuNTc3NCAxMTcuNTA2IDY4LjM2MDMgMTEyLjMzM0M2Ni4xNDMyIDEwNy4xNTkgNjMuMTg3MSAxMDIuNzI1IDU5LjQ5MTkgOTguNjYwNUw1OC43NTI5IDk3LjU1MkM1Ny4yNzQ4IDk2LjA3MzkgNTUuNzk2OCA5NC4yMjYzIDU0LjY4ODIgOTIuMzc4OEM1My4yMTAyIDg5Ljc5MjIgNTIuMTAxNiA4Ny41NzUxIDUxLjczMjEgODQuNjE4OUM1MC42MjM2IDgwLjU1NDMgNTAuNjIzNiA3Ni40ODk2IDUxLjczMjEgNzIuNDI0OUM1Mi40NzExIDY4LjcyOTggNTMuOTQ5MiA2NS4wMzQ2IDU2LjE2NjMgNjIuMDc4NUM1OC4zODM0IDU5LjEyMjQgNjAuOTcgNTYuNTM1OCA2NC4yOTU2IDU0LjMxODdDNjcuNjIxMiA1Mi4xMDE2IDcxLjMxNjQgNTAuOTkzMSA3NS4wMTE1IDUwLjI1NEM3Ni40ODk2IDQ5Ljg4NDUgNzcuNTk4MiA0OS44ODQ1IDc5LjA3NjIgNDkuODg0NUg3OS44MTUyQzgxLjI5MzMgNDkuODg0NSA4Mi40MDE5IDQ5Ljg4NDUgODMuODc5OSA1MC4yNTRDODcuNTc1MSA1MC42MjM2IDkxLjI3MDIgNTIuMTAxNiA5NC41OTU4IDU0LjMxODdDOTcuOTIxNSA1Ni4xNjYzIDEwMC41MDggNTguNzUyOSAxMDIuNzI1IDYyLjA3ODVDMTA0Ljk0MiA2NS4wMzQ2IDEwNi40MiA2OC43Mjk4IDEwNy4xNTkgNzIuNDI0OUMxMDcuODk4IDc2LjQ4OTYgMTA3Ljg5OCA4MC41NTQzIDEwNy4xNTkgODQuNjE4OUMxMDYuNDIgODcuMjA1NSAxMDUuNjgxIDg5Ljc5MjIgMTA0LjIwMyA5Mi4zNzg4QzEwMy4wOTUgOTQuMjI2MyAxMDEuNjE3IDk2LjA3MzkgMTAwLjEzOSA5Ny41NTJMOTkuMzk5NSA5OC42NjA1Qzk1LjcwNDQgMTAyLjcyNSA5Mi43NDgzIDEwNy4xNTkgOTAuNTMxMiAxMTIuMzMzQzg4LjMxNDEgMTE3LjUwNiA4Ny4yMDU1IDEyMi42NzkgODcuMjA1NSAxMjguMjIyQzg3LjIwNTUgMTM3LjQ2IDkwLjUzMTIgMTQ0LjExMSA5My40ODczIDE0OC4xNzZDOTYuODEyOSAxNTMuMzQ5IDEwMC4xMzkgMTU1LjkzNSAxMDEuMjQ3IDE1Ni4zMDVaTTEzMC40MzkgMTQxLjUyNEMxMzkuMzA3IDEzNC4xMzQgMTQ3LjA2NyAxMjQuNTI3IDE1MS44NzEgMTE0LjU1QzE1NC40NTcgMTA5LjM3NiAxNTYuMzA1IDEwMy40NjQgMTU3Ljc4MyA5Ny45MjE1QzE1OS4yNjEgOTIuMDA5MiAxNjAgODUuNzI3NSAxNjAgNzkuODE1MkMxNjAgNjkuMDk5MyAxNTcuNzgzIDU4LjM4MzQgMTUzLjcxOCA0OC43NzZDMTQ5LjY1NCAzOS4xNjg2IDE0My43NDEgMzAuNjY5NyAxMzYuNzIxIDIzLjI3OTRDMTI5LjMzIDE1Ljg4OTEgMTIwLjgzMSAxMC4zNDY0IDExMS4yMjQgNi4yODE3NkMxMDEuMjQ3IDIuMjE3MDkgOTAuOTAwNyAwIDgwLjE4NDggMEg3OS44MTUyQzY5LjA5OTMgMCA1OC4zODM0IDIuMjE3MDkgNDguNzc2IDYuMjgxNzZDMzkuMTY4NiAxMC4zNDY0IDMwLjY2OTcgMTYuMjU4NyAyMy4yNzk0IDIzLjI3OTRDMTUuODg5MSAzMC42Njk3IDEwLjM0NjQgMzkuMTY4NiA2LjI4MTc2IDQ4Ljc3NkMyLjIxNzA5IDU4Ljc1MjkgMCA2OS4wOTkzIDAgNzkuODE1M
camel.apache.org/provider: "Apache Software Foundation"
camel.apache.org/kamelet.group: "Ceph"
camel.apache.org/kamelet.namespace: "Cloud"
labels:
camel.apache.org/kamelet.type: "sink"
spec:
definition:
title: "Ceph Sink"
description: |-
Upload data to an Ceph Bucket managed by a Object Storage Gateway.
In the header, you can optionally set the `file` / `ce-file` property to specify the name of the file to upload.
If you do not set the property in the header, the Kamelet uses the exchange ID for the file name.
required:
- cephUrl
- accessKey
- secretKey
- bucketName
- zoneGroup
type: object
properties:
bucketName:
title: Bucket Name
description: The Ceph Bucket name.
type: string
accessKey:
title: Access Key
description: The access key.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
secretKey:
title: Secret Key
description: The secret key.
type: string
format: password
x-descriptors:
- urn:camel:group:credentials
zoneGroup:
title: Bucket Zone Group
description: The bucket zone group.
type: string
autoCreateBucket:
title: Autocreate Bucket
description: Specifies to automatically create the bucket.
type: boolean
default: false
cephUrl:
title: Ceph Url Address
description: Set the Ceph Object Storage Address Url.
type: string
example: "http://ceph-storage-address.com"
keyName:
title: Key Name
description: The key name for saving an element in the bucket.
type: string
dependencies:
- "camel:core"
- "camel:aws2-s3"
- "camel:kamelet"
template:
from:
uri: "kamelet:source"
steps:
- choice:
when:
- simple: "${header[file]}"
steps:
- setHeader:
name: CamelAwsS3Key
simple: "${header[file]}"
- simple: "${header[ce-file]}"
steps:
- setHeader:
name: CamelAwsS3Key
simple: "${header[ce-file]}"
- simple: "'{{?keyName}}' == ''"
steps:
- setHeader:
name: CamelAwsS3Key
simple: "${exchangeId}"
- to:
uri: "aws2-s3:{{bucketName}}"
parameters:
secretKey: "{{?secretKey}}"
accessKey: "{{?accessKey}}"
region: "{{zoneGroup}}"
autoCreateBucket: "{{autoCreateBucket}}"
uriEndpointOverride: "{{?cephUrl}}"
overrideEndpoint: "true"
keyName: "{{?keyName}}"