audiolize / vagrant-softlayer

This is a Vagrant plugin that adds a SoftLayer provider to Vagrant, allowing Vagrant to control and provision SoftLayer CCI instances.
MIT License
42 stars 15 forks source link

[new feature] Enable post_install framework and Windows WinRM/Cygwin provisioning #29

Open ju2wheels opened 9 years ago

ju2wheels commented 9 years ago

Plan:

  1. Provide generalized scripts and instructions on creating custom post_install to select components wanted for the following services:
    • Windows Management Framework Normalization (brings older Win variants up to WinRM 2.0/Powershell 2.0, will be required for WinRM enablement to simplify automation due to the number of versions)
    • WinRM 2.0 w/HTTP (optional flags for AD cert based HTTPS and self signed HTTPS, have scripts and idea but not sure yet if it self signed will work in the end)
    • Cygwin (setup of Cygwin with cyg-apt for post build package management and optional flag for Cygwin Ports enablement and added package enablement)
    • vagrant-softlayer will be enhanced with an option to append selected SSH keys to API user_data and a post provision script will take this and config Cygwin ssh for the Admin user only.
    • provide the scripts for creating vagrant user for standard vagrant box but do not include it in the default post_install scripts, user will have to create their own and pull it in themselves and assume responsibility for shooting themselves in the foot security wise.
  2. The above creates a "pluggable" framework for post_install based on @lonniev bat script.
  3. It allows for the addition of alternative process scripts to be pluggable as well (ie pulling scripts from vagrant-softlayer followed by custom stuff like pulling internal scripts from private network to change admin password.
  4. Provide documentation on how to stand up a Linux box with private only network and httpd to house internal private post_install scripts (ie scripts to reset Windows Admin user to known password and add additional accounts) to assist in Windows provisioning:
    • should auto setup httpd, allow for rsync of post_install dir from Vagrant dir and copy those files into the web root.

In the end this should allow us a flexible means to do passwordless ssh and reset of WinRM password to something non random allowing better out of the box usage of ssh and WinRM.