2019-09-23 22:18:52 +02:00
|
|
|
---
|
|
|
|
|
2021-07-04 22:08:47 +02:00
|
|
|
- name: Look for legacy apt keyring
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.stat:
|
2021-07-04 22:08:47 +02:00
|
|
|
path: /etc/apt/trusted.gpg
|
|
|
|
register: _trusted_gpg_keyring
|
|
|
|
|
2021-05-06 11:33:19 +02:00
|
|
|
- name: MongoDB embedded GPG key is absent
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.apt_key:
|
2021-05-03 14:23:13 +02:00
|
|
|
id: "B8612B5D"
|
2021-05-06 13:43:59 +02:00
|
|
|
keyring: /etc/apt/trusted.gpg
|
2021-05-03 14:23:13 +02:00
|
|
|
state: absent
|
2021-07-04 22:08:47 +02:00
|
|
|
when: _trusted_gpg_keyring.stat.exists
|
2021-05-03 14:23:13 +02:00
|
|
|
|
2023-07-25 10:59:53 +02:00
|
|
|
- name: "Ensure {{ apt_keyring_dir }} directory exists"
|
|
|
|
file:
|
|
|
|
path: "{{ apt_keyring_dir }}"
|
|
|
|
state: directory
|
|
|
|
mode: "755"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
|
2021-05-03 14:23:13 +02:00
|
|
|
- name: Add MongoDB GPG key
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.copy:
|
2022-12-28 09:03:37 +01:00
|
|
|
src: "server-{{ mongodb_version }}.asc"
|
2022-11-02 23:15:17 +01:00
|
|
|
dest: "{{ apt_keyring_dir }}/mongodb-server-{{ mongodb_version }}.asc"
|
2023-06-28 13:22:59 +02:00
|
|
|
force: true
|
2021-05-03 14:23:13 +02:00
|
|
|
mode: "0644"
|
2021-05-26 13:47:34 +02:00
|
|
|
owner: root
|
|
|
|
group: root
|
2019-09-23 22:18:52 +02:00
|
|
|
|
2022-12-02 15:17:42 +01:00
|
|
|
- name: Enable APT sources list
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.apt_repository:
|
2022-11-02 23:17:08 +01:00
|
|
|
repo: "deb [signed-by={{ apt_keyring_dir }}/mongodb-server-{{ mongodb_version }}.asc] http://repo.mongodb.org/apt/debian buster/mongodb-org/{{ mongodb_version }} main"
|
2019-09-23 22:18:52 +02:00
|
|
|
state: present
|
2022-12-28 09:03:37 +01:00
|
|
|
filename: "mongodb-org-{{ mongodb_version }}"
|
2019-09-23 22:18:52 +02:00
|
|
|
update_cache: yes
|
|
|
|
|
2022-12-02 15:17:42 +01:00
|
|
|
- name: Disable unsigned APT sources list
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.apt_repository:
|
2022-12-02 15:17:42 +01:00
|
|
|
repo: "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/{{ mongodb_version }} main"
|
|
|
|
state: absent
|
2022-12-28 09:03:37 +01:00
|
|
|
filename: "mongodb-org-{{ mongodb_version }}"
|
2022-12-02 15:17:42 +01:00
|
|
|
update_cache: yes
|
|
|
|
|
2019-09-23 22:18:52 +02:00
|
|
|
- name: Install packages
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.apt:
|
2019-09-23 22:18:52 +02:00
|
|
|
name: mongodb-org
|
|
|
|
update_cache: yes
|
|
|
|
state: present
|
2019-10-24 16:43:24 +02:00
|
|
|
register: _mongodb_install_package
|
|
|
|
|
|
|
|
- name: MongoDB service in enabled and started
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.systemd:
|
2019-10-24 16:43:24 +02:00
|
|
|
name: mongod
|
|
|
|
enabled: yes
|
|
|
|
state: started
|
2021-05-09 23:06:42 +02:00
|
|
|
when: _mongodb_install_package is changed
|
2019-09-23 22:18:52 +02:00
|
|
|
|
|
|
|
- name: install dependency for monitoring
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.apt:
|
2019-09-23 22:18:52 +02:00
|
|
|
name: python-pymongo
|
|
|
|
state: present
|
|
|
|
|
2019-10-24 15:36:51 +02:00
|
|
|
- name: Custom configuration
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.template:
|
2019-10-24 16:43:24 +02:00
|
|
|
src: mongodb_buster.conf.j2
|
2019-10-24 15:36:51 +02:00
|
|
|
dest: "/etc/mongod.conf"
|
|
|
|
force: "{{ mongodb_force_config | bool | ternary('yes', 'no') }}"
|
|
|
|
notify: restart mongod
|
|
|
|
|
|
|
|
- name: Configure logrotate
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.template:
|
2019-10-24 15:36:51 +02:00
|
|
|
src: logrotate_buster.j2
|
|
|
|
dest: /etc/logrotate.d/mongodb
|
2023-06-28 13:22:59 +02:00
|
|
|
force: true
|
2019-10-24 15:36:51 +02:00
|
|
|
backup: no
|
2020-07-17 13:48:18 +02:00
|
|
|
|
2023-03-20 23:33:19 +01:00
|
|
|
- ansible.builtin.include_role:
|
2021-10-05 15:48:57 +02:00
|
|
|
name: evolix/remount-usr
|
|
|
|
|
2021-05-19 16:17:08 +02:00
|
|
|
- name: Create plugin directory
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.file:
|
2021-05-19 16:17:08 +02:00
|
|
|
name: /usr/local/share/munin/
|
|
|
|
state: directory
|
|
|
|
mode: "0755"
|
|
|
|
|
|
|
|
- name: Create plugin directory
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.file:
|
2021-05-19 16:17:08 +02:00
|
|
|
name: /usr/local/share/munin/plugins/
|
|
|
|
state: directory
|
|
|
|
mode: "0755"
|
|
|
|
|
2020-07-17 13:48:18 +02:00
|
|
|
- name: Munin plugins are present
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.copy:
|
2020-07-17 13:48:18 +02:00
|
|
|
src: "munin/{{ item }}"
|
|
|
|
dest: '/usr/local/share/munin/plugins/{{ item }}'
|
2023-06-28 13:22:59 +02:00
|
|
|
force: true
|
2021-05-04 14:18:40 +02:00
|
|
|
loop:
|
2020-07-17 13:48:18 +02:00
|
|
|
- mongo_btree
|
|
|
|
- mongo_collections
|
|
|
|
- mongo_conn
|
|
|
|
- mongo_docs
|
|
|
|
- mongo_lock
|
|
|
|
- mongo_mem
|
|
|
|
- mongo_ops
|
|
|
|
- mongo_page_faults
|
|
|
|
notify: restart munin-node
|
|
|
|
|
|
|
|
- name: Enable core Munin plugins
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.file:
|
2020-07-17 13:48:18 +02:00
|
|
|
src: '/usr/local/share/munin/plugins/{{ item }}'
|
|
|
|
dest: /etc/munin/plugins/{{ item }}
|
|
|
|
state: link
|
2021-05-04 14:18:40 +02:00
|
|
|
loop:
|
2020-07-17 13:48:18 +02:00
|
|
|
- mongo_btree
|
|
|
|
- mongo_collections
|
|
|
|
- mongo_conn
|
|
|
|
- mongo_docs
|
|
|
|
- mongo_lock
|
|
|
|
- mongo_mem
|
|
|
|
- mongo_ops
|
|
|
|
- mongo_page_faults
|
|
|
|
notify: restart munin-node
|