56 Commits

Author SHA1 Message Date
sophia
d6a88f666f Add some docstrings and logging 2020-09-15 15:01:01 -05:00
sophia
0d1635303f Sperate hook for authenticating url and adding headers for authentication 2020-08-18 17:42:59 -05:00
sophia
b5f6df9ec0 Download a box by setting auth headers 2020-08-18 10:13:39 -05:00
Chris Roberts
5003bb6e15 Updates to address all Ruby deprecations and warnings
This includes updates for resolving all warnings provided by Ruby
for deprecations and/or removed methods. It also enables support
for Ruby 2.7 in the specification constraint as all 2.7 related
warnings are resolved with this changeset.
2020-08-10 13:05:41 -07:00
Chris Roberts
976320ec06 Limit automatic box outdated checks to once per hour 2018-11-01 09:45:11 -07:00
Seth Vargo
1b414d3d9e
That file has to exist 2016-05-29 00:18:33 -04:00
Seth Vargo
fb7c4033a9
Do not create a tempfile when downloading box metadata
The only reason we were using Tempfile was to generate the path. This
commit switches to using `Dir::Tmpname.create`, which accomplishes the
same thing without the overhead of creating and removing a tempfile.
2016-05-28 23:22:34 -04:00
Mitchell Hashimoto
1ccd91aada Merge pull request #4473 from rtkrruvinskiy/https_metadata
Add HTTPS download options to `box update` and `box outdated`
2015-11-19 16:16:48 -08:00
Mikhail Zholobov
079e06cd09 box/package: Take only files while packaging the new box
Fixes GH-5657
2015-04-30 16:08:18 +03:00
Ray Ruvinskiy
5a7e00c5b1 Add HTTPS download options to box update and box outdated
Vagrant::Box.load_metadata did not provide a way to specify the HTTPS
download options that could be specified when downloading boxes
(ca cert, ca path, client cert, insecure). As a result, while it was
possible to add a box whose metadata file needed to be downloaded with one of
those options specified, it was impossible to check for updates. The following
changes have been made to address the situation:

1. Create a DownloadMixins module to provide the --insecure, --cacert, --capth,
   and --cert command line options to all of `vagrant box add`,
   `vagrant box update`, and `vagrant box outdated`.
2. Extend `Vagrant::Box.has_update?` and `Vagrant::Box.load_metadata` to accept
   said download options.
3. Extend `box outdated` and `box update` commands to pass download options
   down.
4. Extend `Vagrant::Builtin::Action::BoxCheckOutdated` to honour download
   options.
5. Options specified on the command line take precedence over options specified
   in the machine configuration, if any.
6. Fix bug in `vagrant box add` where client cert was being passed down using
   the wrong environment key.
7. Unit test coverage in update_test and box_check_outdated_test.

Resolves #4420
2014-09-07 23:57:34 -04:00
Kalman Hazins
bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
1a08c4def5 core: Box#in_use? as an API 2014-04-25 02:02:49 -07:00
Mitchell Hashimoto
e05bfa979e core: remove temp file when done with box 2014-04-17 08:58:38 -07:00
Mitchell Hashimoto
0e46c5d9de core: Raise predictable error if box metadata downlaod fails 2014-04-05 09:20:03 -07:00
Mitchell Hashimoto
46a42eb9c2 core: when loading box metadata, specify JSON header 2014-02-07 10:51:57 -08:00
Mitchell Hashimoto
61a1082d65 core: BoxCheckOutdated is *much* simpler, unified logic, tests 2014-02-05 21:20:18 -08:00
Mitchell Hashimoto
f2509f5c65 commands/box: outdated command to find outdated boxes 2014-02-05 21:20:10 -08:00
Mitchell Hashimoto
bd9f375263 core: Box can store a metadata URL 2014-02-05 21:20:07 -08:00
Mitchell Hashimoto
d87c414327 core: Box has a version field 2014-02-05 21:19:10 -08:00
Mitchell Hashimoto
bf72c7cb5d core: human friendly error for corrupt box metadata 2013-11-23 11:54:42 -08:00
Mitchell Hashimoto
d1eccbf98f SafeChdir all the things for thread safety 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
9464796c6d Human friendly error when metadata.json is missing from a box 2013-03-15 11:12:50 -07:00
Mitchell Hashimoto
35aef1aa0b Use bsdtar to repackage boxes 2013-01-28 13:18:07 -08:00
Mitchell Hashimoto
cc076e5ee5 Box#repackage to repackage a box. 2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
da15105a8f Make Box2 the new Box
This involved defaulting all box searching at the moment to VirtualBox.
Additionally, box upgrading is not yet handled. This needs to be done at
some point.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
739d5ffb5f Lazy load attributes for runners. Get box repackage working. 2011-12-09 20:24:34 -08:00
Mitchell Hashimoto
d9321ed4d4 Box destroy works again 2011-12-09 18:06:34 -08:00
Mitchell Hashimoto
d92f3d8c6d Box add works again with new env stuff 2011-12-09 17:33:30 -08:00
Mitchell Hashimoto
daf711fd80 Separate Vagrant::Action into Runner and Registry 2011-12-09 14:22:03 -08:00
Mitchell Hashimoto
833dbf8fc4 Remove box dependence on env 2011-12-04 14:06:05 -08:00
Mitchell Hashimoto
7c7f5d48fe Don't need to call ".new" on raising exceptions 2010-12-21 20:04:21 -08:00
Mitchell Hashimoto
39407694e3 Validate only certain command sequences [closes GH-188] 2010-10-13 18:59:25 -07:00
Mitchell Hashimoto
3e54150f71 Box add checks if box exists before the download [closes GH-170] 2010-10-01 09:24:58 -07:00
Mitchell Hashimoto
c8d7e6601d YARD and some documentation 2010-09-22 09:43:30 -06:00
Mitchell Hashimoto
2026bb0b1c Remove unnecessary class methods on Box class. Move commands over to use "boxes" on env 2010-09-11 10:33:49 -07:00
Mitchell Hashimoto
761da0de63 Remove method calls to "Box.find" and remove method 2010-09-11 10:21:35 -07:00
Mitchell Hashimoto
fcf1116f27 vagrant box repackage can now take the typical --output and --include parameters 2010-07-28 20:30:16 -07:00
Mitchell Hashimoto
9895f93e1d Separate vagrantfile creation in packaging and actual packaging 2010-07-27 23:22:10 -07:00
Mitchell Hashimoto
d309f79fbc Get rid of unused ivar on Box 2010-07-11 09:26:57 -07:00
Mitchell Hashimoto
5d2e3d9f6f Box destroying middleware 2010-07-08 08:32:41 -07:00
Mitchell Hashimoto
f6a53ddff0 Box adding middleware, box add uses it now 2010-07-07 23:16:56 -07:00
Mitchell Hashimoto
91ae6178df Runner loggers now use their @runner.logger instead of "global" logger 2010-05-20 16:46:23 -07:00
Mitchell Hashimoto
d9308f86ec Boxes now properly use scoped Environment 2010-04-19 14:15:52 -07:00
Mitchell Hashimoto
1d518e2693 Box.find sets environment of found box 2010-03-20 01:04:56 -07:00
Mitchell Hashimoto
36648e7a12 Box#directory properly passes environment to class method 2010-03-20 00:52:28 -07:00
Mitchell Hashimoto
3504b1dbcb Boxes modified for use with environment 2010-03-19 22:29:59 -07:00
Mitchell Hashimoto
11780fb618 Converted Box class to use new environment 2010-03-19 21:31:43 -07:00
Mitchell Hashimoto
b5daf5ae86 vagrant down command and associated actions now use the new environment 2010-03-19 16:08:29 -07:00
Mitchell Hashimoto
59ae16998d Set the environment on the loaded box 2010-03-19 15:53:24 -07:00
Mitchell Hashimoto
efe98df4b0 Added vagrant box list command to list added boxes 2010-03-07 21:34:53 -08:00