15108 Commits

Author SHA1 Message Date
Chris Roberts
9ace68f424
Add known mapping for synced folders 2022-04-25 12:26:17 -05:00
Chris Roberts
53d15203f9
Remove any mapper setup in the initializer 2022-04-25 12:26:17 -05:00
Chris Roberts
1ffbe5c474
When inspecting the broker, don't show details 2022-04-25 12:26:17 -05:00
Paul Hinze
3baf8fba35
nix: Update mockery to most recent version
Keeping things pinned to the last released version should hopefully help
minimize comment churn (as each generated run outputs the version in the
comments).
2022-04-25 12:26:17 -05:00
Paul Hinze
142b1af0cc
Fix local exec pushes in server mode
The local-exec push strategy was assuming it was running from a CLI and
so it wouldn't be a big deal for it to straight up `exec` and replace
its running with the user command. That command will just do its thing
and we want the exit code for the CLI command to match anyways, right?

Sure that works for a shell, but in a GRPC server setting it's decidedly
Not Cool to suddenly swap out the running process!

As you can imagine - the effect of doing this was all sorts of broken
pipes and unexpected EOFs and a very confused @phinze.

Luckily we had a subprocess strategy sitting right there for Windows
compat, so it was just a matter of switching to that in the server
context as well. Long and winding debugging process; simple fix;
just another classic!
2022-04-25 12:26:17 -05:00
Chris Roberts
aa934f4436
Implement known type mappers directly 2022-04-25 12:26:17 -05:00
Chris Roberts
047a7f08d8
Replace auto-generated mappers with direct implementation of subset 2022-04-25 12:26:17 -05:00
Chris Roberts
64ebe30618
Remove string conversion to pathname 2022-04-25 12:26:17 -05:00
Chris Roberts
998432faee
Include source type when failed to reach destination 2022-04-25 12:26:17 -05:00
Chris Roberts
1e3547fdaa
Update log output and return immediately if type 2022-04-25 12:26:17 -05:00
Chris Roberts
6bdc7baf39
Update name from Types to Type 2022-04-25 12:26:16 -05:00
Chris Roberts
739b490f09
Make type common type and add boolean type 2022-04-25 12:26:16 -05:00
Paul Hinze
27225689b7
nix: Add libarchive so bsdtar is in scope
It's needed to successfully complete the full test suite
2022-04-25 12:26:16 -05:00
Chris Roberts
820118b481
Prevent GRPC connection in tests 2022-04-25 12:26:16 -05:00
Chris Roberts
1d0077b716
Fix indentation 2022-04-25 12:26:16 -05:00
Chris Roberts
3d5cc28d34
Bump the SDK 2022-04-25 12:26:16 -05:00
Chris Roberts
8c9b72d56e
Base log message splitting on overall size 2022-04-25 12:26:16 -05:00
Chris Roberts
d8e959c89f
Connect synced folder to client in _initialize method 2022-04-25 12:26:16 -05:00
Chris Roberts
d67aaff74a
Set the client using keyword for synced folder 2022-04-25 12:26:16 -05:00
Chris Roberts
8676b13363
Include broker when setting service info 2022-04-25 12:26:16 -05:00
Chris Roberts
c6feb89138
Remove mappers that output the same type as the input 2022-04-25 12:26:16 -05:00
Chris Roberts
e6a3e16b48
Remove from string mappers 2022-04-25 12:26:15 -05:00
Chris Roberts
72b8547cce
Generated proto updates 2022-04-25 12:26:15 -05:00
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