There are several projects that I've been working on need for an automation in uploading files from one place to another place.
Currently, it only supports from FTP, FTPS, SFTP, to HTTP REST API.
Copy the sample config file below.
source:
type: sftp
host: 0.0.0.0
port: 22
username: foo
password: pass
target:
type: http
host: http://www.kintoun.com/upload-file
header:
- key: Authorization
value: Basic 12345
upload:
- key: file
value: file
- key: channel
value: CIMB
cron:
- name: get-sample-txt
every: 5
type: second
specific_day: None
at: '14:32'
task:
folder: /upload
file: sample.txt
Find below for explanation.
source:
type: sftp
host: 0.0.0.0
port: 22
username: foo
password: pass
source is the source data. Currently, KINTOUN only supports SFTP.
source.type is can be set to sftp, ftp, or ftps
source.host is the host of the sftp server
source.port is the port of the sftp server
source.username is the username to access ftp server
source.password is the password to access ftp server
target:
type: http
host: http://www.kintoun.com/upload-file
header:
- key: Authorization
value: Basic 12345
upload:
- key: file
value: file
- key: channel
value: some_3rd_party
target is the destination where the data will be sent. Currently, KINTOUN only supports HTTP.
target.type is set to http
target.host is the url for the destination server
target.header is the header that need to be sent along with the request to destination server
target.upload contains the list of form to be sent to the destination server. If the key and value are same, then KINTOUN will set this as the file object in the multipart form
cron:
- name: get-sample-txt
every: 5
type: second
specific_day: None
at: '14:32'
task:
folder: /upload
file: sample.txt
cron contains the list of job that will run
cron.name is the name of the job
cron.type is the type of time, such as second, minute, hour, day
cron.specific_day is specific to a day, it should be set to None if cron.type is second, minute, or hour. Available list: None, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
cron.at this only specific to day, about what time job will be run e.g. 15:30
cron.task.folder is the source folder
cron.task.file is the source file
MIT