Skip to main content

Simplify Config Updates with Ansible's Lineinfile

Dorin Andrei DraganLess than 1 minutedevopsansibledevopsautomationcicd

Simplify Config Updates with Ansible's Lineinfile

Managing configuration files across servers can be tricky. Ansible's lineinfile module makes it easy to automate these changes while ensuring consistency and safety.

Quick Steps

  1. Define Variables: Create a dictionary with file path and configuration options:

    vars:
      app_cfg_file: /etc/app/app.cfg
      app_cfg:
        max_connections: 200
        timeout: 30
        log_level: "INFO"
    
  2. Update Configurations: Use lineinfile to modify the file:

    - name: Update config options
      lineinfile:
        path: "{{ app_cfg_file }}"
        regexp: "^{{ item.key }}="
        line: "{{ item.key }}={{ item.value }}"
        backup: yes
        insertbefore: BOF
      loop: "{{ app_cfg | dict2items }}"
    

Why Use It?

  • Idempotent: Only changes what's necessary.
  • Safe: Backups are timestamped for easy recovery.
  • Efficient: Automates tedious manual edits.

Conclusion

With lineinfile, automating consistent updates across servers becomes a breeze. Give it a try!