<commit_before># akashic-storage

[![Build Status](https://travis-ci.org/akiradeveloper/akashic-storage.svg)](https://travis-ci.org/akiradeveloper/akashic-storage)
[![Join the chat at https://gitter.im/akiradeveloper/fss3](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/akiradeveloper/fss3?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

**akashic-storage** is a Amazon S3 compatible storage server running on **any** filesystem. The term **any** potentially includes distributed filesystems (like GlusterFS) because akashic-storage is designed for that purpose from scratch. It's also durable for server faults by introducing **commit** mechanism so partially written objects are ignored.

The software is built upon **finch** that is a sophisticated finagle-http wrapper in functional way. Therefore akashic-storage's all codebase is written in **Scala** with a taste of functional programming so it's readable, small and then solid.

The goal is to provide a perfect on-premise S3 storage used world-wide. 

![Concept](https://rawgit.com/akiradeveloper/akashic-storage/develop/concept.svg)<commit_msg>Add getting started guide to README<commit_after># akashic-storage

[![Build Status](https://travis-ci.org/akiradeveloper/akashic-storage.svg)](https://travis-ci.org/akiradeveloper/akashic-storage)
[![Join the chat at https://gitter.im/akiradeveloper/fss3](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/akiradeveloper/fss3?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

**akashic-storage** is a Amazon S3 compatible storage server running on **any** filesystem. The term **any** potentially includes distributed filesystems (like GlusterFS) because akashic-storage is designed for that purpose from scratch. It's also durable for server faults by introducing **commit** mechanism so partially written objects are ignored.

The software is built upon **finch** that is a sophisticated finagle-http wrapper in functional way. Therefore akashic-storage's all codebase is written in **Scala** with a taste of functional programming so it's readable, small and then solid.

The goal is to provide a perfect on-premise S3 storage used world-wide.

![Concept](https://rawgit.com/akiradeveloper/akashic-storage/develop/concept.svg)

## Getting Started

The easiest way to try out akashic-storage is to use [Vagrant](https://www.vagrantup.com) virtual machine. It will install everything you need and set up working akashic-storage service. You can find `Vagranfile` at `/vagrant-quick-start` folder.

### First step

Before launching your Vagrant environment, you must install [VirtualBox 5.x](https://www.virtualbox.org/wiki/Downloads) as [Vagrant](https://www.vagrantup.com/downloads.html). All of these software packages provide easy-to-use visual installers for all popular operating systems.

### Compile jar file

Next you need compile jar file by simply executing `/installer/compile-jar.sh`.

```
$ sh installer/compile-jar.sh
```

This will create `akashic-storage.jar` in `/installer` folder. This jar file will be used to provision Vagrant VM.

### Boot up Vagrant

Once you finish compiling jar file, you can now boot up your Vagrant.

```
$ cd vagrant-quick-start
$ vagrant up
```

Now you can access akashic-storage at `http://localhost:10946` within Vagrant VM.
{'fraction_non_alphanumeric': 0.10661107802263252, 'fraction_numerical': 0.005360333531864205, 'mean_word_length': 5.373814041745731, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 15, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6357421', 'n_tokens_mistral': 1038, 'n_tokens_neox': 1001, 'n_words': 336}