Skip to content
Weik.ioUniversity
Try Weik.io

Your first transfer

MFT 1 · 3:40

A transfer copies a supplier's invoices from an FTP server to an archive bucket, with no Camel route to write. It's written as three documents, with its two ends as variables, and published before anything runs.

Download the mp4Recorded on 2026.2

What it covers

  • Scaffolding a transfer of kind mft, with its source and destination ends
  • Remotes as variables, with each password kept in a separate secret
  • Variable documents for the remotes supplier-ftp and invoice-archive
  • Checking with weikio validate, then publishing all three documents with weikio apply
  • The new transfer in the admin UI's list of integrations

Commands in this video

Terminal
$ weikio init supplier-invoices --kind mft
$ weikio validate -f ./finance
$ weikio apply -f ./finance
$ weikio get integrations --kind mft
Transcript
  1. 0:02A supplier drops invoices on an FTP server, and an archive wants a copy of each.
  2. 0:07This video writes the transfer that does that, and publishes it.
  3. 0:15The hub is fresh: the agent dev is online,
  4. 0:18the client is logged in, and the project finance has its devtest.
  5. 0:22Moving files between an FTP server, a bucket, a share,
  6. 0:27or a folder is a large part of what integrations do.
  7. 0:31None of it needs a route.
  8. 0:33The kind is mft, and the admin UI calls it a Transfer.
  9. 0:38Underneath it is rclone, a command line program for copying files,
  10. 0:43and the whole feature is three documents.
  11. 0:50One command scaffolds it.
  12. 0:53It writes one YAML document, and its two ends are named source and destination.
  13. 1:00Each end holds a remote and a path: where the files come from, and where they go.
  14. 1:06Operation copy is already set.
  15. 1:08The scaffold puts the source's settings inline, in the document,
  16. 1:12and the commented lines below name filters, flags, retries, and retriesSleep.
  17. 1:22Here is the rule that the whole feature stands on: the two ends are variables.
  18. 1:27A remote is a variable whose value is the settings for one server:
  19. 1:31its type, its host, its user, its password, in the form rclone reads.
  20. 1:38Several transfers can share one remote,
  21. 1:41and each environment overrides it with its own server.
  22. 1:44The credential inside a remote is a separate secret,
  23. 1:47so the rest stays readable in Git and reviewable in a pull request.
  24. 1:52When the transfer runs,
  25. 1:53the platform turns the three documents into one rclone command on the agent.
  26. 2:01The edit takes the inline settings out of the source, and names the remote instead.
  27. 2:07The destination does the same,
  28. 2:08and the two remotes are named supplier-ftp and invoice-archive.
  29. 2:14Two Variable documents follow, one for each remote,
  30. 2:18and each value is that remote's definition in the form rclone reads.
  31. 2:23Inside each definition a placeholder names a secret:
  32. 2:27the FTP password, and the bucket key.
  33. 2:30The secrets get their values in the next video, before anything runs.
  34. 2:40The check comes first: validate reads the documents the way the apply will,
  35. 2:45and finds nothing to fix.
  36. 2:48Apply publishes all three documents in one command.
  37. 2:54The rows list what was stored: the two variables,
  38. 2:57then the transfer as version 0.1.0.
  39. 3:01The closing line points at the deploy, which is the next video's first step.
  40. 3:06In the list of integrations, filtered to transfers, the new one shows its version.
  41. 3:15The transfer is an integration like any other: a version when it is applied,
  42. 3:20a deployment per environment, and a JVM on an agent.
  43. 3:24The document is published; nothing runs yet.
  44. 3:28The next video deploys it, and shows the first file move.

Next in this track

MFT 2 · 3:31 Deploy it, and see a file move Watched