README.md in vagrant-orchestrate-0.3.2 vs README.md in vagrant-orchestrate-0.4.0

- old
+ new

@@ -190,10 +190,38 @@ $ vagrant status Current machine states: local not created (virtualbox) ``` + +#### Credentials + +Vagrant orchestrate offers the capability to prompt for credentials from the command +line at the time of a push. You can initialize your Vagrantfile to declare this +by passing the `--credentials-prompt` flag to the `vagrant orchestrate init` command, +or add the following to your Vagrantfile. + +```ruby +Vagrant.configure("2") do |config| + + ... + + config.orchestrate.credentials do |creds| + creds.prompt = true + end +``` + +The credentials config object can accept one additional parameter, `file_path`. Setting +`creds.file_path = path/to/username_password.yaml` tells vagrant-orchestrate to +look for a file at the given path, and read from its :username and :password fields +('username' and 'password' are also accepted). Additionally, you can pass the username +and password in using the `VAGRANT_ORCHESTRATE_USERNAME` and `VAGRANT_ORCHESTRATE_PASSWORD` +environment variables. Environment variables take precedence over the file, and the file +takes precedence over the prompting. It is possible to set `prompt` to `false`, or leave +it unset, in which case only environment variables and the credentials file (if provided) +will be checked. + #### Puppet Experimental puppet templating support is available as well with the `--puppet` flag and associated options ```ruby @@ -224,20 +252,25 @@ ``` For a full list of init options, run `vagrant orchestrate init --help` ### Pushing changes -Go ahead and push changes to your managed servers, one at a time. Support for parallel deployments is planned. +Go ahead and push changes to your managed servers, in serial by default. $ vagrant orchestrate push -The push command is currently limited by convention to vagrant machines that start with the "managed-" prefix. So if you have other, local machines defined in the Vagrantfile, `vagrant orchestrate push` will not operate on those, but be cautioned that `vagrant up`, `provision` and `destroy` will by default. +The push command is currently limited by convention to vagrant machines that use the `:managed` provider. So if you have other, local machines defined in the Vagrantfile, `vagrant orchestrate push` will not operate on those. -You can run vagrant with increased verbosity if you run into problems +#### Deployment Strategy - $ vagrant orchestrate push --debug +Vagrant Orchestrate supports several deployment [strategies](docs/strategies.md), including parallel and +blue-green. +You can push changes to all of your servers in parallel with + + $ vagrant orchestrate push --strategy parallel + ## Filtering managed commands It can be easy to make mistakes such as rebooting production if you have managed long-lived servers as well as local VMs defined in your Vagrantfile. We add some protection with the `orchestrate.filter_managed_commands` configuration setting, which will cause up, provision, reload, and destroy commands to be ignored for servers with the managed provider. ```ruby config.orchestrate.filter_managed_commands = true @@ -252,9 +285,10 @@ merge that feature into downstream environments to avoid conflicts. ## Tips for Windows hosts * Need rsync? Install [OpenSSH](http://www.mls-software.com/opensshd.html) and then run this [script](https://github.com/joefitzgerald/packer-windows/blob/master/scripts/rsync.bat) to install rsync. Vagrant managed servers currently only works with cygwin based rsync implementations. +* If you're using winrm-s as your communicator, you'll need to configure it first on the target machine! Check out [the plugin readme](https://github.com/Cimpress-MCP/vagrant-winrm-s/blob/master/README.md#setting-up-your-server) for instructions on how to set this up. ## Contributing 1. Fork it ( https://github.com/Cimpress-MCP/vagrant-orchestrate/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`)