15117 Commits

Author SHA1 Message Date
Chris Roberts
b08ca1e109
Convert to pathnames on upload and download 2022-04-25 12:26:18 -05:00
Chris Roberts
2bf39a7dcf
If graph is not acyclic, break cycles before finding path 2022-04-25 12:26:18 -05:00
Chris Roberts
2f7a9c5a79
Add support for detecting and breaking cycles in graph 2022-04-25 12:26:18 -05:00
Chris Roberts
3cdac85d91
Allow nil values for input types 2022-04-25 12:26:18 -05:00
Chris Roberts
1256abc7b2
Fix synced folder plugin initialization in mapper 2022-04-25 12:26:18 -05:00
Chris Roberts
2a7e43d269
Fix value usage in the boolean mapper 2022-04-25 12:26:18 -05:00
Chris Roberts
43e5550203
Store the destination type so we can see it in the logs 2022-04-25 12:26:18 -05:00
Chris Roberts
2ff7d6a5bd
Allow value to be mapped to be nil 2022-04-25 12:26:18 -05:00
Chris Roberts
033dfba056
Fix known arguments value usage and do not allow adding nil values 2022-04-25 12:26:17 -05:00
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