joefitzgerald / packer-windows

Windows Packer Templates
MIT License
1.63k stars 1.12k forks source link

Removes chef from default install #97

Closed kensykora closed 9 years ago

kensykora commented 10 years ago

It seemed odd to me that chef is included as a default provisioning tool in this project when there are optional scripts for others. Rather than taking a stance on what should be installed by default, it seems like we should simply let everyone choose what's right for them as a manual provisioning step to install their provisioner of choice.

So with that in mind, I propose we remove Chef as a default installed tool

joefitzgerald commented 10 years ago

The reason it is included is a simple one: when I started this repo, I was a heavy Chef user. And I wanted to be able to vagrant up And use the chef solo provisioner without any bootstrapping.

I do think there's value in having one of [chef, puppet, other] installed by default, but of course that creates a chicken and egg problem that varies by person and by use case.

joefitzgerald commented 10 years ago

Is there a way to use environment variables or something similar to determine which to use (chef, puppet, none, initially)? I'd like to avoid a scenario where EVERYBODY has to fork the repo or make changes to get the happy path working.

kensykora commented 10 years ago

I think that's a potentially larger discussion around how to setup this project to work with options to install various things. Given what you said, but the way this project is currently setup is really more of a template for producing a windows vagrant box than anything else. For instance, we delete the vbox/vmware output which prevents us from re-running packer against what we've already created. In my local installs I turn this off so that I can iterate on this to produce other images.

kensykora commented 10 years ago

I'm sure we could do something with environment variables and turning on/off certain provisioners that are included as optional scripts, but I'd like to treat that as a separate enhancement for now.

StefanScherer commented 10 years ago

Yes, there is a way to use variables with packer. There is an incredible project from Mischa Taylor and many contributors at box-cutter for many Linux platforms, but also for Windows boxes: https://github.com/box-cutter/windows-vm

In these projects you can specify your configuration management tool and some other things (like the path to the ISO and its checksum) with variables and the -var option of packer.

He also does some vagrant-serverspec tests which I have adopted to my boxes for a Jenkins based build pipeline.

kensykora commented 10 years ago

Yeah, it's definitely possible to do this with an environment variable, I'm just wondering if we should do it. Considering the goal of this project is a template for a windows build, we are basically expecting anyone who uses this project to customize it to some degree. If we go the environment variable route, we're really headed towards being a project completely parallel to box-cutter (which it kind of already is) and it makes me wonder what the long term road-map for this project looks like.