ansible-role-mongodb/tasks/configure.yml

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