What happens if we want to update a configuration? If we only rely to the simple-cdd way, we are going to rebuild the iso and reinstall our VMs, which is not we always want to do.
In my case, I have found many tools able to achieve this goal. Chef, PuppetLabs are just two of those. Do you really want to use something you need to learn? Do you have the time to learn something new just to provision your machines once? Not me. Thank you.
All of us known git and bash, so we are going to use both, hurray!
Simple profile.postinst content for simple-cdd. We can also do by hand this configuration.
git clone email@example.com:your-name-here/server-bootstrap.git /var/bootstrap
chmod 700 /var/bootstrap
# prepare rc.local
# update repo with bootstrap file
git reset --hard
git pull origin master
" > /etc/rc.local
# executable only from root, not visible to anyone else
chmod 100 /etc/rc.local
As you can see, we are writing a rc.local able to update the files at boot time. This allow the machine to auto update with a reboot.