Chris Roberts
9d9430e60b
Add flag validation tests
2022-04-25 12:26:25 -05:00
Chris Roberts
7e60a11936
Add test coverage on group
2022-04-25 12:26:25 -05:00
Chris Roberts
dfee85ea5e
Add doc notes to group
2022-04-25 12:26:25 -05:00
Chris Roberts
08f9eaa603
Adjust display rules
2022-04-25 12:26:25 -05:00
Chris Roberts
ae9cee6229
Fix types on flag vars
2022-04-25 12:26:25 -05:00
Chris Roberts
c010ae0429
Update CLI to use internal flags implementation
2022-04-25 12:26:25 -05:00
Chris Roberts
05facc0035
Add flags library
2022-04-25 12:26:25 -05:00
Chris Roberts
9ee70725fe
Remove usage of getoptions library
2022-04-25 12:26:25 -05:00
Chris Roberts
16931138e7
Update git submodule location
...
Having the modules stored in `./vendor` causes issues with `go mod`.
Follow waypoint's convention to store in `./thirdparty` and grab
the same Makefile modifications to alert when the submodules need
to be initialized. Update generators to use new path.
2022-04-25 12:26:25 -05:00
Chris Roberts
00a58cbf41
remove old submodule path
2022-04-25 12:26:24 -05:00
Chris Roberts
d3ab0b40bc
Update path for submodule
2022-04-25 12:26:24 -05:00
sophia
93ec8c1571
Refactor with_plugins util
2022-04-25 12:26:24 -05:00
sophia
226c252099
Bump sdk
2022-04-25 12:26:24 -05:00
sophia
81a9d7b241
Pass machine to provider functions
2022-04-25 12:26:24 -05:00
sophia
fcf405bdf8
Run provider actions
2022-04-25 12:26:24 -05:00
sophia
274ed6c756
Add mapper for machine state
2022-04-25 12:26:24 -05:00
sophia
8355209654
Accept machine for provider state endpoint
2022-04-25 12:26:24 -05:00
sophia
1e428a0812
Add mappers for provider
2022-04-25 12:26:24 -05:00
sophia
f3a1a9caa6
Add dependency on common protos for error details
2022-04-25 12:26:24 -05:00
sophia
526b7f2318
Remote init from provider grpc api
2022-04-25 12:26:23 -05:00
sophia
809e4044a0
Add provider remote plugin module
2022-04-25 12:26:23 -05:00
sophia
c48e43a12a
Add provider ruby client
2022-04-25 12:26:23 -05:00
sophia
75e6081e6d
Fill in provider ruby service
2022-04-25 12:26:23 -05:00
sophia
5fda271283
go generate .
2022-04-25 12:26:23 -05:00
sophia
be40120ddc
Remove current provider plugin
2022-04-25 12:26:23 -05:00
Paul Hinze
a86965c340
ruby mappers: Unwrap wrapper types in Hashes and Arrays
...
Boolean types (and possibly a few others) are returned as wrapper
classes when coming out from proto mapping; these need to be unwrapped
otherwise the caller who is expecting a nice clean boolean value ends up
with an icky protobuf class.
This fixes the shell provisioner, which relies on a communicator
receiving a settings hash `{error_check: false}` for a command that
usually fails but it sent just in case before provisioning starts.
2022-04-25 12:26:23 -05:00
sophia
896cdea21f
Delete machine from db
2022-04-25 12:26:23 -05:00
sophia
3dbd9286be
Merge targets with upserting
2022-04-25 12:26:23 -05:00
sophia
12de22a7db
Get machine state
2022-04-25 12:26:23 -05:00
sophia
371377ebfc
Use provider to get current state for now
2022-04-25 12:26:23 -05:00
sophia
8a39ee6960
Set target state in addition to machine state
2022-04-25 12:26:22 -05:00
sophia
c01a38b6e1
Load target index targets
2022-04-25 12:26:22 -05:00
sophia
2469016be1
Use remote machine/environment
2022-04-25 12:26:22 -05:00
sophia
5ed50277bd
Find target in index by uuid or name
2022-04-25 12:26:22 -05:00
Chris Roberts
9dbeca0492
Update SDK ref
2022-04-25 12:26:22 -05:00
Chris Roberts
d2738e43ee
Update getoptions version
2022-04-25 12:26:22 -05:00
Chris Roberts
d8145cdd52
Update flag value extraction for dynamic commands
2022-04-25 12:26:22 -05:00
Chris Roberts
e00f82fdee
Update to use component flags and update parsing
2022-04-25 12:26:22 -05:00
Chris Roberts
39439cf9fb
Register commands and subcommands during setup
2022-04-25 12:26:22 -05:00
Chris Roberts
66dc2fd259
Remove loading status during startup
2022-04-25 12:26:22 -05:00
Chris Roberts
bd9ba0654e
Update builtins to use component command flag
2022-04-25 12:26:22 -05:00
Chris Roberts
5115bc3fb3
Update to use component command flags
2022-04-25 12:26:21 -05:00
Chris Roberts
3933632216
Update flag mappers to use generic component flag struct
2022-04-25 12:26:21 -05:00
Chris Roberts
1a32e8c2f9
Fetch command banner and remove switch characters
2022-04-25 12:26:21 -05:00
Chris Roberts
5e6fe71a37
Use ruby command arguments type when executing command
2022-04-25 12:26:21 -05:00
Chris Roberts
7b82ba7ca0
Add ruby local command arguments type and mapper
2022-04-25 12:26:21 -05:00
Paul Hinze
bb2601586d
Bump vagrant-plugin-sdk to latest version
2022-04-25 12:26:21 -05:00
Paul Hinze
92c345b42d
Allow go push plugins to use config from Vagrantfile
...
* Populate push configs when parsing the vagrantfile
* Allow untyped configs to be shipped over GRPC
* In our demo plugin, walk the vagrantfile and snag the config
Example Vagrantfile that works with the demo plugin:
```ruby
Vagrant.configure("2") do |config|
config.push.define "myplugin" do |push|
push.coolkey = "coolvalue"
push.alist = ["so", "many", "items"]
push.ahash = { "hashkey" => "hashvalue" }
end
end
```
2022-04-25 12:26:21 -05:00
Paul Hinze
a841da4fc6
Add a simple push plugin in Go
...
The only tweak required to get this to work was allowing a DummyConfig
to survive being passed through a remote plugin on the Ruby side.
2022-04-25 12:26:21 -05:00
Paul Hinze
737c1a5f8b
Use the simpler plugin interface for Push plugins
...
* Bumps the go.mod to the just-merged SDK version
* Returns empty results on success vs messing around with PushResponses
2022-04-25 12:26:21 -05:00