36 Commits

Author SHA1 Message Date
Chris Roberts
e958c6183a Adds initial HCP config support
Adds initial basic support for HCP based configuration in vagrant-go.
The initalization process has been updated to remove Vagrantfile parsing
from the client, moving it to the runner using init jobs for the basis
and the project (if there is one). Detection is done on the file based
on extension for Ruby based parsing or HCP based parsing.

Current HCP parsing is extremely simple and currently just a base to
build off. Config components will be able to implement an `Init`
function to handle receiving configuration data from a non-native source
file. This will be extended to include a default approach for injecting
defined data in the future.

Some cleanup was done in the state around validations. Some logging
adjustments were applied on the Ruby side for better behavior
consistency.

VirtualBox provider now caches locale detection to prevent multiple
checks every time the driver is initialized.
2023-09-07 17:26:10 -07:00
hashicorp-copywrite[bot]
36a312ee26
add missing license headers and update copyright file headers to BUS-1.1 2023-08-10 21:53:25 +01:00
sophia
f4d3f38921 Fix type in communicator#ready funcspec 2022-06-29 17:23:42 -05:00
Chris Roberts
b8fbe1ace5 Remove some extraneous logging 2022-06-20 13:07:31 -07:00
Chris Roberts
39a85d1cf3
Support caching plugins within services 2022-04-25 12:26:39 -05:00
Chris Roberts
83ca40e239
Refactor Ruby service implementations
Update the Ruby service implementations to use the funcspec util
    module for generating spec content. A helper method is now used
    for generating a parent class for services to subclass which
    automatically includes all required modules for usage.
2022-04-25 12:26:37 -05:00
Chris Roberts
14d2d66d29
Use folders and options types in client/services 2022-04-25 12:26:36 -05:00
sophia
19f3d2f0b6
Refactor named plugin bits to apply to all components 2022-04-25 12:26:33 -05:00
Chris Roberts
58568b06fa
Define expected type with name 2022-04-25 12:26:29 -05:00
sophia
df5f7d40e8
Rename exception logger to exception transformer
The exception logger no longer logs errors. Instead it transforms
the errors into a grpc friendly format. The exception that would
have been logged at this point gets logged when the task completes.
2022-04-25 12:26:20 -05:00
sophia
441f82760b
Include exception logger and attach to all available methods 2022-04-25 12:26:19 -05:00
Chris Roberts
8676b13363
Include broker when setting service info 2022-04-25 12:26:16 -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
38dd5ef5f9
Use path proto to pass around paths 2022-04-25 12:26:11 -05:00
sophia
175f05657c
go generate 2022-04-25 12:26:10 -05:00
sophia
37cf32ef85
Communicator test and ready functions update 2022-04-25 12:26:10 -05:00
sophia
8a7ecc8411
Use mapped wait duration 2022-04-25 12:26:10 -05:00
sophia
10f176950d
Cleanup mapper usage 2022-04-25 12:26:10 -05:00
sophia
f35b429335
Use Args.Hash for communincator execute function 2022-04-25 12:26:10 -05:00
sophia
a4694bcf91
Extract to/from arg from upload/download request 2022-04-25 12:26:10 -05:00
sophia
773276ba37
Ensure opts get passed to privledge execute 2022-04-25 12:26:09 -05:00
sophia
73b6c7c6d6
Use Hash Arg to pass around communincator args 2022-04-25 12:26:09 -05:00
sophia
ba1dd33fff
Include seeds in ruby communicator 2022-04-25 12:26:09 -05:00
sophia
bb084e42e4
Apply changes to download funciton 2022-04-25 12:26:09 -05:00
sophia
d57203f005
Get ruby communincator upload working 2022-04-25 12:26:09 -05:00
sophia
49ad851606
Use named paths proto message for uploading/downloading 2022-04-25 12:26:09 -05:00
sophia
80457cd869
Run communincator execute 2022-04-25 12:26:08 -05:00
sophia
8513a14f9e
Use RemotePath proto message to upload/download files 2022-04-25 12:26:08 -05:00
sophia
04253a0aeb
Use named to, from arguments for uploading files with communincator 2022-04-25 12:26:08 -05:00
sophia
8a2375faf2
Add mapper for communincator path proto 2022-04-25 12:26:08 -05:00
sophia
da9ec1a96e
Make remote command execution work 2022-04-25 12:26:08 -05:00
sophia
93a5d6033b
Accept a struct as command options 2022-04-25 12:26:08 -05:00
sophia
4bc2a51748
Pass communincator command 2022-04-25 12:26:08 -05:00
sophia
6903f9bf09
Setup communincator service 2022-04-25 12:26:07 -05:00