Tuesday, August 20, 2013

Instant File Server: turn any directory into a webserver with a simple command

Our engineering team has been neck-deep in configuration hell lately. Editing 2000-line Solr configuration files, trying to get Apache Oozie integrated into DataStax Enterprise, Cassandra 1.2 upgrades, and more – and the one thing in common with all of these tasks is the prevalence of enormous XML configuration files.

Having wasted countless hours trying to use tools like SCP and various Sublime Text plugins to try to edit (or hell, even view) the configuration files on our dozens of Linux machines, I finally had a "fuck this shit" moment this week and wrote instant-fileserver, a stand-alone file server that you can start using a single command on any directory on any operating system.
instant-fileserver (ifs) allows you to:
  • expose the contents of any file system via HTTP;
  • view individual files as well as directory listings;
  • create, read, update, or delete any file using ifs' dead-simple RESTful API;
  • create multiple ifs instances using a simple command; and
  • safely edit any file from the comfort of your Windows / OS X machine and push the results back onto your Linux servers once you're finished.

Here's an example usage:

$ npm install -g ifs
$ (ifs is added to your PATH; go anywhere on your system)
$ ifs -help
$ ifs [arguments...]
... starting ifs on 0.0.0.0:1337

Here's a quick demo video to show you how easy ifs is compared to the alternative

Read more: Aaronontheweb
QR: Inline image 1