Copyright 2014 Prime Solutions, LLC
http://www.primeso.com/
CONTENTS
~~~~~~~~
1. Description
2. Features
3. Known issues
5. Road map
4. Support
6. License
DESCRIPTION
~~~~~~~~~~~
icfs is a user-mode file system that uses Linux FUSE to provide a flexible
file presentation layer to web-based objects. The goal behind icfs is to
support file system integration of any variety of web object, be them virtually
standard S3-style buckets and objects, to the more esoteric or proprietary
objects in use by other systems.
Flexibility comes with its trade-offs. For instance, icfs makes use of an
index, hence the 'i' in icfs, that basically tells the software where to access
a mapped object in URL space. Eventually, we look to move this index into a
service module (or simply, service daemon in *nix parlance). Also, much of this
early work is done in Perl, relying on Vitaly Shukela's execfuse for operation.
Documents in this package include the following -
1) README - this file
2) INSTALL - general installation instructions for Linux systems
3) QUICK_START - get started with your first icfs implementation
4) COPYING - a copy of the GNU General Public License, version 3, according to which
this software is provided to you
FEATURES
~~~~~~~~
* map any URL into file system space
* provide a single collection of URLs as one file system
* define your own names for URLs presented in the file system
* memory-based access; no caching of files to local disk
(to some, this is a feature)
* access URLs using conventional scripts and programs
KNOWN ISSUES
~~~~~~~~~~~~
* Some offset-based file accesses do not work (eg. 'more', 'less')
* File sizes are bound based on first access to a file. We arbitrarily
assign a file size of 4096 bytes to unaccessed files so that programs
that appear to set a buffer size (eg. 'cat') work correctly.
* File modes are arbitrarily set to 0444 (read-only).
* Removal, linking, and many other file accesses are not (yet) supported.
ROAD MAP
~~~~~~~~
Below is my expected road map for development.
August 2014 - add support for more Curl features through the ICFS config file
- add support for removing, linking, touching files
October 2014 - complete an initial port to C
January 2015 - complete an initial mapper service
June 2015 - complete flexible cloud object write capability
SUPPORT
~~~~~~~
Community based support is available via the Sourceforge project page at
http://sourceforge.net/projects/icfs/ .
Paid support is also available. Dan Kosack works on this program in his free time.
His development is unfunded and must be juggled around his day job, family, and other
commitments.
Support contracts are available through Prime Solutions to fund feature
development, bug fixes, and detailed, specific installation support. The
terms of the GNU public license, however, stipulate that improvements and
fixes to the software be made available under the same terms of the
GNU license. The goal of paid support is to allow Dan to develop this as part of his
daily job, and to fund Prime Solutions' development of training and support resources
for the project.
LICENSE
~~~~~~~
This software is covered under the GNU General Public License version 3. A copy of the
full license is provided in the file "COPYING".
The standard disclaimer follows below.
icfs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
icfs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with icfs. If not, see <http://www.gnu.org/licenses/>.
Daniel Kosack
daniel.kosack@primeso.com
http://sourceforge.net/projects/icfs/