| I had considered this, but decided against this for a couple of reasons: - Scaling requirements are relatively low. Even though we're dealing with 10 thousands of devices, the amount of firware updates at a given time to those devices is minimal. Our main scaling challenges are around OCPP over websockets. Story for another day. - I have bad memories of ProFTPd etc buffer overflow exploits. - I wanted something simple that could bridge between FTP and our cloud persistence (MongoDB and Cloud Storage). - I found this Node.js library that I since then forked: https://github.com/autovance/ftp-srv - The great thing about this library is that it allows a quick implementation of a custom filesystem. - For Kubernetes pods the file system should really be treated as a /tmp - which we are doing. - When a charge station connects, the FTP username/password is a temporary generated set of tokens that is checked against our MongoDB. Essentially, I'm using FTP as a throwaway here. If you think through this you can imagine it would be quite a lift to accomplish this with an existing FTP server. |