Chris Roberts
b10ff0d51d
Sort guest plugins before running detection
...
When detecting the machine guest, first sort the guest plugins
by the number of ancestors. This allows for returning on the
first match instead of requiring running the detection process
on every registered guest plugin.
2022-04-25 12:26:36 -05:00
sophia
6daa8d52a2
Remove code for avoiding duped synced folders in config
2022-04-25 12:26:34 -05:00
sophia
19f3d2f0b6
Refactor named plugin bits to apply to all components
2022-04-25 12:26:33 -05:00
sophia
153d218d68
Set plugin name
2022-04-25 12:26:32 -05:00
Chris Roberts
14fa44a449
Update to use command info from sdk
2022-04-25 12:26:32 -05:00
Chris Roberts
bf393065fa
Update guest and synced folder plugin loading to seed machine
2022-04-25 12:26:31 -05:00
sophia
896cdea21f
Delete machine from db
2022-04-25 12:26:23 -05:00
sophia
3dbd9286be
Merge targets with upserting
2022-04-25 12:26:23 -05:00
sophia
12de22a7db
Get machine state
2022-04-25 12:26:23 -05:00
sophia
8a39ee6960
Set target state in addition to machine state
2022-04-25 12:26:22 -05:00
sophia
5ed50277bd
Find target in index by uuid or name
2022-04-25 12:26:22 -05:00
Chris Roberts
3933632216
Update flag mappers to use generic component flag struct
2022-04-25 12:26:21 -05:00
Paul Hinze
92c345b42d
Allow go push plugins to use config from Vagrantfile
...
* Populate push configs when parsing the vagrantfile
* Allow untyped configs to be shipped over GRPC
* In our demo plugin, walk the vagrantfile and snag the config
Example Vagrantfile that works with the demo plugin:
```ruby
Vagrant.configure("2") do |config|
config.push.define "myplugin" do |push|
push.coolkey = "coolvalue"
push.alist = ["so", "many", "items"]
push.ahash = { "hashkey" => "hashvalue" }
end
end
```
2022-04-25 12:26:21 -05:00
sophia
aeda0ec039
Pass error status with job completion results
2022-04-25 12:26:20 -05:00
Chris Roberts
acb32d33f7
Get parent count directly from plugin
2022-04-25 12:26:14 -05:00
Chris Roberts
1155e7be21
Configure plugins and use plugin local functions
2022-04-25 12:26:14 -05:00
sophia
9ea254735a
Set target uuid opposed to resource id
...
The uuid is the public identifier vs the resource id which should
be for internal operations.
The target uuid should correspond to the machine id (given by
the provider)
2022-04-25 12:26:13 -05:00
sophia
63a4b76c21
Add tests for setting machine id
2022-04-25 12:26:13 -05:00
sophia
294293097c
Set empty machine id when destroying
2022-04-25 12:26:13 -05:00
Paul Hinze
2460961749
Switch to centralized VagrantCWD implementation
...
Now depends on https://github.com/hashicorp/vagrant-plugin-sdk/pull/104
2022-04-25 12:26:12 -05:00
sophia
ea680d78f7
Seed synced folder plugins with machine
2022-04-25 12:26:12 -05:00
sophia
a86bf277aa
Use guest specified in vagrantfile if available
2022-04-25 12:26:11 -05:00
sophia
31e57414b4
Destroy machine + remove data dir when machine id is set to empty value
2022-04-25 12:26:11 -05:00
sophia
ba1dd33fff
Include seeds in ruby communicator
2022-04-25 12:26:09 -05:00
sophia
d57203f005
Get ruby communincator upload working
2022-04-25 12:26:09 -05:00
sophia
85f7aa1586
Make go communincator plugin work
2022-04-25 12:26:09 -05:00
sophia
b6dfff9679
Implement communicate method for core.Target
2022-04-25 12:26:07 -05:00
sophia
3a43cd35cb
Don't use config if it doesn't exist yet
2022-04-25 12:26:06 -05:00
sophia
04591646a3
Use host from vagrantfile if defined
2022-04-25 12:26:06 -05:00
sophia
1fe695bdf3
Use Vagrantfile info to configure target box
2022-04-25 12:26:06 -05:00
sophia
36dbd73945
Add endpoint for accessing basis/project/target config
2022-04-25 12:26:06 -05:00
sophia
01bc9a8430
Remove unused config from basis
2022-04-25 12:26:06 -05:00
sophia
0153f75b09
Remove unused core components
2022-04-25 12:26:06 -05:00
Chris Roberts
6b37b7ba55
Add seed functions and seed before running
2022-04-25 12:26:05 -05:00
Chris Roberts
bd2d399951
Use function to get component type
2022-04-25 12:26:05 -05:00
sophia
f1dc606d11
Get plugins from basis
2022-04-25 12:26:04 -05:00
sophia
8f8b5d2078
Return synced folders plugin along with synced folder info
2022-04-25 12:26:04 -05:00
sophia
847d87a017
Get synced folder from machine
2022-04-25 12:26:04 -05:00
sophia
de996a6047
Move box loading to machine
2022-04-25 12:26:01 -05:00
sophia
d49944a25d
Only init targets when running a job scoped at the project or target
2022-04-25 12:26:01 -05:00
Chris Roberts
081fcad389
Update guest detection and parent loading in machine
2022-04-25 12:25:59 -05:00
Chris Roberts
a2147ed27f
Update basis ResourceId to match interface
2022-04-25 12:25:59 -05:00
Chris Roberts
22de22e199
Update parent counting when loading plugins
2022-04-25 12:25:59 -05:00
sophia
57afe56edd
Delete box directory if exists
2022-04-25 12:25:57 -05:00
sophia
b12393ce2c
Ensure metadataurl is set for box
2022-04-25 12:25:57 -05:00
sophia
cec195cecb
Remove boxes from db when deleting
2022-04-25 12:25:56 -05:00
sophia
559b160eb8
Use go getter to extract box files
2022-04-25 12:25:56 -05:00
sophia
d786649e03
Add box if not found in box collection
2022-04-25 12:25:55 -05:00
sophia
a233cbefbb
Add ability to add box
...
This only works for boxes being added as username/boxname from
vagrant cloud.
2022-04-25 12:25:55 -05:00
sophia
2dfb9b933e
Get boxes from project
2022-04-25 12:25:55 -05:00