ansible-role-mongodb/templates/mongod.conf.j2

62 lines
1.9 KiB
Django/Jinja

# {{ ansible_managed }}
net:
bindIp: {{ mongodb_net_bindip }}
{% if mongodb_major_version | version_compare("3.6", "<") -%}
http:
enabled: {{ mongodb_net_http_enabled | to_nice_json }}
{% endif -%}
ipv6: {{ mongodb_net_ipv6 | to_nice_json }}
maxIncomingConnections: {{ mongodb_net_maxconns }}
port: {{ mongodb_net_port }}
processManagement:
fork: {{ mongodb_processmanagement_fork | to_nice_json}}
{% if mongodb_pidfile_path is defined and mongodb_pidfile_path != '' -%}
pidFilePath: {{ mongodb_pidfile_path }}
{% endif %}
{% if mongodb_replication_replset -%}
replication:
oplogSizeMB: {{ mongodb_replication_oplogsize | int }}
replSetName: {{ mongodb_replication_replset }}
{% if mongodb_storage_engine == 'mmapv1' -%}
secondaryIndexPrefetch: {{ mongodb_replication_replindexprefetch }}
{% endif %}
{% endif %}
security:
authorization: {{ mongodb_security_authorization }}
{% if mongodb_replication_replset and mongodb_security_authorization == 'enabled' -%}
keyFile: {{ mongodb_security_keyfile }}
{% endif %}
storage:
dbPath: {{ mongodb_storage_dbpath }}
{% if mongodb_major_version | version_compare("3.0", ">=") -%}
engine: {{ mongodb_storage_engine }}
{% endif -%}
journal:
enabled: {{ mongodb_storage_journal_enabled | to_nice_json }}
{% if mongodb_storage_engine == 'mmapv1' -%}
mmapv1:
quota:
enforced: {{ mongodb_storage_quota_enforced | to_nice_json }}
maxFilesPerDB: {{ mongodb_storage_quota_maxfiles }}
smallFiles: {{ mongodb_storage_smallfiles | to_nice_json }}
{% endif %}
systemLog:
destination: {{ mongodb_systemlog_destination }}
{% if mongodb_systemlog_destination == 'file' -%}
logAppend: {{ mongodb_systemlog_logappend | to_nice_json }}
path: {{ mongodb_systemlog_path }}
{% endif %}
{% if mongodb_set_parameters -%}
setParameter:
{% for key, value in mongodb_set_parameters.items() -%}
{{ key }}: {{ value }}
{% endfor -%}
{% endif %}