58 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
Chris Roberts
dd184936db Generated proto updates 2023-06-05 14:18:06 -07:00
sophia
e96738bf43 Add protos for supporting colored terminal line events 2022-09-14 11:41:30 -04:00
Chris Roberts
dca389eda0 Generated proto updates 2022-07-25 15:00:49 -07:00
Chris Roberts
8c3393bd61 Add Stop rpc for ruby internal service 2022-07-25 14:30:29 -07:00
Sophia Castellarin
66a22e5254
Merge pull request #303 from hashicorp/synced_folder_has_override_opts
Synced folder has override opts
2022-07-07 16:28:14 -05:00
Chris Roberts
f5d778d51a Revert "Merge pull request #300 from hashicorp/optimize-ruby-command-list"
This reverts commit 1c26a4abb0c9e095b3f6ec9944c4b15f6f1cd064, reversing
changes made to 186824a568583d8f6f2a50501d940ed71608fa0b.

The changes broke plugin loading when using subcommands so these
changes will be reverted until the underlying issue can be
investigated and resolved.
2022-07-07 14:03:56 -07:00
sophia
e8c0587c85 go generate 2022-07-07 12:30:24 -05:00
Chris Roberts
e1d7962ee8 Generated proto updates for get commands 2022-06-29 16:14:01 -07:00
Chris Roberts
29a5c1b855 Add rpc for getting commands 2022-06-29 16:12:36 -07:00
Chris Roberts
e0d8fa6689 Generated proto updates 2022-06-20 13:13:06 -07:00
Chris Roberts
17fc49cf41 Add provider parsing to internal endpoint 2022-06-20 13:05:26 -07:00
Chris Roberts
21b17e1907 Add extra parsing functions and change result type 2022-06-15 12:50:59 -07:00
Paul Hinze
8dbe72a5a0
Use Component Options to implement ProviderOptions
* Populates ComponentOptions into plugin structs
* Maps options for legacy Provider Plugins into PluginOptions
* Demos use of PluginOptions in a stub provider
* Honors plugin priority and defaultable settings
2022-06-03 16:37:05 -05:00
Paul Hinze
c60f82d22f
go generate w/ latest version of deps 2022-06-03 14:40:00 -05:00
sophia
dc1687e1ab go generate 2022-05-17 15:03:24 -05:00
Chris Roberts
bbf7e0fb12 Generated proto updates 2022-04-25 16:12:38 -07:00
sophia
5d348e66a1
Update box proto to use struct for metadata 2022-04-25 12:26:44 -05:00
Paul Hinze
ff86d86ac8
Provisioner Plugins 2022-04-25 12:26:37 -05:00
sophia
1f632d076c
go generate after rebase 2022-04-25 12:26:33 -05:00
sophia
1217189616
go generate 2022-04-25 12:26:32 -05:00
Chris Roberts
2acd0fa3b8
Generated proto updates 2022-04-25 12:26:30 -05:00
sophia
5fda271283
go generate . 2022-04-25 12:26:23 -05:00
Paul Hinze
0fef7cc416
Port push plugins
This uses the new Push plugin support added to the plugin SDK in https://github.com/hashicorp/vagrant-plugin-sdk/pull/106 to make the following changes:

 * The plugin manager on the Go side now registers push plugins
 * The the _remote_ plugin manager on the Ruby side now calls over to
   the go side to get push plugins
 * All the wiring is hooked up such that when a push plugin is replaced
   with its remote GRPC-client-wielding equivalent, the messages are
   ferried around.
2022-04-25 12:26:21 -05:00
sophia
45e64b9890
Add localized message proto 2022-04-25 12:26:20 -05:00
Chris Roberts
72b8547cce
Generated proto updates 2022-04-25 12:26:15 -05:00
sophia
514b4e3d89
go generate 2022-04-25 12:26:09 -05:00
Chris Roberts
ac8978eee3
Generated proto updates 2022-04-25 12:26:05 -05:00
sophia
9002131281
go generate 2022-04-25 12:26:03 -05:00
Chris Roberts
9f3241a5b5
Generated updates 2022-04-25 12:26:01 -05:00
sophia
92d7c7b291
go generate 2022-04-25 12:24:48 -05:00
Chris Roberts
be4bbe902f
Generated proto updates 2022-04-25 12:24:46 -05:00
sophia
bb336592ea
Remove 'found' from basis/project/target query results 2022-04-25 12:24:39 -05:00
Chris Roberts
aaf0ae8504
Generated proto updates 2022-04-25 12:24:31 -05:00
sophia
f103797592
go generate . 2022-04-25 12:24:27 -05:00
sophia
a5445b708e
go generate 2022-04-25 12:24:26 -05:00
sophia
040f02e60d
Add proto to delete target 2022-04-25 12:24:25 -05:00
Chris Roberts
378019f014
Generated proto updates 2022-04-25 12:24:25 -05:00
Chris Roberts
cad5a7f717
Generated proto update 2022-04-25 12:24:21 -05:00
sophia
5bfa4a6f48
Move Vagrantfile proto definition to the plugin sdk 2022-04-25 12:24:19 -05:00
sophia
eeb7028a48
Building after rebase 2022-04-25 12:24:19 -05:00
sophia
5f532fc986
Make box url a repeated field 2022-04-25 12:24:18 -05:00
sophia
c2176d5e80
Extract vagrant and communicator settings from Vagrantfile 2022-04-25 12:24:18 -05:00
sophia
849755646b
Define config for config.ssh, winrm, winssh, vagrant 2022-04-25 12:24:18 -05:00
sophia
da58bbc1c1
Get all config.vm.* variables 2022-04-25 12:24:18 -05:00
sophia
9c1d09eb8a
Extract providers 2022-04-25 12:24:18 -05:00
sophia
81368d83dd
More complicated provider setup 2022-04-25 12:24:18 -05:00
sophia
5467b9134c
Extract network info from Vagrantfile into proto 2022-04-25 12:24:18 -05:00
sophia
36a4a03160
Define the 'config.vm.*' level of the Vagrantfile 2022-04-25 12:24:17 -05:00