Giter Club home page Giter Club logo

Comments (8)

sneal avatar sneal commented on July 30, 2024

The hooks are a good idea. I have really minimal requirements, I just want to install: OS, OS patches, Chef, VMWare or VBox tools. In fact I'd rather not install Cygwin if I could.

from packer-windows.

joefitzgerald avatar joefitzgerald commented on July 30, 2024

Cygwin is a silly requirement because @mitchellh decided to write Packer in Go ;) Or said another way: Go has no WinRM library, because it has no WS-* library, because it has no SOAP library, because the Go community hates SOAP / has no interest in implementing anything with it (See: https://botbot.me/freenode/go-nuts/msg/4943492/, https://botbot.me/freenode/go-nuts/msg/4943637/, https://botbot.me/freenode/go-nuts/msg/4943655/, https://botbot.me/freenode/go-nuts/msg/4943756/ & actual civility here: https://botbot.me/freenode/go-nuts/msg/4943739/). For the record, I understand their frustration with SOAP and WS-*, but the attitude is unbecoming, but is typical of the community's attitude towards Windows. Such is life.

I believe @mitchellh is thinking of shelling out to a ruby-based helper to provide WinRM support in the future in a way that is consistent for both Packer and Vagrant.

Essentially we install Cygwin purely to allow Packer to say 'hello, world!' to know it can move on to run the shutdown command. We could register a script in the registry to ensure that on first boot, it's removed again. But if we want people to be able to work with Packer provisioners, Cygwin is essential.

from packer-windows.

dylanmei avatar dylanmei commented on July 30, 2024

Windows 2012 R2 is available now as a download from MSDN. It's quite likely that I will switch to it within weeks.

Joe, can I assume you want to drive the build with trollop and command-line options?

We could also use WinRM to remove Cygwin at end of the build after packer has done its thing.

from packer-windows.

joefitzgerald avatar joefitzgerald commented on July 30, 2024

That makes sense - Trollop or some equivalent would be fine, and we could use a Ruby templating engine to build the .json file.

I'm interested in moving to 2012 R2 also. Hopefully it'll drastically cut down the time to build the box due to a lack of Windows Updates to apply ;)

If we use WinRM to remove Cygwin at the end of the build it could get a little complex, as packer's final 'action' prior to packaging is to run the shutdown command, which requires SSH. Seems like an easier option would be to just throw a script in HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run so that Cygwin is removed on first boot of the box.

from packer-windows.

dylanmei avatar dylanmei commented on July 30, 2024

Ah now I'm following. If we have some canned scripts that others can mix-and-match, then it makes sense to provide one to help remove Cygwin on first boot. (Also, enable remote desktop, disable hibernation, etc...)

Otherwise you what, create a vagrant-windows post-processor? :/

from packer-windows.

joefitzgerald avatar joefitzgerald commented on July 30, 2024

... Or you wait for @mitchellh to create a Ruby helper that Packer calls to leverage WinRM, allowing us to avoid installing Cygwin in the first place.

from packer-windows.

joefitzgerald avatar joefitzgerald commented on July 30, 2024

Work on this will continue at https://github.com/joefitzgerald/inductor

from packer-windows.

sneal avatar sneal commented on July 30, 2024

Fixed by #200

from packer-windows.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.