diff --git a/CHANGELOG.rst b/CHANGELOG.rst
new file mode 100644
index 0000000..5972c61
--- /dev/null
+++ b/CHANGELOG.rst
@@ -0,0 +1,6 @@
+glusterfs
+=========
+
+0.1 (2015-07-30)
+
+- initial release
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..0c7e4d8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,13 @@
+  Copyright (c) 2014-2015 tcp cloud a. s.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
\ No newline at end of file
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..69dc159
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,123 @@
+=========
+GlusterFS
+=========
+
+Install and configure GlusterFS server and client.
+
+Available states
+================
+
+.. contents::
+    :local:
+
+``glusterfs.server``
+--------------------
+
+Setup GlusterFS server
+
+``glusterfs.client``
+--------------------
+
+Setup GlusterFS client
+
+Available metadata
+==================
+
+.. contents::
+    :local:
+
+``metadata.glusterfs.server``
+-----------------------------
+
+Setup basic server
+
+
+``metadata.glusterfs.client``
+-----------------------------
+
+Setup client only
+
+Configuration parameters
+========================
+
+
+Example reclass
+===============
+
+Example for distributed glance images storage where every control node is
+gluster peer.
+
+.. code-block:: yaml
+
+   classes:
+   - service.glusterfs.server
+   - service.glusterfs.client
+
+   _param:
+     cluster_node01_address: 192.168.1.21
+     cluster_node02_address: 192.168.1.22
+     cluster_node03_address: 192.168.1.23
+   parameters:
+     glusterfs:
+       server:
+         peers:
+         - ${_param:cluster_node01_address}
+         - ${_param:cluster_node02_address}
+         - ${_param:cluster_node03_address}
+         volumes:
+            glance:
+              storage: /srv/glusterfs/glance
+              replica: 3
+              bricks:
+              - ${_param:cluster_node01_address}:/srv/glusterfs/glance
+              - ${_param:cluster_node02_address}:/srv/glusterfs/glance
+              - ${_param:cluster_node03_address}:/srv/glusterfs/glance
+       client:
+         volumes:
+           glance:
+             path: /var/lib/glance/images
+             server: ${_param:cluster_node01_address}
+             user: glance
+             group: glance
+
+Example pillar
+==============
+
+Server
+------
+
+.. code-block:: yaml
+
+   glusterfs:
+     server:
+       peers:
+       - 192.168.1.21
+       - 192.168.1.22
+       - 192.168.1.23
+       volumes:
+          glance:
+            storage: /srv/glusterfs/glance
+            replica: 3
+            bricks:
+            - 172.168.1.21:/srv/glusterfs/glance
+            - 172.168.1.21:/srv/glusterfs/glance
+            - 172.168.1.21:/srv/glusterfs/glance
+
+Client
+------
+
+.. code-block:: yaml
+
+   glusterfs:
+     client:
+       volumes:
+         glance:
+           path: /var/lib/glance/images
+           server: 192.168.1.21
+           user: glance
+           group: glance
+
+Read more
+=========
+
+* https://www.gluster.org/
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..49d5957
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.1
diff --git a/glusterfs/client.sls b/glusterfs/client.sls
new file mode 100644
index 0000000..b4a20aa
--- /dev/null
+++ b/glusterfs/client.sls
@@ -0,0 +1,39 @@
+{% from "glusterfs/map.jinja" import client with context %}
+
+{%- if client.enabled %}
+
+glusterfs_client_packages:
+  pkg.installed:
+    - names: {{ client.pkgs }}
+
+{%- if client.volumes is defined %}
+{%- for name, volume in client.volumes.iteritems() %}
+
+glusterfs_mount_{{ name }}:
+  mount.mounted:
+    - name: {{ volume.path }}
+    - device: {{ volume.server }}:/{{ name }}
+    - fstype: glusterfs
+    - mkmnt: true
+    - opts: {{ volume.get('opts', 'defaults') }}
+    - require:
+      - pkg: glusterfs_client_packages
+
+{# Fix privileges on mount #}
+{%- if volume.user is defined or volume.group is defined %}
+
+glusterfs_dir_{{ name }}:
+  file.directory:
+    - name: {{ volume.path }}
+    - user: {{ volume.get('user', 'root') }}
+    - group: {{ volume.get('group', 'root') }}
+    - mode: {{ volume.get('mode', '755') }}
+    - require:
+      - mount: glusterfs_mount_{{ name }}
+
+{%- endif %}
+
+{%- endfor %}
+{%- endif %}
+
+{%- endif %}
diff --git a/glusterfs/init.sls b/glusterfs/init.sls
new file mode 100644
index 0000000..b1630bf
--- /dev/null
+++ b/glusterfs/init.sls
@@ -0,0 +1,7 @@
+include:
+{% if pillar.glusterfs.server is defined %}
+- glusterfs.server
+{% endif %}
+{% if pillar.glusterfs.client is defined %}
+- glusterfs.client
+{% endif %}
diff --git a/glusterfs/map.jinja b/glusterfs/map.jinja
new file mode 100644
index 0000000..d6dfe16
--- /dev/null
+++ b/glusterfs/map.jinja
@@ -0,0 +1,19 @@
+{% set server = salt['grains.filter_by']({
+    'Debian': {
+        'pkgs': ['glusterfs-server'],
+        'service': 'glusterfs-server',
+    },
+    'RedHat': {
+        'pkgs': ['glusterfs-server'],
+        'service': 'glusterd',
+    },
+}, merge=salt['pillar.get']('glusterfs:server')) %}
+
+{% set client = salt['grains.filter_by']({
+    'Debian': {
+        'pkgs': ['glusterfs-client'],
+    },
+    'RedHat': {
+        'pkgs': ['glusterfs-client'],
+    },
+}, merge=salt['pillar.get']('glusterfs:client')) %}
diff --git a/glusterfs/server.sls b/glusterfs/server.sls
new file mode 100644
index 0000000..bc9c7ee
--- /dev/null
+++ b/glusterfs/server.sls
@@ -0,0 +1,53 @@
+{% from "glusterfs/map.jinja" import server with context %}
+
+{%- if server.enabled %}
+
+glusterfs_packages:
+  pkg.installed:
+    - names: {{ server.pkgs }}
+
+glusterfs_service:
+  service.running:
+    - name: {{ server.service }}
+    - require:
+      - pkg: glusterfs_packages
+
+{%- if server.peers is defined %}
+
+glusterfs_peers:
+    glusterfs.peered:
+      - names: {{ server.peers }}
+      - require:
+        - service: glusterfs_service
+
+{%- endif %}
+
+{%- if server.volumes is defined %}
+{%- for name, volume in server.volumes.iteritems() %}
+
+{{ volume.storage }}:
+  file.directory:
+    - makedirs: true
+
+glusterfs_vol_{{ name }}:
+  glusterfs.created:
+    - name: {{ name }}
+    {%- if volume.replica is defined %}
+    - replica: {{ volume.replica }}
+    {%- endif %}
+    {%- if volume.stripe is defined %}
+    - stripe: {{ volume.stripe }}
+    {%- endif %}
+    - bricks: {{ volume.bricks }}
+    - start: true
+    {# Parameter force doesn't exist in Salt 2015.5.2 and without it creation
+    will fail when brick is on root disk #}
+    - force: true
+    - require:
+      - glusterfs: glusterfs_peers
+      - file: {{ volume.storage }}
+
+{%- endfor %}
+{%- endif %}
+
+{%- endif %}
diff --git a/metadata/service/client.yml b/metadata/service/client.yml
new file mode 100644
index 0000000..86b98fc
--- /dev/null
+++ b/metadata/service/client.yml
@@ -0,0 +1,6 @@
+applications:
+  - glusterfs
+parameters:
+  glusterfs:
+    client:
+      enabled: true
diff --git a/metadata/service/server.yml b/metadata/service/server.yml
new file mode 100644
index 0000000..136148d
--- /dev/null
+++ b/metadata/service/server.yml
@@ -0,0 +1,6 @@
+applications:
+  - glusterfs
+parameters:
+  glusterfs:
+    server:
+      enabled: true
