diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..fdfc436 --- /dev/null +++ b/kamelet.json @@ -0,0 +1,235 @@ +{ + "apiVersion": "camel.apache.org/v1", + "kind": "Kamelet", + "metadata": { + "name": "log-sink", + "annotations": { + "camel.apache.org/kamelet.support.level": "Stable", + "camel.apache.org/catalog.version": "4.22.1", + "camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTQ0OCwwSDY0QzQ2LjMyOCwwLDMyLDE0LjMxMywzMiwzMnY0NDhjMCwxNy42ODgsMTQuMzI4LDMyLDMyLDMyaDM4NGMxNy42ODgsMCwzMi0xNC4zMTIsMzItMzJWMzINCgkJQzQ4MCwxNC4zMTMsNDY1LjY4OCwwLDQ0OCwweiBNNjQsNDgwVjEyOGg4MHY2NEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY4MEg2NHogTTQ0OCw0ODBIMTYwdi04MGgyNTZ2LTE2DQoJCUgxNjB2LTQ4aDI1NnYtMTZIMTYwdi00OGgyNTZ2LTE2SDE2MHYtNDhoMjU2di0xNkgxNjB2LTY0aDI4OFY0ODB6Ii8+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==", + "camel.apache.org/provider": "Apache Software Foundation", + "camel.apache.org/kamelet.group": "Logging", + "camel.apache.org/kamelet.namespace": "Logging" + }, + "labels": { + "camel.apache.org/kamelet.type": "sink" + } + }, + "spec": { + "definition": { + "title": "Log Sink", + "description": "A sink that logs all data that it receives, useful for debugging purposes.", + "type": "object", + "properties": { + "loggerName": { + "title": "Logger Name", + "description": "Name of the logging category to use", + "type": "string", + "default": "log-sink" + }, + "level": { + "title": "Log Level", + "description": "Logging level to use", + "type": "string", + "default": "INFO", + "enum": [ + "TRACE", + "DEBUG", + "INFO", + "WARN", + "ERROR", + "OFF" + ] + }, + "logMask": { + "title": "Log Mask", + "description": "Mask sensitive information like password or passphrase in the log", + "type": "boolean", + "default": false + }, + "marker": { + "title": "Marker", + "description": "An optional Marker name to use", + "type": "string" + }, + "multiline": { + "title": "Multiline", + "description": "If enabled then each information is outputted on a newline", + "type": "boolean", + "default": false + }, + "showAllProperties": { + "title": "Show All Properties", + "description": "Show all of the exchange properties (both internal and custom)", + "type": "boolean", + "default": false + }, + "showBody": { + "title": "Show Body", + "description": "Show the message body", + "type": "boolean", + "default": true + }, + "showBodyType": { + "title": "Show Body Type", + "description": "Show the body Java type", + "type": "boolean", + "default": true + }, + "showExchangePattern": { + "title": "Show Exchange Pattern", + "description": "Shows the Message Exchange Pattern (or MEP for short)", + "type": "boolean", + "default": true + }, + "showHeaders": { + "title": "Show Headers", + "description": "Show the headers received", + "type": "boolean", + "default": false + }, + "showProperties": { + "title": "Show Properties", + "description": "Show the exchange properties (only custom). Use showAllProperties to show both internal and custom properties.", + "type": "boolean", + "default": false + }, + "showStreams": { + "title": "Show Streams", + "description": "Show the stream bodies (they may not be available in following steps)", + "type": "boolean", + "default": false + }, + "showCachedStreams": { + "title": "Show Cached Streams", + "description": "Whether Camel should show cached stream bodies or not.", + "type": "boolean", + "default": true + } + } + }, + "dependencies": [ + "camel:kamelet", + "camel:log" + ], + "template": { + "from": { + "uri": "kamelet:source", + "steps": [ + { + "to": { + "uri": "log:{{loggerName}}", + "parameters": { + "level": "{{?level}}", + "logMask": "{{?logMask}}", + "marker": "{{?marker}}", + "multiline": "{{?multiline}}", + "showAllProperties": "{{?showAllProperties}}", + "showBody": "{{?showBody}}", + "showBodyType": "{{?showBodyType}}", + "showExchangePattern": "{{?showExchangePattern}}", + "showHeaders": "{{?showHeaders}}", + "showProperties": "{{?showProperties}}", + "showStreams": "{{?showStreams}}", + "showCachedStreams": "{{?showCachedStreams}}" + } + } + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Log Sink", + "description": "A sink that logs all data that it receives, useful for debugging purposes.", + "properties": { + "loggerName": { + "type": "string", + "title": "Logger Name", + "description": "Name of the logging category to use", + "default": "log-sink" + }, + "level": { + "type": "string", + "title": "Log Level", + "description": "Logging level to use", + "enum": [ + "TRACE", + "DEBUG", + "INFO", + "WARN", + "ERROR", + "OFF" + ], + "default": "INFO" + }, + "logMask": { + "type": "boolean", + "title": "Log Mask", + "description": "Mask sensitive information like password or passphrase in the log", + "default": false + }, + "marker": { + "type": "string", + "title": "Marker", + "description": "An optional Marker name to use" + }, + "multiline": { + "type": "boolean", + "title": "Multiline", + "description": "If enabled then each information is outputted on a newline", + "default": false + }, + "showAllProperties": { + "type": "boolean", + "title": "Show All Properties", + "description": "Show all of the exchange properties (both internal and custom)", + "default": false + }, + "showBody": { + "type": "boolean", + "title": "Show Body", + "description": "Show the message body", + "default": true + }, + "showBodyType": { + "type": "boolean", + "title": "Show Body Type", + "description": "Show the body Java type", + "default": true + }, + "showExchangePattern": { + "type": "boolean", + "title": "Show Exchange Pattern", + "description": "Shows the Message Exchange Pattern (or MEP for short)", + "default": true + }, + "showHeaders": { + "type": "boolean", + "title": "Show Headers", + "description": "Show the headers received", + "default": false + }, + "showProperties": { + "type": "boolean", + "title": "Show Properties", + "description": "Show the exchange properties (only custom). Use showAllProperties to show both internal and custom properties.", + "default": false + }, + "showStreams": { + "type": "boolean", + "title": "Show Streams", + "description": "Show the stream bodies (they may not be available in following steps)", + "default": false + }, + "showCachedStreams": { + "type": "boolean", + "title": "Show Cached Streams", + "description": "Whether Camel should show cached stream bodies or not.", + "default": true + } + } + } +} \ No newline at end of file