File system Upload

File system Upload

Certified

Upload a file to FTPS

Pushes one local file over FTPS. Defaults: port 990, EXPLICIT mode, PROT P data channel, passive mode on, remote IP verification on, paths relative to user home. insecureTrustAllCertificates skips SSL checks for testing.

yaml
type: io.kestra.plugin.fs.ftps.Upload
yaml
id: fs_ftps_upload
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.fs.ftps.Upload
    host: localhost
    port: 990
    username: foo
    password: "{{ secret('FTPS_PASSWORD') }}"
    from: "{{ inputs.file }}"
    to: "/upload/dir2/file.txt"
Properties

Source file (kestra:// URI)

Remote host

DefaultP
Possible Values
CSEP

Data channel protection level

PROT command value (P, C, etc.). Default P (encrypted).

Defaultfalse

Enable the RSA/SHA1 algorithm (disabled by default)

Trust all certificates

Skip server certificate validation. Insecure: this disables protection against man-in-the-middle attacks and must not be enabled in production. Use only for testing against self-signed or untrusted certificates.

DefaultEXPLICIT
Possible Values
IMPLICITEXPLICIT

Select FTPS mode

Choose implicit or explicit FTPS. Default EXPLICIT.

Default{ "connectionTimeout": "PT30S", "dataTimeout": "PT30S", "socketTimeout": "PT30S", "controlKeepAliveTimeout": "PT30S", "controlKeepAliveReplyTimeout": "PT30S" }

FTP client options

Definitions
connectionTimeoutstring
DefaultPT30S

Control connection timeout

Maximum time to open the control channel. Default 30s.

controlKeepAliveReplyTimeoutstring
DefaultPT30S

Keep-alive reply timeout

How long to wait for keep-alive responses before failing. Default 30s.

controlKeepAliveTimeoutstring
DefaultPT30S

Control keep-alive interval

Sends keep-alive commands during long transfers. Default 30s.

dataTimeoutstring
DefaultPT30S

Data channel timeout

Maximum time to open the data socket. Default 30s.

socketTimeoutstring
DefaultPT30S

Socket read timeout

Timeout for socket reads and writes once connected. Default 30s.

Defaulttrue

Overwrite existing files

If false, fails when the destination already exists.

Defaulttrue

Use passive data connections

Passive mode avoids most firewall and NAT issues and is enabled by default (true). Set to false to force active mode.

Password

Reference (ref) of the pluginDefaults to apply to this task.

Default990

Remote port

FTP proxy hostname

FTP proxy port

Possible Values
DIRECTHTTPSOCKS

FTP proxy type

Defaulttrue

Verify data channel IP

Ensures the responding server IP matches the control connection to prevent spoofed data channels.

Defaulttrue

Treat path as user home root

If true (default), remote paths are resolved relative to the authenticated user's home directory.

Destination path

If unset, uses the source filename.

Username

Formaturi

The fully-qualified URIs that point to source data

Formaturi

The fully-qualified URIs that point to destination path