90 lines
2.0 KiB
YAML
90 lines
2.0 KiB
YAML
---
|
|
- name: create mongodb group
|
|
group:
|
|
name: "{{ mongodb_user }}"
|
|
state: present
|
|
|
|
- name: create mongodb user
|
|
user:
|
|
name: "{{ mongodb_user }}"
|
|
group: "{{ mongodb_user }}"
|
|
state: present
|
|
|
|
# Workaround because default(omit) is not working. At least in Ansible 2.8.
|
|
|
|
- name: set mongodb gid
|
|
group:
|
|
name: "{{ mongodb_user }}"
|
|
gid: "{{ mongodb_gid }}"
|
|
state: present
|
|
when: mongodb_gid is defined
|
|
|
|
- name: set mongodb uid
|
|
user:
|
|
name: "{{ mongodb_user }}"
|
|
uid: "{{ mongodb_uid }}"
|
|
group: "{{ mongodb_user }}"
|
|
state: present
|
|
when: mongodb_uid is defined
|
|
|
|
- name: Create keyFile
|
|
copy:
|
|
dest: "{{ mongodb_security_keyfile }}"
|
|
content: "{{ mongodb_keyfile_content }}"
|
|
owner: "{{ mongodb_user }}"
|
|
group: "root"
|
|
mode: 0600
|
|
when: mongodb_replication_replset | length > 0
|
|
|
|
- name: Create log dir if missing
|
|
file:
|
|
state: directory
|
|
recurse: true
|
|
dest: "{{ mongodb_systemlog_path|dirname }}"
|
|
owner: "{{ mongodb_user }}"
|
|
group: "{{ mongodb_user }}"
|
|
mode: 0755
|
|
when: mongodb_systemlog_destination == "file"
|
|
|
|
- name: Check than logfile exists
|
|
stat: path={{ mongodb_systemlog_path }}
|
|
register: logfile_stat
|
|
when: mongodb_systemlog_destination == "file"
|
|
|
|
- name: Create log if missing
|
|
file:
|
|
state: touch
|
|
dest: "{{ mongodb_systemlog_path }}"
|
|
owner: "{{ mongodb_user }}"
|
|
group: "{{ mongodb_user }}"
|
|
mode: 0755
|
|
when: ( mongodb_systemlog_destination == "file"
|
|
and logfile_stat is defined
|
|
and not logfile_stat.stat.exists )
|
|
|
|
- name: Ensure dbpath directory
|
|
file:
|
|
path: "{{ mongodb_storage_dbpath }}"
|
|
state: directory
|
|
owner: "{{ mongodb_user }}"
|
|
group: "{{ mongodb_user }}"
|
|
setype: 'mongod_var_lib_t'
|
|
recurse: true
|
|
follow: true
|
|
|
|
- name: Configure mongodb
|
|
template:
|
|
src: mongod.conf.j2
|
|
dest: /etc/mongod.conf
|
|
backup: true
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify:
|
|
- mongodb restart
|
|
- service started
|
|
- wait when mongodb is started
|
|
|
|
- name: Flush all handlers at this point
|
|
meta: flush_handlers
|