diff --git a/ansible/roles/rabbitmq/tasks/config.yml b/ansible/roles/rabbitmq/tasks/config.yml
index 28b29ea97c389c2b67eaed35ee7c41476aa64917..e104fb8bc94857ee97f6d3862502ec17c1f553cb 100644
--- a/ansible/roles/rabbitmq/tasks/config.yml
+++ b/ansible/roles/rabbitmq/tasks/config.yml
@@ -14,7 +14,7 @@
   with_items:
     - "rabbitmq"
 
-- name: Copying over rabbitmq*.conf
+- name: Copying over rabbitmq configs
   template:
     src: "{{ item }}.j2"
     dest: "{{ node_config_directory }}/rabbitmq/{{ item }}"
@@ -22,3 +22,4 @@
      - "rabbitmq-env.conf"
      - "rabbitmq.config"
      - "rabbitmq-clusterer.config"
+     - "definitions.json"
diff --git a/ansible/roles/rabbitmq/templates/definitions.json.j2 b/ansible/roles/rabbitmq/templates/definitions.json.j2
new file mode 100644
index 0000000000000000000000000000000000000000..fdb7267b5165acb15f3775fdcdb41a523631db19
--- /dev/null
+++ b/ansible/roles/rabbitmq/templates/definitions.json.j2
@@ -0,0 +1,14 @@
+{
+  "vhosts": [
+    {"name": "/"}
+  ],
+  "users": [
+    {"name": "{{ rabbitmq_user }}", "password": "{{ rabbitmq_password }}", "tags": "administrator"}
+  ],
+  "permissions": [
+    {"user": "{{ rabbitmq_user }}", "vhost": "/", "configure": ".*", "write": ".*", "read": ".*"}
+  ],
+  "policies":[
+    {"vhost": "/", "name": "ha-all", "pattern": ".*", "apply-to": "all", "definition": {"ha-mode":"all"}, "priority":0}
+  ]
+}
diff --git a/ansible/roles/rabbitmq/templates/rabbitmq.config.j2 b/ansible/roles/rabbitmq/templates/rabbitmq.config.j2
index 50c931ef4ca63c9554bd26aed3a2bed830a3410e..7db5f020d7de1743ef90c9f8011271c0bd5a4044 100644
--- a/ansible/roles/rabbitmq/templates/rabbitmq.config.j2
+++ b/ansible/roles/rabbitmq/templates/rabbitmq.config.j2
@@ -8,15 +8,14 @@
     {tcp_listeners, [
       {"{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}", {{ rabbitmq_port }}}
     ]},
-    {default_user, <<"{{ rabbitmq_user }}">>},
-    {default_pass, <<"{{ rabbitmq_password }}">>},
     {cluster_partition_handling, autoheal}
   ]},
   {rabbitmq_management, [
     {listener, [
       {ip, "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"},
       {port, {{ rabbitmq_management_port }}}
-    ]}
+    ]},
+    {load_definitions, "/etc/rabbitmq/definitions.json"}
   ]},
   {rabbitmq_clusterer, [{config, "/etc/rabbitmq/rabbitmq-clusterer.config"}]}
 ].
diff --git a/ansible/roles/rabbitmq/templates/rabbitmq.json.j2 b/ansible/roles/rabbitmq/templates/rabbitmq.json.j2
index 9aef3c69114dd93eaadeda6f4765dd27b8d3dc4b..4e99cc2183b9a2371898210f890f8089182236b2 100644
--- a/ansible/roles/rabbitmq/templates/rabbitmq.json.j2
+++ b/ansible/roles/rabbitmq/templates/rabbitmq.json.j2
@@ -18,6 +18,12 @@
             "dest": "/etc/rabbitmq/rabbitmq-clusterer.config",
             "owner": "rabbitmq",
             "perm": "0600"
+        },
+        {
+            "source": "{{ container_config_directory }}/definitions.json",
+            "dest": "/etc/rabbitmq/definitions.json",
+            "owner": "rabbitmq",
+            "perm": "0600"
         }
     ]
 }