== FTPS Source Kamelet Description

=== Authentication

This Kamelet requires username and password authentication to access the FTPS server. FTPS provides FTP with SSL/TLS encryption for secure file transfer. The credentials are configured through the `username` and `password` properties.

=== Configuration

The FTPS Source Kamelet supports the following configurations:

- **Connection Host**: The hostname or IP address of the FTPS server (required)
- **Connection Port**: The port number of the FTPS server (default: 21)
- **Username**: Username for FTPS authentication (required)
- **Password**: Password for FTPS authentication (required)
- **Directory Name**: The starting directory path on the FTPS server (required)
- **Passive Mode**: Use passive mode for FTPS connections (default: false)
- **Recursive**: Process files in subdirectories (default: false)
- **Idempotent**: Skip already-processed files (default: true)
- **Binary**: Use binary transfer mode instead of ASCII (default: false)
- **Auto Create**: Automatically create the starting directory if it doesn't exist (default: true)
- **Delete**: Delete files after successful processing (default: false)

=== Output Format

The Kamelet outputs file content as an `InputStream` and sets headers with file information:
- `file`: The name of the processed file
- `ce-file`: Cloud Events compatible file name header

=== Security

FTPS provides enhanced security over standard FTP by encrypting the connection using SSL/TLS. This ensures that credentials and data are transmitted securely.

=== Usage Example

[source,yaml,subs='+attributes,macros']
----
- route:
    from:
      uri: "kamelet:ftps-source"
      parameters:
        connectionHost: "ftps.example.com"
        connectionPort: "21"
        username: "ftpsuser"
        password: "ftpspass"
        directoryName: "/secure-incoming"
      steps:
        - to:
            uri: "kamelet:log-sink"
----

=== Example with Passive Mode and Binary Transfer

[source,yaml,subs='+attributes,macros']
----
- route:
    from:
      uri: "kamelet:ftps-source"
      parameters:
        connectionHost: "ftps.example.com"
        connectionPort: "990"
        username: "ftpsuser"
        password: "ftpspass"
        directoryName: "/data"
        passiveMode: true
        binary: true
        recursive: true
      steps:
        - to:
            uri: "kamelet:log-sink"
----

This example uses port 990 (common for implicit FTPS), enables passive mode, binary transfer, and recursive directory processing.