This yaml approach requires me to know a lot more about existing software than the bash script does. I will need to:
- Read up on the documentation for osxc or battle school
- Look at other configuration files to get a feel for what mine needs to look like.
- Learn about the differences between playbooks or recepies or what have you.
- Download some proprietary software that I will likely never use again.
This is all mental overhead to me.
In comparison, how do you create your own bash script? You already know how to do most of it. If not, just look at the script above. It doesn't require a genius to understand a simple bash function. This approach will take you at most, 5 minutes.
Or maybe I'm just not seeing some huge advantage of these large boxen-esque frameworks for installing some programs.
I tried to learn Puppet in combination with Vagrant for provision rather simple severs, and that was too hard (I had things to do). I then tried to learn Ansible, but didn't get very far. I ended up giving up and writing a shell script that has some simple reusable functions ("is this package installed, if not install it", "does this exact file exist, if not copy it over", etc)
I would rather use Ansible. It seemed like it would fit what I'm trying to do, but everything I can find seems geared towards multiple servers, rather than provisioning a VM and/or an AWS instance identically.
I think you've hit the nail right on the head. The added complexity of these tools, created ostensibly to simplify configuration, simply cannot accomplish what they set out to do by trading in one language for another.
The way my brain works, I’d rather update yaml files than debugging shell script. And because I obsess over this stuff anyway, osxc looks quite appealing.
Comments
This yaml approach requires me to know a lot more about existing software than the bash script does. I will need to:
- Read up on the documentation for osxc or battle school
- Look at other configuration files to get a feel for what mine needs to look like.
- Learn about the differences between playbooks or recepies or what have you.
- Download some proprietary software that I will likely never use again.
This is all mental overhead to me.
In comparison, how do you create your own bash script? You already know how to do most of it. If not, just look at the script above. It doesn't require a genius to understand a simple bash function. This approach will take you at most, 5 minutes.
Or maybe I'm just not seeing some huge advantage of these large boxen-esque frameworks for installing some programs.
I tried to learn Puppet in combination with Vagrant for provision rather simple severs, and that was too hard (I had things to do). I then tried to learn Ansible, but didn't get very far. I ended up giving up and writing a shell script that has some simple reusable functions ("is this package installed, if not install it", "does this exact file exist, if not copy it over", etc)
I would rather use Ansible. It seemed like it would fit what I'm trying to do, but everything I can find seems geared towards multiple servers, rather than provisioning a VM and/or an AWS instance identically.
Anyone got some good resources for it?
I think you've hit the nail right on the head. The added complexity of these tools, created ostensibly to simplify configuration, simply cannot accomplish what they set out to do by trading in one language for another.
The way my brain works, I’d rather update yaml files than debugging shell script. And because I obsess over this stuff anyway, osxc looks quite appealing.