Armadietto refactor, with S3 support and many other improvements

@DougReeder just opened a fairly large pull request for Armadietto, with the following list of features and fixes:

  • streaming transfer (documents don’t need to fit in memory)
  • JSON Web Tokens (JWT) so permissions can be validated in memory, without a round trip to a server or even reading a file
  • S3-compatible storage (AWS S3 allows up to 5 TB)
  • Bug Fix: correctly handles If-None-Match with ETag
  • Bug Fix: returns empty listing for nonexistent folder
  • Implements current spec: draft-dejong-remotestorage-22
  • based on Express, for much cleaner code & standard extension interface
    • easier to reason about
    • stores are standard Express handlers
    • new kinds of authentication will be straighforward
    • Middleware exists for almost anything that is worth doing in an Express server

:clap: :rocket:

Posting this here in order to ask anyone with node.js experience to consider helping with reviews:

1 Like

Thanks, @raucao! I tried to post this morning, but the forums weren’t behaving like usual, and I had to dash off to the eclipse.

It would be really helpful for anyone with experience building servers with Express to look at the code!

Also, I would really appreciate it if someone else tackled writing a streaming file-system store. It should be straightforward; Node makes streaming to and from files easy.