diff --git a/docs/modules/ROOT/assets/images/kamelets/ssh-source.svg b/docs/modules/ROOT/assets/images/kamelets/ssh-source.svg new file mode 100644 index 000000000..8aaa09436 --- /dev/null +++ b/docs/modules/ROOT/assets/images/kamelets/ssh-source.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index c51a4373c..d5095cb71 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -22,6 +22,7 @@ * xref:ROOT:salesforce-source.adoc[image:kamelets/salesforce-source.svg[] Salesforce Source] * xref:ROOT:sftp-source.adoc[image:kamelets/sftp-source.svg[] SFTP Source] * xref:ROOT:slack-source.adoc[image:kamelets/slack-source.svg[] Slack Source] +* xref:ROOT:ssh-source.adoc[image:kamelets/ssh-source.svg[] SSH Source] * xref:ROOT:telegram-sink.adoc[image:kamelets/telegram-sink.svg[] Telegram Sink] * xref:ROOT:telegram-source.adoc[image:kamelets/telegram-source.svg[] Telegram Source] * xref:ROOT:timer-source.adoc[image:kamelets/timer-source.svg[] Timer Source] diff --git a/docs/modules/ROOT/pages/ssh-source.adoc b/docs/modules/ROOT/pages/ssh-source.adoc new file mode 100644 index 000000000..24246902a --- /dev/null +++ b/docs/modules/ROOT/pages/ssh-source.adoc @@ -0,0 +1,68 @@ +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT += image:kamelets/ssh-source.svg[] SSH Source + +*Provided by: "Apache Software Foundation"* + +Receive data from SSH session. + +== Configuration Options + +The following table summarizes the configuration options available for the `ssh-source` Kamelet: +[width="100%",cols="2,^2,3,^2,^2,^3",options="header"] +|=== +| Property| Name| Description| Type| Default| Example +| *host {empty}* *| SSH Host| The SSH Host| string| | +| *password {empty}* *| The SSH password| The SSH password to use| string| | +| *pollCommand {empty}* *| The Poll command| The command to run while polling the SSH session| string| | `"date"` +| *port {empty}* *| SSH Port| The SSH Port| string| `22`| +| *username {empty}* *| The SSH username| The SSH username to use| string| | +| delay| Delay| Milliseconds before the next poll| integer| `500`| +|=== + +NOTE: Fields marked with ({empty}*) are mandatory. + +== Usage + +This section summarizes how the `ssh-source` can be used in various contexts. + +=== Knative Source + +The `ssh-source` Kamelet can be used as Knative source by binding it to a Knative object. + +.ssh-source-binding.yaml +[source,yaml] +---- +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: ssh-source-binding +spec: + source: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: ssh-source + properties: + host: "The SSH Host" + password: "The The SSH password" + pollCommand: "date" + username: "The The SSH username" + sink: + ref: + kind: InMemoryChannel + apiVersion: messaging.knative.dev/v1 + name: mychannel + +---- + +Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. + +Save the `ssh-source-binding.yaml` file into your hard drive, then configure it according to your needs. + +You can run the source using the following command: + +[source,shell] +---- +kubectl apply -f ssh-source-binding.yaml +---- +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT diff --git a/ssh-source.kamelet.yaml b/ssh-source.kamelet.yaml new file mode 100644 index 000000000..b0533b0b6 --- /dev/null +++ b/ssh-source.kamelet.yaml @@ -0,0 +1,64 @@ +apiVersion: camel.apache.org/v1alpha1 +kind: Kamelet +metadata: + name: ssh-source + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjQgNjQiPgogICAgPHBhdGggZD0iTSA3IDggQyA1LjM0NiA4IDQgOS4zNDYgNCAxMSBMIDQgNTMgQyA0IDU0LjY1NCA1LjM0NiA1NiA3IDU2IEwgNTcgNTYgQyA1OC42NTQgNTYgNjAgNTQuNjU0IDYwIDUzIEwgNjAgMTEgQyA2MCA5LjM0NiA1OC42NTQgOCA1NyA4IEwgNyA4IHogTSA3IDEwIEwgNTcgMTAgQyA1Ny41NTIgMTAgNTggMTAuNDQ4IDU4IDExIEwgNTggNTMgQyA1OCA1My41NTIgNTcuNTUyIDU0IDU3IDU0IEwgNyA1NCBDIDYuNDQ4IDU0IDYgNTMuNTUyIDYgNTMgTCA2IDIwIEwgNDcgMjAgQyA0Ny41NTMgMjAgNDggMTkuNTUzIDQ4IDE5IEMgNDggMTguNDQ3IDQ3LjU1MyAxOCA0NyAxOCBMIDYgMTggTCA2IDExIEMgNiAxMC40NDggNi40NDggMTAgNyAxMCB6IE0gMTAgMTIgQyA5LjQ0NyAxMiA5IDEyLjQ0NyA5IDEzIEwgOSAxNSBDIDkgMTUuNTUzIDkuNDQ3IDE2IDEwIDE2IEMgMTAuNTUzIDE2IDExIDE1LjU1MyAxMSAxNSBMIDExIDEzIEMgMTEgMTIuNDQ3IDEwLjU1MyAxMiAxMCAxMiB6IE0gMTUgMTIgQyAxNC40NDcgMTIgMTQgMTIuNDQ3IDE0IDEzIEwgMTQgMTUgQyAxNCAxNS41NTMgMTQuNDQ3IDE2IDE1IDE2IEMgMTUuNTUzIDE2IDE2IDE1LjU1MyAxNiAxNSBMIDE2IDEzIEMgMTYgMTIuNDQ3IDE1LjU1MyAxMiAxNSAxMiB6IE0gMjAgMTIgQyAxOS40NDcgMTIgMTkgMTIuNDQ3IDE5IDEzIEwgMTkgMTUgQyAxOSAxNS41NTMgMTkuNDQ3IDE2IDIwIDE2IEMgMjAuNTUzIDE2IDIxIDE1LjU1MyAyMSAxNSBMIDIxIDEzIEMgMjEgMTIuNDQ3IDIwLjU1MyAxMiAyMCAxMiB6IE0gMjUgMTIgQyAyNC40NDcgMTIgMjQgMTIuNDQ3IDI0IDEzIEwgMjQgMTUgQyAyNCAxNS41NTMgMjQuNDQ3IDE2IDI1IDE2IEMgMjUuNTUzIDE2IDI2IDE1LjU1MyAyNiAxNSBMIDI2IDEzIEMgMjYgMTIuNDQ3IDI1LjU1MyAxMiAyNSAxMiB6IE0gMzAgMTIgQyAyOS40NDcgMTIgMjkgMTIuNDQ3IDI5IDEzIEwgMjkgMTUgQyAyOSAxNS41NTMgMjkuNDQ3IDE2IDMwIDE2IEMgMzAuNTUzIDE2IDMxIDE1LjU1MyAzMSAxNSBMIDMxIDEzIEMgMzEgMTIuNDQ3IDMwLjU1MyAxMiAzMCAxMiB6IE0gMzUgMTIgQyAzNC40NDcgMTIgMzQgMTIuNDQ3IDM0IDEzIEwgMzQgMTUgQyAzNCAxNS41NTMgMzQuNDQ3IDE2IDM1IDE2IEMgMzUuNTUzIDE2IDM2IDE1LjU1MyAzNiAxNSBMIDM2IDEzIEMgMzYgMTIuNDQ3IDM1LjU1MyAxMiAzNSAxMiB6IE0gNDAgMTIgQyAzOS40NDcgMTIgMzkgMTIuNDQ3IDM5IDEzIEwgMzkgMTUgQyAzOSAxNS41NTMgMzkuNDQ3IDE2IDQwIDE2IEMgNDAuNTUzIDE2IDQxIDE1LjU1MyA0MSAxNSBMIDQxIDEzIEMgNDEgMTIuNDQ3IDQwLjU1MyAxMiA0MCAxMiB6IE0gNDUgMTIgQyA0NC40NDcgMTIgNDQgMTIuNDQ3IDQ0IDEzIEwgNDQgMTUgQyA0NCAxNS41NTMgNDQuNDQ3IDE2IDQ1IDE2IEMgNDUuNTUzIDE2IDQ2IDE1LjU1MyA0NiAxNSBMIDQ2IDEzIEMgNDYgMTIuNDQ3IDQ1LjU1MyAxMiA0NSAxMiB6IE0gNTAgMTIgQyA0OS40NDcgMTIgNDkgMTIuNDQ3IDQ5IDEzIEwgNDkgMTUgQyA0OSAxNS41NTMgNDkuNDQ3IDE2IDUwIDE2IEMgNTAuNTUzIDE2IDUxIDE1LjU1MyA1MSAxNSBMIDUxIDEzIEMgNTEgMTIuNDQ3IDUwLjU1MyAxMiA1MCAxMiB6IE0gNTUgMTIgQyA1NC40NDcgMTIgNTQgMTIuNDQ3IDU0IDEzIEwgNTQgMTUgQyA1NCAxNS41NTMgNTQuNDQ3IDE2IDU1IDE2IEMgNTUuNTUzIDE2IDU2IDE1LjU1MyA1NiAxNSBMIDU2IDEzIEMgNTYgMTIuNDQ3IDU1LjU1MyAxMiA1NSAxMiB6IE0gNTEgMTggQyA1MC40NDcgMTggNTAgMTguNDQ3IDUwIDE5IEMgNTAgMTkuNTUzIDUwLjQ0NyAyMCA1MSAyMCBMIDU1IDIwIEMgNTUuNTUzIDIwIDU2IDE5LjU1MyA1NiAxOSBDIDU2IDE4LjQ0NyA1NS41NTMgMTggNTUgMTggTCA1MSAxOCB6IE0gMTYgMjggQyAxMy43OTQgMjggMTIgMjkuNzk0IDEyIDMyIEwgMTIgMzQgQyAxMiAzNi4yMDYgMTMuNzk0IDM4IDE2IDM4IEwgMTggMzggQyAxOS4xMDMgMzggMjAgMzguODk3IDIwIDQwIEwgMjAgNDIgQyAyMCA0My4xMDMgMTkuMTAzIDQ0IDE4IDQ0IEwgMTYgNDQgQyAxNC44OTcgNDQgMTQgNDMuMTAzIDE0IDQyIEwgMTQgNDEgQyAxNCA0MC40NDcgMTMuNTUzIDQwIDEzIDQwIEMgMTIuNDQ3IDQwIDEyIDQwLjQ0NyAxMiA0MSBMIDEyIDQyIEMgMTIgNDQuMjA2IDEzLjc5NCA0NiAxNiA0NiBMIDE4IDQ2IEMgMjAuMjA2IDQ2IDIyIDQ0LjIwNiAyMiA0MiBMIDIyIDQwIEMgMjIgMzcuNzk0IDIwLjIwNiAzNiAxOCAzNiBMIDE2IDM2IEMgMTQuODk3IDM2IDE0IDM1LjEwMyAxNCAzNCBMIDE0IDMyIEMgMTQgMzAuODk3IDE0Ljg5NyAzMCAxNiAzMCBMIDE4IDMwIEMgMTkuMTAzIDMwIDIwIDMwLjg5NyAyMCAzMiBMIDIwIDMzIEMgMjAgMzMuNTUzIDIwLjQ0NyAzNCAyMSAzNCBDIDIxLjU1MyAzNCAyMiAzMy41NTMgMjIgMzMgTCAyMiAzMiBDIDIyIDI5Ljc5NCAyMC4yMDYgMjggMTggMjggTCAxNiAyOCB6IE0gMzAgMjggQyAyNy43OTQgMjggMjYgMjkuNzk0IDI2IDMyIEwgMjYgMzQgQyAyNiAzNi4yMDYgMjcuNzk0IDM4IDMwIDM4IEwgMzIgMzggQyAzMy4xMDMgMzggMzQgMzguODk3IDM0IDQwIEwgMzQgNDIgQyAzNCA0My4xMDMgMzMuMTAzIDQ0IDMyIDQ0IEwgMzAgNDQgQyAyOC44OTcgNDQgMjggNDMuMTAzIDI4IDQyIEwgMjggNDEgQyAyOCA0MC40NDcgMjcuNTUzIDQwIDI3IDQwIEMgMjYuNDQ3IDQwIDI2IDQwLjQ0NyAyNiA0MSBMIDI2IDQyIEMgMjYgNDQuMjA2IDI3Ljc5NCA0NiAzMCA0NiBMIDMyIDQ2IEMgMzQuMjA2IDQ2IDM2IDQ0LjIwNiAzNiA0MiBMIDM2IDQwIEMgMzYgMzcuNzk0IDM0LjIwNiAzNiAzMiAzNiBMIDMwIDM2IEMgMjguODk3IDM2IDI4IDM1LjEwMyAyOCAzNCBMIDI4IDMyIEMgMjggMzAuODk3IDI4Ljg5NyAzMCAzMCAzMCBMIDMyIDMwIEMgMzMuMTAzIDMwIDM0IDMwLjg5NyAzNCAzMiBMIDM0IDMzIEMgMzQgMzMuNTUzIDM0LjQ0NyAzNCAzNSAzNCBDIDM1LjU1MyAzNCAzNiAzMy41NTMgMzYgMzMgTCAzNiAzMiBDIDM2IDI5Ljc5NCAzNC4yMDYgMjggMzIgMjggTCAzMCAyOCB6IE0gNDEgMjggQyA0MC40NDcgMjggNDAgMjguNDQ3IDQwIDI5IEwgNDAgNDUgQyA0MCA0NS41NTMgNDAuNDQ3IDQ2IDQxIDQ2IEMgNDEuNTUzIDQ2IDQyIDQ1LjU1MyA0MiA0NSBMIDQyIDM4IEwgNDggMzggTCA0OCA0NSBDIDQ4IDQ1LjU1MyA0OC40NDcgNDYgNDkgNDYgQyA0OS41NTMgNDYgNTAgNDUuNTUzIDUwIDQ1IEwgNTAgMjkgQyA1MCAyOC40NDcgNDkuNTUzIDI4IDQ5IDI4IEMgNDguNDQ3IDI4IDQ4IDI4LjQ0NyA0OCAyOSBMIDQ4IDM2IEwgNDIgMzYgTCA0MiAyOSBDIDQyIDI4LjQ0NyA0MS41NTMgMjggNDEgMjggeiIvPgo8L3N2Zz4K" + camel.apache.org/provider: "Apache Software Foundation" + labels: + camel.apache.org/kamelet.type: "source" +spec: + definition: + title: "SSH Source" + description: |- + Receive data from SSH session. + required: + - host + - port + - username + - password + - pollCommand + properties: + host: + title: SSH Host + description: The SSH Host + type: string + port: + title: SSH Port + description: The SSH Port + type: string + default: 22 + username: + title: The SSH username + description: The SSH username to use + type: string + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + password: + title: The SSH password + description: The SSH password to use + type: string + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + delay: + title: Delay + description: Milliseconds before the next poll + type: integer + default: 500 + pollCommand: + title: The Poll command + description: The command to run while polling the SSH session + type: string + example: date + flow: + from: + uri: "ssh://{{host}}:{{port}}" + parameters: + username: "{{username}}" + password: "{{password}}" + delay: "{{delay}}" + pollCommand: "{{pollCommand}}" + steps: + - convert-body-to: + type: "java.lang.String" + - to: "kamelet:sink"