diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..ee729da
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,13 @@
+Copyright 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.md b/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README.md
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..49c0a6f
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,100 @@
+========
+CEPH RBD
+========
+
+Ceph’s RADOS provides you with extraordinary data storage scalability—thousands of client hosts or KVMs accessing petabytes to exabytes of data. Each one of your applications can use the object, block or file system interfaces to the same RADOS cluster simultaneously, which means your Ceph storage system serves as a flexible foundation for all of your data storage needs.
+
+Install and configure the Ceph MON and ODS services
+
+
+
+Sample pillars
+==============
+
+Ceph OSDs: A Ceph OSD Daemon (Ceph OSD) stores data, handles data replication, recovery, backfilling, rebalancing, and provides some monitoring information to Ceph Monitors by checking other Ceph OSD Daemons for a heartbeat. A Ceph Storage Cluster requires at least two Ceph OSD Daemons to achieve an active + clean state when the cluster makes two copies of your data (Ceph makes 2 copies by default, but you can adjust it).
+
+.. code-block:: yaml
+
+    ceph:
+      osd:
+        config:
+          global:
+            fsid: 00000000-0000-0000-0000-000000000000
+            mon initial members: ceph1,ceph2,ceph3
+            mon host: 10.103.255.252:6789,10.103.255.253:6789,10.103.255.254:6789
+            osd_fs_mkfs_arguments_xfs:[]
+            osd_fs_mount_options_xfs: rw,noatime
+            network public: 10.0.0.0/24
+            network cluster: 10.0.0.0/24
+            osd_fs_type: xfs
+          osd:
+            osd journal size: 7500
+            filestore xattr use omap: true
+          mon:
+            mon debug dump transactions: false
+        keyring:
+        - name: cinder
+          key: 00000000000000000000000000000000000000==
+        - name: glance
+          key: 00000000000000000000000000000000000000==
+
+Monitors: A Ceph Monitor maintains maps of the cluster state, including the monitor map, the OSD map, the Placement Group (PG) map, and the CRUSH map. Ceph maintains a history (called an “epoch”) of each state change in the Ceph Monitors, Ceph OSD Daemons, and PGs.
+
+.. code-block:: yaml
+
+    ceph:
+      mon:
+        config:
+          global:
+            fsid: 00000000-0000-0000-0000-000000000000
+            mon initial members: ceph1,ceph2,ceph3
+            mon host: 10.103.255.252:6789,10.103.255.253:6789,10.103.255.254:6789
+            osd_fs_mkfs_arguments_xfs:[]
+            osd_fs_mount_options_xfs: rw,noatime
+            network public: 10.0.0.0/24
+            network cluster: 10.0.0.0/24
+            osd_fs_type: xfs
+          osd:
+            osd journal size: 7500
+            filestore xattr use omap: true
+          mon:
+            mon debug dump transactions: false
+        keyring:
+        - name: cinder
+          key: 00000000000000000000000000000000000000==
+        - name: glance
+          key: 00000000000000000000000000000000000000==
+
+Client pillar - ussually located at cinder-volume or glance-registry.
+
+.. code-block:: yaml
+
+    ceph:
+      client:
+        config:
+          global:
+            fsid: 00000000-0000-0000-0000-000000000000
+            mon initial members: ceph1,ceph2,ceph3
+            mon host: 10.103.255.252:6789,10.103.255.253:6789,10.103.255.254:6789
+            osd_fs_mkfs_arguments_xfs:[]
+            osd_fs_mount_options_xfs: rw,noatime
+            network public: 10.0.0.0/24
+            network cluster: 10.0.0.0/24
+            osd_fs_type: xfs
+          osd:
+            osd journal size: 7500
+            filestore xattr use omap: true
+          mon:
+            mon debug dump transactions: false
+        keyring:
+        - name: cinder
+          key: 00000000000000000000000000000000000000==
+        - name: glance
+          key: 00000000000000000000000000000000000000==
+
+Read more
+=========
+
+* https://github.com/cloud-ee/ceph-salt-formula
+* http://ceph.com/ceph-storage/
+* http://ceph.com/docs/master/start/intro/
\ No newline at end of file
diff --git a/ceph/client.sls b/ceph/client.sls
new file mode 100644
index 0000000..73a228a
--- /dev/null
+++ b/ceph/client.sls
@@ -0,0 +1,25 @@
+{%- from "ceph/map.jinja" import client with context %}
+{%- if client.enabled %}
+
+{%- for keyring_name, keyring in client.keyring.iteritems() %}
+
+/etc/ceph/ceph.client.{{ keyring_name }}.keyring:
+  ini.options_present:
+  - sections:
+      client.{{ keyring_name }}: {{ keyring|yaml }}
+
+{%- endfor %}
+
+{%- load_yaml as config %}
+{{ client.config|yaml }}
+{%- for keyring_name, keyring in client.keyring.iteritems() %}
+client.{{ keyring_name }}:
+  keyring: /etc/ceph/ceph.client.{{ keyring_name }}.keyring
+{%- endfor %}
+{%- endload %}
+
+/etc/ceph/ceph.conf:
+  ini.options_present:
+  - sections: {{ config|yaml }}
+
+{%- endif %}
\ No newline at end of file
diff --git a/ceph/init.sls b/ceph/init.sls
new file mode 100644
index 0000000..a01aa88
--- /dev/null
+++ b/ceph/init.sls
@@ -0,0 +1,10 @@
+include:
+{% if pillar.ceph.osd is defined %}
+- ceph.osd
+{% endif %}
+{% if pillar.ceph.mon is defined %}
+- ceph.mon
+{% endif %}
+{% if pillar.ceph.client is defined %}
+- ceph.client
+{% endif %}
\ No newline at end of file
diff --git a/ceph/map.jinja b/ceph/map.jinja
new file mode 100644
index 0000000..9bf8886
--- /dev/null
+++ b/ceph/map.jinja
@@ -0,0 +1,33 @@
+{% set osd = salt['grains.filter_by']({
+    'Debian': {
+        'pkgs': ['ceph', 'ceph-common'],
+        'services': [],
+    },
+    'RedHat': {
+        'pkgs': ['ceph'],
+        'services': [],
+    },
+}, merge=salt['pillar.get']('ceph:osd')) %}
+
+{% set mon = salt['grains.filter_by']({
+    'Debian': {
+        'pkgs': ['ceph', 'ceph-common'],
+        'services': [],
+    },
+    'RedHat': {
+        'pkgs': ['ceph', 'ceph-common'],
+        'services': [],
+    },
+}, merge=salt['pillar.get']('ceph:mon')) %}
+
+{% set client = salt['grains.filter_by']({
+    'Debian': {
+        'pkgs': ['ceph-common'],
+    },
+    'RedHat': {
+        'pkgs': ['ceph-common'],
+    },
+}, merge=salt['pillar.get']('ceph:client')) %}
+
+{#- vim:ft=sls
+-#}
\ No newline at end of file
