785 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
1c98ab7111 Use proto merge for merging proto based types 2023-06-12 09:33:00 -07:00
Chris Roberts
dcb517e1fb Prevent parent overwrites during upserts 2023-06-12 09:33:00 -07:00
Chris Roberts
02f844a05d Require project path to not be empty on test setup 2023-06-12 09:33:00 -07:00
Chris Roberts
49b0aac36c Adjust test for no error but empty result 2023-06-12 09:33:00 -07:00
Chris Roberts
0c21086bc2 Test cleanups and adjustments to get everything working 2023-06-07 17:46:04 -07:00
Chris Roberts
8be93a18cc Remove unused vendored package and server install 2023-06-05 17:50:48 -07:00
Chris Roberts
a6d38a8795 Remove ptypes and usages 2023-06-05 17:30:55 -07:00
Chris Roberts
6d88f3a54f Fix up some of the testing 2023-06-05 14:18:53 -07:00
Chris Roberts
dd184936db Generated proto updates 2023-06-05 14:18:06 -07:00
Chris Roberts
c797ce5471 Data layer updates
Implement direct test coverage on data models and apply
fixes for behavior inconsistencies.
2023-06-05 14:18:06 -07:00
Chris Roberts
6970336d87 Update model definitions and saving 2023-06-05 14:18:06 -07:00
Chris Roberts
4f559c06ab Add string pointer converters 2023-06-05 14:18:06 -07:00
Chris Roberts
eab9ef8e66 Box find should return nil on not found 2023-06-05 14:18:06 -07:00
Chris Roberts
247b6f55d0 Add upsert helpers 2023-06-05 14:18:06 -07:00
Chris Roberts
f9b3d67f6c Set target source when cloning 2023-06-05 14:18:06 -07:00
Chris Roberts
739bb7703d Allow connection to close when process closes 2023-06-05 14:18:06 -07:00
Chris Roberts
4eff04d20f Enable foreign key constraints 2023-06-05 14:18:06 -07:00
Chris Roberts
013837e73c Define and use internal model struct 2023-06-05 14:18:06 -07:00
Chris Roberts
5445c2195e Include project when looking up target 2023-06-05 14:18:06 -07:00
Chris Roberts
2cf64d733b Fix doc string, only uuid is checked 2023-06-05 14:18:06 -07:00
Chris Roberts
8eafe188a8 Only set or restore values if value exists 2023-06-05 14:18:06 -07:00
Chris Roberts
843d6bf2dc Convert vagrantfile contents to protovalues 2023-06-05 14:18:06 -07:00
Chris Roberts
f42269c584 Generated proto updates 2023-06-05 14:18:06 -07:00
Chris Roberts
be969c3386 Update job message structure to include scope 2023-06-05 14:18:05 -07:00
Chris Roberts
b6192eba0d Fixup scoping usage to properly validate 2023-06-05 14:18:05 -07:00
Chris Roberts
2375cbe8a2 Use Command operation in place of Task 2023-06-05 14:18:05 -07:00
Chris Roberts
12042fd849 Proto updates and cleanup 2023-06-05 14:18:05 -07:00
Chris Roberts
25e87ee31e Update services interaction with state 2023-06-05 14:18:05 -07:00
Chris Roberts
ab51abc86d Update local test database setup 2023-06-05 14:18:05 -07:00
Chris Roberts
f24ab4d855 Migrate data layer to gorm 2023-06-05 14:18:05 -07:00
Chris Roberts
0a0333adb7 Remove CEBConfig 2023-06-05 14:18:05 -07:00
Chris Roberts
e125f55688 Remove services and state not required 2023-06-05 14:18:05 -07:00
Chris Roberts
788c5be03a Delete server config state and service 2023-06-05 14:18:05 -07:00
sophia
f811e995da Return errors when box metadata is unavailable or invalid 2022-09-28 16:52:00 -04:00
sophia
3be4eacaa9 Return an error if the provider is not usable 2022-09-20 14:33:43 -04:00
sophia
49280286ad Strip new lines from error details
The error details message should just be one string without spacing
so the terminal can set a output length. This will allow messages
from Ruby and Go errors to have similar formating.
2022-09-19 15:14:42 -04:00
sophia
b9fb6c5f5f Refactor to use localizer to create error with status 2022-09-19 15:14:42 -04:00
sophia
bd801af984 Add details to errors 2022-09-19 15:14:42 -04:00
sophia
9a276d7818 Get additional message into error 2022-09-19 15:14:42 -04:00
sophia
ccb89c0143 Don't check for errors when checking if a provider is usable
If a provider is unusable then Usable() will throw an error. When
checking for a default provider, Vagrant should not raise an error
if there is an issue with executing Usable().
2022-09-19 15:14:42 -04:00
sophia
6d4f769c87 Validate provider 2022-09-19 15:14:42 -04:00
sophia
f26ff28ad4 Set provider if available 2022-09-19 15:14:42 -04:00
sophia
21e9fc3674 Use basic ui if using a non color enabled terminal 2022-09-14 11:42:54 -04:00
sophia
f7cd08b208 Pass terminal output color option from Ruby to terminal plugin 2022-09-14 11:42:52 -04:00
sophia
45d15e12c2 Support color in runner ui 2022-09-14 11:41:30 -04:00
sophia
e96738bf43 Add protos for supporting colored terminal line events 2022-09-14 11:41:30 -04:00
sophia
a718e228a4 Colour go experimental warning 2022-09-14 11:41:30 -04:00