Commit Graph

335 Commits

Author SHA1 Message Date
Mitchell Hashimoto 61ffa53134 kernel/v2: boxes can be optional if a provider says so
/cc @fgrehm - For the DOcker provider, we can now make boxes optional. :)
No more dummy boxes!
2014-04-21 13:53:03 -07:00
Mitchell Hashimoto 316aaa69fe kernel/v2: box setting should be new-style 2014-04-21 13:53:01 -07:00
Mitchell Hashimoto 485422640e core: delete the preserve_order option so it doesn't invalidate 2014-04-21 13:52:31 -07:00
Mitchell Hashimoto aad8e7f80d core: provision "once" or "always" [GH-2421] 2014-04-21 13:52:30 -07:00
Mitchell Hashimoto f6fb9016a1 core: can specify a "post_up_message" [GH-1968] 2014-04-21 13:52:28 -07:00
Mitchell Hashimoto 40d89cf5ea kernel/v2: configurable communicator (doesn't do anything yet) 2014-04-21 13:51:01 -07:00
Mitchell Hashimoto 20473fe4ca core: allow overriding default SSH port [GH-3474] 2014-04-15 10:37:08 -07:00
Mitchell Hashimoto 541ebd8935 kernel/v2: clear ID field so its not passed to provisioner [GH-3424] 2014-04-10 08:42:11 -07:00
Mitchell Hashimoto d1caf8c624 core: Allow direct box adding again 2014-04-02 19:45:49 -07:00
Mitchell Hashimoto 3302bd535f kernel/v2: check if type is set before validation 2014-04-02 15:19:36 -07:00
Mitchell Hashimoto 84f7c019f9 kernel/v2: allow private network type to be a string [GH-3349] 2014-04-01 21:57:23 -07:00
Paulo Bittencourt 1f694d4978 kernel/v2: allow provisioner plugins to register without config 2014-03-19 17:37:52 -04:00
Mitchell Hashimoto 012c28606f kernel/v2: validate forwarded ports [GH-3187] 2014-03-13 08:32:05 -07:00
Mitchell Hashimoto 75dcc828ad kernel/v2: fix error where options could be not hash 2014-02-18 10:41:14 -08:00
Mitchell Hashimoto 12b2572687 kernel/v2: capture error if provider config is bad [GH-2959] 2014-02-11 11:55:04 -08:00
Mitchell Hashimoto 848fe5d166 kernel/v2: check for box updates by default
/cc @pearkes @armon
2014-02-05 21:20:33 -08:00
Mitchell Hashimoto b5157df2cc core: BoxCheckOutdated only runs if told to 2014-02-05 21:20:14 -08:00
Mitchell Hashimoto d40ff9c390 kernel_v2: test for box_url 2014-02-05 21:20:01 -08:00
Mitchell Hashimoto b2fa785d07 core: Environment loads proper version of box 2014-02-05 21:19:51 -08:00
Mitchell Hashimoto 5030a16f84 kernel/v2: default all configs properly, remove config/default.rb 2014-02-05 15:36:35 -08:00
Teemu Matilainen ca56c913aa kernel/v2: fix provisioner config with blocks
Regression from 10d5416.
2014-02-04 00:51:01 -03:00
Mitchell Hashimoto feeaa69615 kernel/v2: finalize the provisioner configs 2014-02-03 22:28:41 +01:00
Mitchell Hashimoto 2cc56119b7 kernel/v2: support the preserve_order option (documented) 2014-02-03 22:03:20 +01:00
Mitchell Hashimoto 3aaa57cac9 kernel/v2: support merging properly 2014-02-03 21:30:01 +01:00
Mitchell Hashimoto 10d5416a90 kernel/v2: support overriding provisioner settings 2014-02-03 16:56:39 +01:00
Mitchell Hashimoto ac439852ff kernel/v2: allow IPs to end in ".1" [GH-2914] 2014-02-03 12:02:14 +01:00
Fabio Rehm dd9d20af88 Make sure synced folder types are always symbols
This will make sure that plugins that define synced folders after this
config object has been finalized won't have trouble because of
forgetting to use symbols instead of strings.

References https://github.com/fgrehm/vagrant-cachier/issues/76
2014-02-01 16:01:05 -02:00
Mitchell Hashimoto e2af545182 kernel/v2: a host always exists, remove dumb check 2014-01-07 21:20:28 -08:00
Mitchell Hashimoto bdb88da743 hosts/bsd: convert to new style 2014-01-07 20:39:24 -08:00
Mitchell Hashimoto 93e365bb33 core: Vagrant::Environment uses new host settings 2014-01-07 19:11:08 -08:00
Mitchell Hashimoto b3a9e6a088 insert_public_key cap, and use that if it exists 2014-01-03 11:13:21 -08:00
Mitchell Hashimoto e115322e78 core: accept passwords in ssh_info 2014-01-03 09:48:35 -08:00
Mitchell Hashimoto e83070371d kernel/v2: fix validation on checksum types 2013-12-03 18:46:22 -08:00
Mitchell Hashimoto 72edddbb09 core: do proper type conversions for box checksum types 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto 555f4c7dcf kernel/v2: support checksum on box config 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto db9c8dd6b3 core: validate box_download_ca_cert_file, expand 2013-11-26 21:10:33 -08:00
Mitchell Hashimoto d0f14250d6 core: can specify config.vm.box_download_ca_cert 2013-11-26 19:35:04 -08:00
Mitchell Hashimoto d7b74ca8b9 core: config.vm.box_url can be array of urls [GH-1958] 2013-11-25 21:57:20 -08:00
Mitchell Hashimoto d88e3dcff2 kernel/v2: new style default box url 2013-11-25 18:46:54 -08:00
Mitchell Hashimoto 7d1fe7c6fe kernel/v2: properly set default value for client cert 2013-11-25 16:51:22 -08:00
Mitchell Hashimoto 13b52f6b6e Merge branch 'client-certs' of https://github.com/sthulb/vagrant into sthulb-client-certs
Conflicts:
	config/default.rb
	lib/vagrant/action/builtin/handle_box_url.rb
	plugins/commands/box/command/add.rb
2013-11-25 16:50:11 -08:00
Mitchell Hashimoto 45e09eb677 core: allow multiple private keys [GH-907] 2013-11-25 15:45:39 -08:00
Mitchell Hashimoto 6baab10df4 communicators/ssh: pty can be enabled 2013-11-24 16:48:07 -08:00
Mitchell Hashimoto 0425d1712b synced_folders/nfs: config goes here 2013-11-23 10:49:51 -08:00
Mitchell Hashimoto 850c9ea7a6 kernel: handle new NFS types 2013-11-22 17:22:47 -08:00
Sam Gronblom 9a7ca06cfa Disallow dot and hyphen as first character of hostnames
- Causes hostname to be set to an invalid value on some systems which
  also causes malfunction of hostname -f so it cannot be changed
2013-10-10 14:42:48 +09:00
Mitchell Hashimoto 5e468dd110 core: Convert FP ports to ints [GH-2173] 2013-09-15 17:29:49 -07:00
Mitchell Hashimoto 1769fbcba8 core: dup option hashes everywhere 2013-09-05 14:26:53 -07:00
Mitchell Hashimoto 0b94ed44b7 core: dup the synced folder options [GH-2134] 2013-09-05 14:25:38 -07:00
Mitchell Hashimoto 4c35f6d071 core: exec with the proxy command if specified 2013-09-04 17:23:43 -07:00
Mitchell Hashimoto 763bdc42f4 Merge pull request #1537 from wormzer/master
communicator/ssh: Additional proxy_command option
2013-09-04 17:18:59 -07:00
Mitchell Hashimoto df02ddb68c core: note backwards incompat in code 2013-09-01 12:27:15 -07:00
Mitchell Hashimoto e5b35d1c83 core: support "mount_options" for arbitrary mount options [GH-1029] 2013-09-01 12:25:21 -07:00
Mitchell Hashimoto 5a4c06f75e core: config.ssh.timeout => config.vm.boot_timeout 2013-08-29 16:41:36 -07:00
Mitchell Hashimoto c38fadfd2f core: config.vm.graceful_halt_timeout to specify graceful halt timeout 2013-08-29 16:38:02 -07:00
Mitchell Hashimoto 261d0ef6cd core: WaitForCommunicator - more robust wait for boot
This is a new built-in middleware that is more robust for
waiting for boots. The "max_tries" configuration is now gone, it is
timeout based. Future commits will make this even better as the
SSH communicator will implement the new "wait_for_ready" in a better
way.
2013-08-29 16:27:00 -07:00
Mitchell Hashimoto 0e9711d0dd kernel: config.vm.host_name works again 2013-08-28 17:17:07 -07:00
Mitchell Hashimoto 29aab20a9d core: nitpick the protocol forwarded port checking 2013-08-28 16:32:47 -07:00
Michael Lex 172a5dac5a allow port-forwarding of the same port number but with different protocols [GH-1108] 2013-08-16 12:10:03 +02:00
Mitchell Hashimoto 2282a88f3d Convert config.vm.hostname to string [GH-1999] 2013-07-28 12:08:49 -07:00
Mitchell Hashimoto aeb1fa7ecb unnecessary '!' 2013-07-27 22:21:37 -07:00
Mitchell Hashimoto 632349710e Convert hostpath to string on windows so gsub works 2013-07-27 22:20:55 -07:00
Mitchell Hashimoto fc7c8b1e99 Replace '\' with '/' on synced folders on Windows 2013-07-23 17:36:48 -05:00
Mitchell Hashimoto 2d16588952 Validation so private network IP doesn't end in .1 [GH-1750] 2013-07-20 00:43:42 -04:00
Mitchell Hashimoto b2d1a26dcf NFS request is silently ignored on Windows [GH-1748] 2013-07-20 00:38:58 -04:00
Mitchell Hashimoto af66f5f930 box_download_insecure to not validate https of box_url [GH-1712] 2013-07-20 00:18:02 -04:00
Mitchell Hashimoto 7fd363a2f4 Shared folder target path can be a Windows path [GH-1688] 2013-07-20 00:00:49 -04:00
Mitchell Hashimoto 04afd11fd1 Shared folder inheritence doesn't overwrite multi-vm [GH-1935] 2013-07-17 23:18:39 -04:00
Simon Thulbourn ea9fde9433 Merge branch 'master' into client-certs 2013-07-02 09:29:39 +01:00
Mitchell Hashimoto cf2f6da4db Validate an IP is given for a private network [GH-1788] 2013-06-09 13:46:46 -07:00
Mitchell Hashimoto 80f06605fb config.vm.guest now forces guest setting again [GH-1800] 2013-06-09 13:17:23 -07:00
Simon Thulbourn 97f9206787 adds accessor for client_cert 2013-05-23 14:44:52 +01:00
Mitchell Hashimoto 9dd582be3a Compile the provider overrides early so config caching works 2013-04-19 23:16:09 -06:00
Mitchell Hashimoto e64696e839 Automatically override forwarded ports if host ports match 2013-04-10 15:37:04 -07:00
Mitchell Hashimoto f48587bcd1 Shared folders with the same guest path overwrite each other 2013-04-10 10:44:53 -07:00
Mitchell Hashimoto 5690aef4b0 Don't duplicate names when defining new machines in VFile 2013-04-09 19:05:35 -07:00
Mitchell Hashimoto 41d6553a5d Don't allow the forward_* SSH option sto be default, no sense 2013-04-08 21:03:51 -07:00
Mitchell Hashimoto d03938e3c1 config.ssh properly overrides provder-detected [GH-1479] 2013-04-08 20:50:15 -07:00
Mitchell Hashimoto 7fa9892b75 Send SSH keep-alive packets [GH-516] 2013-04-07 21:51:14 -07:00
Mitchell Hashimoto 4ffc2c3b74 Invalid configuration keys are caught and shown in user friendly way
[GH-1484]
2013-04-03 16:18:37 -07:00
Mitchell Hashimoto 52a2f48b20 Provider-specific configuration overrides via 2nd block param
Example:

Vagrant.configure("2") do |config|
  # ...

  config.vm.provider :virtualbox do |p, vb_config|
    vb_config.vm.box = "virtualbox_box"
  end
end
2013-04-03 14:57:14 -07:00
Matt Wormley 00c9f2c973 added ssh.proxy_command to handle waiting for aws ssh connection when ssh proxy in place. use config.ssh.proxy_command = "ssh -q <user>@<proxy_host> nc %h %p" 2013-04-03 13:54:47 -07:00
Mitchell Hashimoto 749b7b7d70 Update SSH config to be more modern 2013-04-03 12:49:59 -07:00
Mitchell Hashimoto 0f0c0b0396 Add max redirects for download 2013-04-03 12:01:12 -07:00
Mitchell Hashimoto 5e2549fe8b Add "--insecure" flag for downloader 2013-04-03 11:57:40 -07:00
Mitchell Hashimoto a8a7a7865d Show an error if an invalid network type is used 2013-04-02 15:00:18 -07:00
Mitchell Hashimoto 7e1c313ff5 Properly detect in valid provisioners 2013-03-30 14:39:29 -07:00
Mitchell Hashimoto 40250843b3 More comprehensive synced folder validation [GH-1499] 2013-03-29 12:45:44 -07:00
Mitchell Hashimoto 361cc1ae40 Proper error message if invalid provisioner is used [GH-1515] 2013-03-28 15:38:32 -07:00
Mitchell Hashimoto 9a29cecfdf Turn network, provider, and provisioner names into symbols if not 2013-03-15 22:14:04 -07:00
Mitchell Hashimoto 6e7427ca4d Error if forwarded port with same host port is declared multiple times 2013-03-15 22:11:49 -07:00
Fabio Rehm dacd8be306 Auto remove trailing slashes from synced folders default ids
VirtualBox provider was having a hard time mounting the folders down
here.
2013-03-09 18:15:17 -03:00
Mitchell Hashimoto 98a9b47567 Validate the hostname setting 2013-03-09 10:07:55 -08:00
Mitchell Hashimoto ad0e6deb3e Better handling of merging sub-vms 2013-03-08 21:30:09 -08:00
Mitchell Hashimoto 2431fe73b8 config.ssh.password is not used 2013-03-02 15:47:58 -08:00
Mitchell Hashimoto c80ad12336 Validate forwarded ports 2013-03-01 17:20:31 -08:00
Mitchell Hashimoto 1f2856bdf3 Default the proper hostname for config 2013-03-01 17:12:17 -08:00
Mitchell Hashimoto 3726f8d8de Properly use new networks for built-in SSH 2013-03-01 17:07:31 -08:00
Mitchell Hashimoto c586999a0b Properly scope network configs by type 2013-03-01 17:02:53 -08:00
Mitchell Hashimoto d07810af58 Properly merge networks 2013-03-01 16:49:06 -08:00
Mitchell Hashimoto 58871853f5 Hashes for all the networks 2013-03-01 16:31:54 -08:00
Mitchell Hashimoto 934238bba0 Rename config.vm.host_name to config.vm.hostname for V2 2013-02-27 21:29:11 -08:00
Mitchell Hashimoto 5d82123da9 VirtualBox should use the new port forwarding collision detection stuff 2013-02-26 13:38:00 -08:00
Mitchell Hashimoto 455845d591 Merging networks works again 2013-02-18 17:14:25 -08:00
Mitchell Hashimoto 7d32c75141 Remove V2 forwarded ports config because it is unused 2013-02-18 17:14:25 -08:00
Mitchell Hashimoto 6afb4326fa Move NFS to a built-in middleware 2013-02-08 15:34:04 -08:00
Mitchell Hashimoto a09c72d84e Properly default provider configs if not specified 2013-02-05 21:33:00 -08:00
Mitchell Hashimoto 79beefdb0a Do proper provider configuration merging 2013-02-05 12:22:00 -08:00
Mitchell Hashimoto 2eeccf085b Refactor the provider config a bit to allow multiple blocks 2013-02-05 12:08:17 -08:00
Mitchell Hashimoto 9156be0f84 Use the proper config version in config.vm.define calls 2013-01-30 19:24:09 -08:00
Mitchell Hashimoto eed24a08e3 Typo in setting up synced folders 2013-01-28 15:57:13 -08:00
Mitchell Hashimoto 9cb86706b8 Make all the VirtualBox middleware aware of synced folders 2013-01-23 09:42:19 -08:00
Mitchell Hashimoto 4059a4ba2f Define synced_folders on V2 vm config 2013-01-23 09:21:49 -08:00
Mitchell Hashimoto 1bf08f70d6 Add the new graceful_halt settings to `config.vm` 2013-01-22 11:37:49 -08:00
Mitchell Hashimoto 58eac7117b Only merge provider/provisioner errors if they exist 2013-01-18 13:36:12 -08:00
Mitchell Hashimoto d64c164727 VM configuration only validates the active provider 2013-01-18 13:33:02 -08:00
Mitchell Hashimoto 515ed8f119 Validate providers and provisioners! 2013-01-18 12:56:19 -08:00
Mitchell Hashimoto 3f3c7027aa Machine objects are passed into validate instead of env 2013-01-18 12:43:53 -08:00
Mitchell Hashimoto 3e9e422ce0 Convert existing validate methods to new API for kernel 2013-01-18 12:33:37 -08:00
Mitchell Hashimoto cf2cca3b7c Revamp the configuration internal state for defining provisioners 2013-01-13 16:02:48 -08:00
Mitchell Hashimoto 212e634c3b Make Provision a built-in action.
This allows other providers to just use it.
2013-01-12 16:22:37 -08:00
Mitchell Hashimoto 7e5f175d2c Check port collisions now uses the new high-level networking 2013-01-11 14:44:27 -08:00
Mitchell Hashimoto a2cf0270a3 Remove network validation on config. We'll re-add this later. 2013-01-04 16:13:02 -10:00
Mitchell Hashimoto 5c950d8200 Remove old `forward_port` method for configuration. Use `network` 2013-01-04 15:48:54 -10:00
Mitchell Hashimoto cd969e1e05 Remove the dotfile_name configuration option.
The dotfile is gone now so the configuration option is obselete
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto d54d58c09c Call `finalize!` properly on provider configurations 2012-12-26 21:44:43 -08:00
Mitchell Hashimoto 54a2f6b89e Change boot_mode to a provider config `gui`.
OLD:

config.vm.boot_mode = :gui

NEW:

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end
2012-12-25 09:00:06 -08:00
Mitchell Hashimoto e88d735cb6 Make configured VM providers default to an empty one 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto 553d4a828a Make sure provider config is always available even if no block was given 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto 6478139cee Move config.vm.customize to VirtualBox specific option 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto 1ee470a551 Begin work on supporting provider-specific configuration
This works by registering a `config` with `:provider => true` with the
same name as your provider. Vagrant will then automatically configure
the provider when `config.vm.provider` is used.
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto b6c6614fd8 Basic upgrade support for the `vm` config settings. VERY basic. 2012-12-23 16:29:24 -08:00
Mitchell Hashimoto 67855be77b Add the Environment#machine method
This will eventually replace the Environment#vms method. Because of the
introduction of providers, the environment doesn't know what the backing
of the machines will be (and they're _machines_ now, not _vms_).
Instead, users of Environment will now call `#machine` on the
environment to retrieve a machine with the given backing provider as it
needs it.
2012-11-07 21:45:09 -08:00
Mitchell Hashimoto 83e99bbe4e config.vm.provider (although it doesn't do anything yet) 2012-11-07 20:38:41 -08:00
Mitchell Hashimoto d254d6f718 Configure the V2 kernel. 2012-11-06 21:28:44 -08:00