32 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
Chris Roberts
a7135c000b Apply license adjustments and fixes
Add configuration file for automated license modifications, remove
automated licese modifications from specific locations, and update the
license set in the gem specification.
2023-08-10 17:05:19 -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
dca389eda0 Generated proto updates 2022-07-25 15:00:49 -07: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
Chris Roberts
e1d7962ee8 Generated proto updates for get commands 2022-06-29 16:14:01 -07:00
Chris Roberts
e0d8fa6689 Generated proto updates 2022-06-20 13:13:06 -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
ff86d86ac8
Provisioner Plugins 2022-04-25 12:26:37 -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
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
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
sophia
6899a2a00d
Make Vagrantfile protos more closely resemble the Vagrantfile 2022-04-25 12:24:17 -05:00
sophia
3d25e71970
Add Vagrantfile to proto data model 2022-04-25 12:24:16 -05:00
Chris Roberts
8f222b36de
Generated proto updates 2022-04-25 12:24:10 -05:00
sophia
6805d81301
Update protos 2022-04-25 12:24:10 -05:00
Chris Roberts
37d42bc8ef
Update generated proto files 2022-04-25 12:24:09 -05:00
sophia
3107da72af
Execute subcommands 2022-04-25 12:24:02 -05:00
Chris Roberts
b601872287
Update protos 2022-04-25 12:23:59 -05:00
Chris Roberts
1a6aeb5811
Update proto file locations 2022-04-25 12:23:56 -05:00