From 0743363bb2bd4bd1cf7d669c64c6b4539cd60aed Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 15 May 2023 04:44:20 -0400 Subject: [PATCH] Implement install_mongodb role --- .../roles/install_mongodb/defaults/main.yaml | 8 +++++ .../roles/install_mongodb/tasks/main.yaml | 33 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 data/ansible/roles/install_mongodb/defaults/main.yaml create mode 100644 data/ansible/roles/install_mongodb/tasks/main.yaml diff --git a/data/ansible/roles/install_mongodb/defaults/main.yaml b/data/ansible/roles/install_mongodb/defaults/main.yaml new file mode 100644 index 000000000..57684f200 --- /dev/null +++ b/data/ansible/roles/install_mongodb/defaults/main.yaml @@ -0,0 +1,8 @@ +--- +mongodb_package_name: mongodb-org +mongodb_version: 6.0 +mongodb_service_name: mongod +mongodb_service_state: started +mongodb_service_enabled: true +mongodb_dependencies: + - gnupg diff --git a/data/ansible/roles/install_mongodb/tasks/main.yaml b/data/ansible/roles/install_mongodb/tasks/main.yaml new file mode 100644 index 000000000..b53965145 --- /dev/null +++ b/data/ansible/roles/install_mongodb/tasks/main.yaml @@ -0,0 +1,33 @@ +--- +- name: Install dependencies + become: yes + apt: + name: "{{ mongodb_dependencies }}" + state: present + update_cache: yes + +- name: Import the MongoDB public GPG Key + ansible.builtin.shell: | + curl -fsSL https://pgp.mongodb.com/server-{{ mongodb_version }}.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-{{ mongodb_version }}.gpg --dearmor + args: + executable: /bin/bash + +- name: Create a /etc/apt/sources.list.d/mongodb-org-6.0.list file for MongoDB + become: yes + ansible.builtin.copy: + content: "deb [ signed-by=/usr/share/keyrings/mongodb-server-{{ mongodb_version }}.gpg] http://repo.mongodb.org/apt/debian bullseye/mongodb-org/{{ mongodb_version }} main" + dest: "/etc/apt/sources.list.d/{{ mongodb_package_name }}-{{ mongodb_version }}.list" + +- name: Install MongoDB packages + become: yes + apt: + name: "{{ mongodb_package_name }}" + state: present + update_cache: yes + +- name: Start and enable MongoDB service + become: yes + ansible.builtin.systemd: + name: "{{ mongodb_service_name }}" + state: "{{ mongodb_service_state }}" + enabled: "{{ mongodb_service_enabled }}"