Author: Jay Language: text
Description: Re: Configuration Management Timestamp: 2018-01-16 18:06:14 +0000
View raw paste Reply
  1.  
  2. Wes,
  3.  
  4. I wanted to mention that I've been using Ansible to accomplish this, to great effect. I like Ansible because there is no agent requirement.
  5.  
  6. For me, I have configured Ansible to do everything. And I do mean EVERYTHING. For example:
  7.  
  8. It installs GNOME, sets up my wallpaper, applies my GTK/icon themes, sets up my keyboard shortcuts, etc. It also sets up my SSH keys, user dotfiles, OpenSSH config, and much more. Here's an example of my playbook for GNOME, so you can see the syntax:
  9.  
  10. https://pastebin.com/XdzzETuv
  11.  
  12. There are two ways of setting up Ansible. The first method is standard, you set up a central Ansible server, and curate a inventory list with a list of IP addresses. The second, is you set up a git repo for you Ansible playbooks, and then just git pull and run them against localhost.
  13.  
  14. I do the second method, because my laptop for example may or may not be online when an Ansible server goes to connect to it. I have a bootstrap script written in Bash, that installs Ansible, does the initial git pull, and then proceeds to provision the machine.
  15.  
  16. Then, any time I wish to synchronize my configs, I run the provision script again and it pulls the latest configs and applies them to the machine. I have several roles, including "workstation" and "server." Which role I put the machine in, determines which config it gets. My ansible playbooks are able to take an Ubuntu Minimal (CLI only) install all the way up to a working X environment with GNOME. I also have MATE and Openbox playbooks in case GNOME starts to bore me.
  17.  
  18. I can share any config examples you'd like to see, but it's very straight forward. Hopefully this inspires you.
View raw paste Reply