Commit Graph

215 Commits

Author SHA1 Message Date
Chris Roberts 40f4e6f67e Vagrant Environment isolated plugins
Adds support for plugins isolated to a specific `Vagrant::Environment`
which can be managed by the vagrant plugin command using the the
--local flag.
2018-07-17 14:49:41 -07:00
Chris Roberts 87b8321702 Remove win32 dependencies 2018-06-12 13:54:37 -07:00
Chris Roberts d58096da31 Update plugin loading to prevent error suppression
Only catch exception types we care about when attempting to load
plugins. If no require call is successful, force an exception
instead of ignoring.
2018-05-08 13:47:31 -07:00
Chris Roberts 6ae1f4a2f6 Fix require for ffi-win32-extensions
Fixes #9698
2018-04-18 12:42:46 -07:00
Chris Roberts 9731720773 Update generated ssh private key file permissions on create
This updates the permissions on the automatically generated private
key file to only be readable by the user. Includes support for file
permission modification on Windows platform.
2018-04-10 14:15:14 -07:00
Chris Roberts f3c5e86f28
Merge pull request #9504 from zachflower/feature/vagrant-aliases
Vagrant aliases
2018-04-06 15:39:18 -07:00
Chris Roberts 8ac0fedbbb Suppress errors from invalid path encoding and carry on with best effort
Fixes #9299
2018-04-04 16:09:46 -07:00
Zachary Flower bbb3cdaa9a vagrant aliases proof-of-concept 2018-02-10 17:58:18 -07:00
Chris Roberts 522d503030 Use Ruby's resolver by default and allow replace to be disabled 2018-01-22 10:40:33 -08:00
Chris Roberts 6f663edad0 Scrub sensitive information prior to message output
This provides a simple wrapper around all output to
scrub any strings that have been registered as sensitive
before being output. Also included is a small change
to the initial debug output to only show vagrant specific
environment variables and not the full user environment.
2017-12-14 15:38:31 -08:00
Chris Roberts da42bfa8ac Provide optional timestamp on log output
Enable log message output to be prefixed with the date and time.
Include CLI flag to optionally enable `--timestamp` and a
convenience flag to enable debug logging with timestamps at
the same time `--debug-timestamp`.
2017-12-13 17:05:51 -08:00
Chris Roberts 564ed7456d Warn when failing to require plugin instead of hard failure 2017-03-22 16:40:42 -07:00
Chris Roberts 25a2bdd279 Prevent generating environment variables with invalid empty names 2017-01-12 15:12:41 -08:00
Chris Roberts 9717432920 Add logger output when plugin loading is disabled 2016-11-28 16:55:38 -08:00
Chris Roberts d87cf25ed2 Display original exception and backtraces in logger output 2016-11-28 07:48:16 -08:00
Chris Roberts 33c9d6183a Provide more log information about configured plugins 2016-11-16 13:17:38 -08:00
Chris Roberts e2d96f942f Provide nice error output when plugin initialization fails
Include extra logging during initialization to display error if encountered
and solution set prior to performing activations.
2016-11-15 15:50:39 -08:00
Chris Roberts 44d3aedc5b When bundler is in use, require `:plugins` group 2016-11-14 15:28:22 -08:00
Chris Roberts ea13988367 Properly support plugin auto-loading with logging information 2016-11-11 14:24:25 -08:00
Chris Roberts 36d88ee268 Track installed gem version and display in startup logger information 2016-11-07 20:16:46 -08:00
Chris Roberts 1f5dd35d16 Remove bundler where no longer required 2016-11-07 20:00:38 -08:00
Chris Roberts d5c5561302 Allow disable of user plugins if repair command is requested 2016-11-07 18:48:51 -08:00
Chris Roberts 1fb4553d14 [core] Remove bundler usage for plugin management 2016-11-07 18:48:51 -08:00
Mitchell Hashimoto 479323f1e8 for newer versions of Bundler, store the runtime 2015-07-09 22:12:47 -06:00
Seth Vargo d8d5a66fa5 Add a function to get to the "original" environment with Vagrant
This function only works when used with the official Vagrant installer.
2015-07-09 12:34:04 -06:00
Aneesh Agrawal 16ac4e2321 If plugins are disabled, report them as not available.
Allows usage of VAGRANT_NO_PLUGINS env var to disable plugins.

Fixes #5430.
2015-05-14 08:04:11 -04:00
mbrodala cca19f8241 Check plugin name with version spec in has_plugin
If one passes a version spec to `Vagrant.has_plugin?`, the actual plugin name is ignored and any installed plugin which matches the version spec makes the check pass. Fix this by also checking for plugin name match in addition to the requested version spec.
2015-01-20 08:37:22 +01:00
Seth Vargo 5b9240ad8a Add Push to the PLUGIN_COMPONENTS 2014-12-08 11:35:09 -08:00
Mitchell Hashimoto 2856df79ac core: Vagrant.has_plugin? can take version requirements [GH-4650] 2014-10-23 10:52:02 -07:00
Mitchell Hashimoto 8a6bdbf710 core: Environment#machine_index 2014-04-21 13:51:17 -07:00
Mitchell Hashimoto 7710fd16fa core: load system plugins if they are installed 2014-03-03 09:44:29 -08:00
Mitchell Hashimoto a667893cbf provisioners/shell: error if invalid encoding [GH-3000] 2014-02-23 21:50:53 -08:00
Mitchell Hashimoto 62028b2df3 core: log plugins and their versions
/cc tmatilai - Bundler makes it nice and easy.
2014-01-08 20:04:57 -08:00
Mitchell Hashimoto 7c995caae5 core: Catch plugin load errors and show them to the user ina friendly way 2014-01-08 14:45:43 -08:00
Mitchell Hashimoto 010874ffad core: has_plugin? uses the new plugin manager class to check for gems 2014-01-08 10:50:28 -08:00
Mitchell Hashimoto 04a5e6bcd2 core: Remove Vagrant::Hosts and add Vagrant::Host, a CapabilityHost 2014-01-07 18:34:19 -08:00
Mitchell Hashimoto 4f623f6422 Remove temporary line 2014-01-07 10:52:07 -08:00
Mitchell Hashimoto 73c71dbcc6 Work some things around so that Bundler is not setup with no plugins 2014-01-05 16:16:04 -08:00
Mitchell Hashimoto 8cfa24143d Put plugins in their own Gemfile group so we can load on their own 2014-01-05 15:57:10 -08:00
Mitchell Hashimoto 91751f6e41 load with bundler context 2014-01-05 15:26:44 -08:00
Mitchell Hashimoto 86610bf735 installing gems works 2014-01-05 14:54:50 -08:00
Mitchell Hashimoto 1eef75a715 commands/plugin: list uses PluginManager 2014-01-05 08:42:34 -08:00
Mitchell Hashimoto 8adef9c15f warn if running in a bundler env, don't load plugins 2014-01-04 16:29:22 -08:00
Mitchell Hashimoto f2c6175d16 Use bundler to load plugins 2014-01-04 16:15:12 -08:00
Mitchell Hashimoto 9333f550e5 style 2013-12-28 13:49:43 -07:00
Teemu Matilainen 42d156cce7 core: Log loaded plugin versions
One more piece of information to help support.
2013-12-23 18:23:30 -03:00
Teemu Matilainen e5032071f6 core: Vagrant.has_plugin? tries to match gem name first
Search primary from the list of gem names which have been loaded by
`Vagrant.require_plugin`. Fall back to matching registered plugin names.
2013-12-20 17:36:10 -03:00
Teemu Matilainen 8dbad22d72 core: list VAGRANT_* env vars in debug log
Help support and debugging by printing all `VAGRNAT_*` environment
variables that have been set by either user or Vagrant.
2013-12-18 00:07:17 -03:00
Mitchell Hashimoto 255608d9c5 core: note Ruby and RubyGems version in logs 2013-12-03 23:44:08 -08:00
Mitchell Hashimoto 9a58917d3a core: only set I18n setting on newer versions
/cc @fgrehm - Looks like only the later versions have this.
2013-12-03 18:43:19 -08:00