Ansible - Write variable to config file -
we have redis configurations differs on port , maxmemory settings, i'm looking way write 'base' config file redis , replace port , maxmemory variables.
can ansible?
for such operations lineinfile module works best; example:
- name: ensure maxmemory set 2 mb lineinfile: dest: /path/to/redis.conf regexp: maxmemory line: maxmemory 2mb or change multiple lines in 1 task with_items:
- name: ensure redis parameters configured lineinfile: dest: /path/to/redis.conf regexp: "{{ item.line_to_match }}" line: "{{ item.line_to_configure }}" with_items: - { line_to_match: "line_to_match", line_to_configure: "maxmemory 2mb" } - { line_to_match: "port", line_to_configure: "port 4096" } or if want create base config, write in jinja2 , use template module:
vars: redis_maxmemory: 2mb redis_port: 4096 tasks: - name: ensure redis configured template: src: redis.conf.j2 dest: /path/to/redis.conf with redis.conf.j2 containing:
maxmemory {{ redis_maxmemory }} port {{ redis_port }}
Comments
Post a Comment