diff --git a/README.rst b/README.rst
index df8bf25..c7db5ea 100644
--- a/README.rst
+++ b/README.rst
@@ -92,6 +92,24 @@
               mon: "allow *"
               osd: "allow *"
 
+Ceph mgr roles
+------------------------
+
+The Ceph Manager daemon (ceph-mgr) runs alongside monitor daemons, to provide additional monitoring and interfaces to external monitoring and management systems. Since the 12.x (luminous) Ceph release, the ceph-mgr daemon is required for normal operations. The ceph-mgr daemon is an optional component in the 11.x (kraken) Ceph release.
+
+By default, the manager daemon requires no additional configuration, beyond ensuring it is running. If there is no mgr daemon running, you will see a health warning to that effect, and some of the other information in the output of ceph status will be missing or stale until a mgr is started.
+
+
+.. code-block:: yaml
+
+    ceph:
+      mgr:
+        enabled: true
+        dashboard:
+          enabled: true
+          host: 10.103.255.252
+          port: 7000
+
 
 Ceph OSD (storage) roles
 ------------------------
diff --git a/ceph/files/luminous/ceph.conf.Debian b/ceph/files/luminous/ceph.conf.Debian
new file mode 100644
index 0000000..1c4a8b6
--- /dev/null
+++ b/ceph/files/luminous/ceph.conf.Debian
@@ -0,0 +1,108 @@
+{%- from "ceph/map.jinja" import common, mon, osd, radosgw with context %}
+[global]
+mon initial members = {%- for member in common.members %}{{ member.name }}{% if not loop.last %},{% endif %}{%- endfor %}
+mon host = {%- for member in common.members %}{{ member.host }}:6789{% if not loop.last %},{% endif %}{%- endfor %}
+
+{%- if common.cluster_network is defined %}
+cluster network = {{ common.cluster_network }}
+{%- endif %}
+{%- if common.public_network is defined %}
+public network = {{ common.public_network }}
+{%- endif %}
+
+fsid = {{ common.fsid }}
+
+##Global key: value
+{%- for key_name, key in common.get('config', {}).get('global', {}).iteritems() %}
+
+{{ key_name }} = {{ key }}
+
+{%- endfor %}
+
+
+##Other sections key: value
+{%- for key_name, key in common.get('config', {}).iteritems() %}
+
+{%- if key_name not in ['osd', 'mon', 'global'] %}
+[{{ key_name }}]
+
+{%- for value_name, value in key.iteritems() %}
+
+{{ value_name }} = {{ value }}
+
+{%- endfor %}
+
+{%- endif %}
+
+{%- endfor %}
+
+{%- if pillar.ceph.mon is defined %}
+
+[mon]
+{%- for key, value in common.get('config', {}).get('mon', {}).iteritems() %}
+{{ key }} = {{ value }}
+{%- endfor %}
+mon host = {%- for member in common.members %}{{ member.name }}{% if not loop.last %},{% endif %}{%- endfor %}
+mon addr = {%- for member in common.members %}{{ member.host }}:6789{% if not loop.last %},{% endif %}{%- endfor %}
+
+{%- for member in common.members %}
+[mon.{{ member.name }}]
+mon host = {{ member.name }}
+mon addr = {{ member.host }}:6789
+{%- if not loop.last %}
+
+{%- endif %}
+{%- endfor %}
+
+{%- endif %}
+
+{%- if pillar.ceph.osd is defined %}
+
+[osd]
+
+{%- for key, value in common.get('config', {}).get('osd', {}).iteritems() %}
+{{ key }} = {{ value }}
+{%- endfor %}
+
+{%- for disk_id, disk in osd.disk.iteritems() %}
+{% set id = osd.host_id~disk_id %}
+[osd.{{ id }}]
+host = {{ grains.host }}
+osd journal = {{ disk.journal }}
+{%- endfor %}
+
+{%- endif %}
+
+{%- if pillar.ceph.radosgw is defined %}
+
+[client.rgw.{{ grains.host }}]
+host = {{ grains.host }}
+keyring = /etc/ceph/ceph.client.rgw.{{ grains.host }}.keyring
+rgw socket path = /tmp/radosgw-{{ grains.host }}.sock
+log file = /var/log/ceph/ceph-rgw-{{ grains.host }}.log
+rgw data = /var/lib/ceph/radosgw/ceph-rgw.{{ grains.host }}
+rgw frontends = civetweb port={{ radosgw.bind.address }}:{{ radosgw.bind.port }} num_threads={{ radosgw.threads }}
+rgw dns name = {{ radosgw.get('hostname', grains.host) }}
+
+{%- if radosgw.identity.engine == 'keystone' %}
+{%- set ident = radosgw.identity %}
+
+rgw keystone api version = {{ ident.get('api_version', 3) }}
+rgw keystone url = {{ ident.host }}:{{ ident.get('port', '5000') }}
+rgw keystone accepted roles =  _member_, Member, admin, swiftoperator
+rgw keystone revocation interval = 1000000
+rgw keystone implicit tenants = false
+rgw s3 auth use keystone = true
+rgw keystone admin user = {{ ident.get('user', 'admin') }}
+rgw keystone admin password = {{ ident.password }}
+rgw keystone verify ssl = False
+{%- if ident.get('api_version', 3) == 2 %}
+rgw keystone admin tenant = {{ ident.get('tenant', 'admin') }}
+{%- else %}
+rgw keystone admin project = {{ ident.get('project', 'admin') }}
+rgw keystone admin domain = {{ ident.get('domain', 'admin') }}
+{% endif %}
+
+{%- endif %}
+
+{%- endif %}
diff --git a/ceph/map.jinja b/ceph/map.jinja
index 3cd9166..0986380 100644
--- a/ceph/map.jinja
+++ b/ceph/map.jinja
@@ -16,6 +16,15 @@
 {%- endload %}
 {% set  mon = salt['grains.filter_by'](mon_defaults, merge=salt['pillar.get']('ceph:mon')) %}
 
+{%- load_yaml as mgr_defaults %}
+Debian:
+  pkgs:
+  - ceph-mgr
+  services:
+  - ceph-mgr
+{%- endload %}
+{% set  mgr = salt['grains.filter_by'](mgr_defaults, merge=salt['pillar.get']('ceph:mgr')) %}
+
 {%- load_yaml as osd_defaults %}
 Debian:
   pkgs:
diff --git a/ceph/mgr.yml b/ceph/mgr.yml
new file mode 100644
index 0000000..4553e40
--- /dev/null
+++ b/ceph/mgr.yml
@@ -0,0 +1,90 @@
+{%- from "ceph/map.jinja" import common, mgr with context %}
+
+{%- if mgr.get('enabled', False) %}
+
+include:
+- ceph.common
+
+mon_packages:
+  pkg.installed:
+  - names: {{ mgr.pkgs }}
+
+/etc/ceph/ceph.conf:
+  file.managed:
+  - source: salt://ceph/files/{{ common.version }}/ceph.conf.{{ grains.os_family }}
+  - template: jinja
+  - require:
+    - pkg: mon_packages
+
+/var/lib/ceph/mgr/ceph-{{ grains.host }}/:
+  file.directory:
+  - template: jinja
+  - user: ceph
+  - group: ceph
+  - require:
+    - pkg: mon_packages
+
+ceph_create_mgr_keyring_{{ grains.host }}:
+  cmd.run:
+  - name: "ceph auth get-or-create mgr.{{ grains.host }} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /etc/ceph/ceph/mgr/ceph-{{ grains.host }}/keyring"
+  - unless: "test -f /var/lib/ceph/mgr/ceph-{{ grains.host }}/keyring"
+  - require:
+    - file: /var/lib/ceph/mgr/ceph-{{ grains.host }}/
+
+/var/lib/ceph/mgr/ceph-{{ grains.host }}/keyring:
+  file.managed:
+  - user: ceph
+  - group: ceph
+
+{%- if mgr.get('dashboard', {}).get('enabled', False) %}
+
+ceph_dashboard_address:
+  cmd.run:
+  - name: "ceph config-key put mgr/dashboard/server_addr {{ mgr.dashboard.get('host', '::') }}"
+  - unless: "ceph config-key get mgr/dashboard/server_addr | grep {{ mgr.dashboard.get('host', '::') }}"
+
+ceph_dashboard_port:
+  cmd.run:
+  - name: "ceph config-key put mgr/dashboard/server_port {{ mgr.dashboard.get('port', '7000') }}"
+  - unless: "ceph config-key get mgr/dashboard/server_port | grep {{ mgr.dashboard.get('port', '7000') }}"
+
+
+ceph_restart_dashboard_plugin:
+  cmd.wait:
+  - name: "ceph mgr module disable dashboard;ceph mgr module enable dashboard"
+  - watch:
+      - cmd: ceph_dashboard_address
+      - cmd: ceph_dashboard_port
+
+enable_ceph_dashboard:
+  cmd.run:
+  - name: "ceph mgr module enable dashboard"
+  - unless: "ceph mgr module ls | grep dashboard"
+
+{%- else %}
+
+disable_ceph_dashboard:
+  cmd.run:
+  - name: "ceph mgr module disable dashboard"
+  - onlyif: "ceph mgr module ls | grep dashboard"
+  - require:
+    - file: /var/lib/ceph/mgr/ceph-{{ grains.host }}/
+
+{%- endif %}
+
+
+mon_services:
+  service.running:
+    - enable: true
+    - names: [ceph-mgr@{{ grains.host }}]
+    - watch:
+      - file: /etc/ceph/ceph.conf
+    - require:
+      - pkg: mon_packages
+      - file: /var/lib/ceph/mgr/ceph-{{ grains.host }}/keyring
+    {%- if grains.get('noservices') %}
+    - onlyif: /bin/false
+    {%- endif %}
+
+
+{%- endif %}
\ No newline at end of file
