fix: use offline deploy for magnum
diff --git a/rabbitmq/README.md b/rabbitmq/README.md
new file mode 100644
index 0000000..4a53859
--- /dev/null
+++ b/rabbitmq/README.md
@@ -0,0 +1 @@
+# `rabbitmq`
diff --git a/rabbitmq/meta/main.yml b/rabbitmq/meta/main.yml
new file mode 100644
index 0000000..37118dc
--- /dev/null
+++ b/rabbitmq/meta/main.yml
@@ -0,0 +1,23 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# 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.
+
+galaxy_info:
+ author: VEXXHOST, Inc.
+ description: Ansible role for RabbitMQ
+ license: Apache-2.0
+ min_ansible_version: 5.5.0
+ platforms:
+ - name: Ubuntu
+ versions:
+ - focal
diff --git a/rabbitmq/tasks/main.yml b/rabbitmq/tasks/main.yml
new file mode 100644
index 0000000..aed2e62
--- /dev/null
+++ b/rabbitmq/tasks/main.yml
@@ -0,0 +1,50 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# 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.
+
+- name: Deploy cluster
+ kubernetes.core.k8s:
+ state: present
+ definition:
+ apiVersion: rabbitmq.com/v1beta1
+ kind: RabbitmqCluster
+ metadata:
+ name: "rabbitmq-{{ rabbitmq_cluster_name }}"
+ namespace: openstack
+ spec:
+ image: "{{ atmosphere_images['rabbitmq_server'] | docker_image('ref') }}"
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: openstack-control-plane
+ operator: In
+ values:
+ - enabled
+ rabbitmq:
+ additionalConfig: |
+ vm_memory_high_watermark.relative = 0.9
+ resources:
+ limits:
+ cpu: "1"
+ memory: 2Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ terminationGracePeriodSeconds: 15
+ wait: true
+ wait_timeout: 600
+ wait_condition:
+ type: ClusterAvailable
+ status: "True"