15085 Commits

Author SHA1 Message Date
Chris Roberts
19d695cc78
Attempt to decode via JSON before failing 2022-04-25 12:26:15 -05:00
Chris Roberts
105c877551
Add a seed_protos helper method and remove debug logging 2022-04-25 12:26:15 -05:00
Chris Roberts
5c8f14041c
Update services to provide broker and use proper plugin manager 2022-04-25 12:26:15 -05:00
Chris Roberts
0989edb794
Update with_info to require broker and load plugin manager when available 2022-04-25 12:26:15 -05:00
Chris Roberts
0bb424c2df
Remove with_info method which is isolated to the module 2022-04-25 12:26:15 -05:00
Chris Roberts
de18081a35
Add mappers for host and plugin manager clients 2022-04-25 12:26:15 -05:00
Chris Roberts
3f7b7ee65a
Add mappers for loading command client 2022-04-25 12:26:15 -05:00
Chris Roberts
23c99b5806
Implement command and plugin manager clients 2022-04-25 12:26:15 -05:00
Chris Roberts
031890fcc7
Allow plugin manager to be swapped out for remote manager 2022-04-25 12:26:15 -05:00
Chris Roberts
23d0d9debb
Provide client using keyword argument for synced folder 2022-04-25 12:26:14 -05:00
Chris Roberts
fb2319f1e2
Implement remote plugin manager backed by vagrant go 2022-04-25 12:26:14 -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
Chris Roberts
b2c02428ae
Close plugin manager when closing runner 2022-04-25 12:26:14 -05:00
Chris Roberts
9f320145ff
Add support for custom component configuration 2022-04-25 12:26:14 -05:00
Chris Roberts
20a3f4d85c
Provide core.PluginManager implementation and server setup 2022-04-25 12:26:14 -05:00
Chris Roberts
27d0fee45f
Define plugin interfaces in plugin. Load parent from plugin.
Also applies registered configurations from the plugin
    manager when providing a requested component type.
2022-04-25 12:26:14 -05:00
Chris Roberts
b2dec1191a
Remove interfaces and add extra info to instance 2022-04-25 12:26:14 -05:00
sophia
1db38e65f8
Setup remote plugin manager when in server mode 2022-04-25 12:26:14 -05:00
sophia
94a203efc9
Inject dummy client into remote synced folders 2022-04-25 12:26:14 -05:00
sophia
05bbd9ec50
Use v2 manager to seed ruby plugins for remote manager 2022-04-25 12:26:13 -05:00
sophia
78fbd12da9
Use remote plugin manager when in server mode 2022-04-25 12:26:13 -05:00
sophia
d5007d4d85
Use remote plugin module when in server mode 2022-04-25 12:26:13 -05:00
sophia
e951c4d971
Add remote plugin manager 2022-04-25 12:26:13 -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
90033b9b68
Only prepend remote mixin synced folders when running in remote mode 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
sophia
a3c3bb9cf1
Add mappers for synced folder client -> vagrant synced folder 2022-04-25 12:26:13 -05:00
sophia
4bb170fba3
Bump sdk 2022-04-25 12:26:13 -05:00
sophia
7a75ed6cbb
Get stdout and stderr from privledged execute 2022-04-25 12:26:13 -05:00
sophia
88e1e5c1a7
Map ouput of capabilities 2022-04-25 12:26:12 -05:00
sophia
8e85561f61
Get stdout and stderr from command 2022-04-25 12:26:12 -05:00
sophia
c63e7936b2
go generate 2022-04-25 12:26:12 -05:00
Paul Hinze
d89248e901
Update vagrant-plugin-sdk
Should pick up new CWD helper from https://github.com/hashicorp/vagrant-plugin-sdk/pull/104
2022-04-25 12:26:12 -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
Paul Hinze
9bda64f78d
Handle crossplatform path discrepancy in CWD test 2022-04-25 12:26:12 -05:00
Paul Hinze
30774c7345
Fix VAGRANT_CWD handling
VAGRANT_CWD was not being honored in the Go-side Vagrantfile-finding
code. Add that in and also fix a couple of bugs in the path walking
logic.
2022-04-25 12:26:12 -05:00
sophia
1aabc7c4b5
Add mapper for a Class to String 2022-04-25 12:26:12 -05:00
sophia
f33e949138
Get a machine as defult synced folder arg 2022-04-25 12:26:12 -05:00
sophia
8e0f42ec17
Add mapper for synced folder client to proto 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
a18fb54ca6
Include seeds and default args for synced folder plugins 2022-04-25 12:26:11 -05:00
sophia
04a6f762af
Make synced folder mapping work 2022-04-25 12:26:11 -05:00
Paul Hinze
c1c215e84e
Round out service tests
* Add tests for service Target and catch a panic
 * Add skipped stub test for Task w/ a note for future us
2022-04-25 12:26:11 -05:00
Paul Hinze
72c72c4f53
Test for server config service
Pretty simple stuff. Also renaming file to match service name
2022-04-25 12:26:11 -05:00
Paul Hinze
e7533103e8
Tests for service project & a small panic guard
Tests helped flush out that we would panic if a project was attempting
to be created without a basis.

Sometimes tests help!
2022-04-25 12:26:11 -05:00
sophia
a86bf277aa
Use guest specified in vagrantfile if available 2022-04-25 12:26:11 -05:00
sophia
eddc9d916e
Return empty result when deleting target 2022-04-25 12:26:11 -05:00
sophia
3c20f826ea
Don't send nil machine id value 2022-04-25 12:26:11 -05:00