785 Commits

Author SHA1 Message Date
Chris Roberts
526c43a926 Use reference name for loading. Allow closes to happen automatically. 2022-06-20 13:04:21 -07:00
Chris Roberts
eee26ce5a0 Do not close individual plugins from manager 2022-06-20 13:02:35 -07:00
Chris Roberts
97c51a56cd Reorganize vagrantfile implementation, support provider overrides 2022-06-20 13:02:01 -07:00
Chris Roberts
f50f700e5c Update machine to use vagrantfile for synced folders 2022-06-20 13:01:13 -07:00
Chris Roberts
3e783b6074 Fix up project vagrantfile usage and target init 2022-06-20 13:00:42 -07:00
Chris Roberts
f564592651 Update target to use vagrantfile 2022-06-20 13:00:02 -07:00
Chris Roberts
ec531c5ace Optimize target loading from index 2022-06-20 12:58:22 -07:00
Chris Roberts
92667df091 Add cleanup to factory and close registered basis when closed 2022-06-20 12:56:56 -07:00
Chris Roberts
16d4145091 Only store a project after it has been fully initialized 2022-06-20 12:56:10 -07:00
Chris Roberts
f5f1fa7f0d Remove direct target loading from client for now 2022-06-20 12:55:38 -07:00
Chris Roberts
a0c78056d2 Add cleanup tasks individually 2022-06-20 12:55:18 -07:00
Chris Roberts
b5233bc86b Prepend closing the runner so data can still be saved 2022-06-20 12:54:39 -07:00
Chris Roberts
c698980afd Update client to use cleanup helper 2022-06-20 12:54:00 -07:00
Chris Roberts
21b17e1907 Add extra parsing functions and change result type 2022-06-15 12:50:59 -07:00
Chris Roberts
e262cd02ac Update Vagrantfile proto representation 2022-06-15 11:15:08 -07:00
Chris Roberts
67c374ddd2 Log value so it is used 2022-06-15 11:15:08 -07:00
Chris Roberts
ab34fddbc4 Remove automatic target initialization, update caching 2022-06-15 11:15:08 -07:00
Chris Roberts
e03058d9e8 Fix up synced folder collection generation 2022-06-15 11:15:04 -07:00
Chris Roberts
a262686f08 Fix up string format types 2022-06-15 11:14:07 -07:00
Chris Roberts
18190aab38 Load location stringer update 2022-06-15 11:14:07 -07:00
Chris Roberts
7e387b6d10 Update core scopes to use Vagrantfile 2022-06-15 11:13:40 -07:00
Chris Roberts
3a2b8bd733 Generated load location stringer file 2022-06-15 11:08:08 -07:00
Chris Roberts
95b25bfa1c Add vagrantfile implementation 2022-06-15 11:08:08 -07:00
Chris Roberts
2cb5dab953 Include ruby client when creating plugin manager 2022-06-15 11:08:08 -07:00
Chris Roberts
1134a4e5ed Update plugin manager loading. Add ruby client. 2022-06-15 11:08:03 -07:00
Chris Roberts
a8fd255f5b Update configuration type for target 2022-06-15 11:06:33 -07:00
Chris Roberts
fd113d0aca Remove vagrantfile related logic from operation 2022-06-15 11:06:33 -07:00
Chris Roberts
d6c562612d Update signature and add more vagrantfile loaders 2022-06-15 11:06:33 -07:00
Chris Roberts
255c75eeba Load Vagrantfile from the client 2022-06-15 10:55:00 -07:00
sophia
6e28e0856c Update timestamp whenever a box is updated 2022-06-10 15:05:34 -05:00
Paul Hinze
e829550ea7
Improve run operation error handling
There are some cases where the error that gets returned from scope.Run
is not a core.CommandError which results in a type mismatch panic. This
fixes that and wraps any generic errors into the proper response struct.
2022-06-10 11:14:14 -05:00
Paul Hinze
f2417e09a8
Merge pull request #284 from hashicorp/provider-options-bugfixes
Fix some bugs in provider options handling
2022-06-08 18:02:31 -05:00
Paul Hinze
71cc8ee7bb
Fix some bugs in provider options handling
- Defaultable needs to default to true when it's not specified
- We need to allow a non-defaultable provider to be selected if it shows
  up in the config
2022-06-08 17:25:16 -05:00
Paul Hinze
8b5d4b8631
Update and address protobuf package deprecations
These changes address the following warning showing up on `go get`
operations:

    go: module github.com/golang/protobuf is deprecated: Use the
    "google.golang.org/protobuf" module instead.

All changes are made using the recommendations in the per-function
deprecation notices from the docs at
https://pkg.go.dev/github.com/golang/protobuf/ptypes
2022-06-08 11:51:19 -05:00
sophia
0cdb63db58 Flush out http downloader 2022-06-08 10:30:46 -05:00
sophia
36081df049 Load filedownloader plugin 2022-06-08 10:30:46 -05:00
Paul Hinze
8b08b3117c
Use plugin options for Synced Folder priorities
Now that plugin options are available, we can use them to interpret
synced folder priorities and remove the shim we had in place.
2022-06-06 17:39:09 -05:00
Paul Hinze
8dbe72a5a0
Use Component Options to implement ProviderOptions
* Populates ComponentOptions into plugin structs
* Maps options for legacy Provider Plugins into PluginOptions
* Demos use of PluginOptions in a stub provider
* Honors plugin priority and defaultable settings
2022-06-03 16:37:05 -05:00
Paul Hinze
c60f82d22f
go generate w/ latest version of deps 2022-06-03 14:40:00 -05:00
sophia
194882214a Add machine readable bool endpoint to terminal ui 2022-05-31 15:47:47 -05:00
sophia
9ed92d2ab6 Recognize --machine-readable flag 2022-05-31 14:41:34 -05:00
sophia
079975fe2b Add machine readable flag 2022-05-31 10:09:35 -05:00
Paul Hinze
4d79c95177
Update tests and address one thing caught by them
Namely, the specified synced folder type should override the default type
2022-05-25 17:56:40 -05:00
Paul Hinze
25fcf61364
Sort synced folder plugins by priority and honor allowed setting
It turns out that synced folder plugins aren't returned in a consistent
order, which was causing all kinds of mayhem.

We can tone down that mayhem by implementing a shim of priority sorting
the plugins. This shim can be removed once we have proper priority
registration in the SDK.
2022-05-25 16:19:50 -05:00
Paul Hinze
88822f5a96
Override provider for all non-active targets
Instead of only targets with empty providers. This helps address a
problem that @soapy1 found in review where machines that failed to come
up would get stuck with the wrong provider.
2022-05-25 16:19:50 -05:00
Paul Hinze
823b6d366c
More conservative nil checking on WithProvider to prevent panics 2022-05-25 16:19:50 -05:00
sophia
8801e030b7
Get default synced folder type
(cherry picked from commit cd6baafb9238a58e992519e0576565d1a57bf8f5)
(but modified to work)
2022-05-25 16:19:50 -05:00
Paul Hinze
52ed086644
Change TargetIndex to only search by uuid
Note this reverses a change made in
https://github.com/hashicorp/vagrant-ruby/pull/180 to attempt to address
issues losing track of machines. Further testing is in order to verify
we haven't re-broken that, but after discussion we agreed this is the
correct behavior for the index.
2022-05-25 16:19:50 -05:00
Paul Hinze
06350a7afc
Port default provider selection
- Pulls in the SDK changes to Project.DefaultProvider and Project.Target
- Implements the hefty default provider method
- Un-hard-codes provider from Target, and sets it when a Target is
  looked up from a Project
2022-05-25 16:19:50 -05:00
Paul Hinze
9f9b3855b9
Remove unused GetDefaultProvider impl 2022-05-25 16:19:50 -05:00