sophia
3ae69c706a
go generate
2022-04-25 12:26:33 -05:00
sophia
231c99b133
go generate .
2022-04-25 12:26:33 -05:00
sophia
1f632d076c
go generate after rebase
2022-04-25 12:26:33 -05:00
sophia
1cda8322af
go generate
2022-04-25 12:26:33 -05:00
sophia
153d218d68
Set plugin name
2022-04-25 12:26:32 -05:00
sophia
1217189616
go generate
2022-04-25 12:26:32 -05:00
sophia
e95d906f74
Get plugin name from client
2022-04-25 12:26:32 -05:00
sophia
764f5c96c5
go generate
2022-04-25 12:26:32 -05:00
Chris Roberts
fc8b01f0ac
Generated proto updates
2022-04-25 12:26:32 -05:00
Chris Roberts
1c3afc0fc9
Generated proto update
2022-04-25 12:26:32 -05:00
Chris Roberts
8867dfc33c
Accept options hash for action methods
2022-04-25 12:26:31 -05:00
Chris Roberts
2acd0fa3b8
Generated proto updates
2022-04-25 12:26:30 -05:00
sophia
bf8b7f6508
go generate
2022-04-25 12:26:27 -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
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
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
5fda271283
go generate .
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
2469016be1
Use remote machine/environment
2022-04-25 12:26:22 -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
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
deb667ecd3
Use common rpc errdetails messages
2022-04-25 12:26:20 -05:00
sophia
45e64b9890
Add localized message proto
2022-04-25 12:26:20 -05:00
Chris Roberts
914530d26a
Use trace log level for noisy log messages
2022-04-25 12:26:19 -05:00
Chris Roberts
4bcef5de84
Update initial logger configuration to properly apply
2022-04-25 12:26:19 -05:00
Chris Roberts
ec68f6d910
Allow trace to accept args when adding on undefine
2022-04-25 12:26:19 -05:00
Chris Roberts
1b8686d471
Use configurator for level configuration
2022-04-25 12:26:19 -05:00
Chris Roberts
fb1dc2cc59
Load log4r patches at startup
2022-04-25 12:26:19 -05:00
Chris Roberts
d746df4883
Patch Log4r to allow trace logging level
2022-04-25 12:26:19 -05:00
Chris Roberts
8c9b72d56e
Base log message splitting on overall size
2022-04-25 12:26:16 -05:00
Chris Roberts
d8e959c89f
Connect synced folder to client in _initialize method
2022-04-25 12:26:16 -05:00
Chris Roberts
d67aaff74a
Set the client using keyword for synced folder
2022-04-25 12:26:16 -05:00
Chris Roberts
72b8547cce
Generated proto updates
2022-04-25 12:26:15 -05:00
Chris Roberts
031890fcc7
Allow plugin manager to be swapped out for remote manager
2022-04-25 12:26:15 -05:00
Chris Roberts
23d0d9debb
Provide client using keyword argument for synced folder
2022-04-25 12:26:14 -05:00
Chris Roberts
fb2319f1e2
Implement remote plugin manager backed by vagrant go
2022-04-25 12:26:14 -05:00
sophia
1db38e65f8
Setup remote plugin manager when in server mode
2022-04-25 12:26:14 -05:00
sophia
94a203efc9
Inject dummy client into remote synced folders
2022-04-25 12:26:14 -05:00
sophia
05bbd9ec50
Use v2 manager to seed ruby plugins for remote manager
2022-04-25 12:26:13 -05:00
sophia
78fbd12da9
Use remote plugin manager when in server mode
2022-04-25 12:26:13 -05:00
sophia
d5007d4d85
Use remote plugin module when in server mode
2022-04-25 12:26:13 -05:00
sophia
e951c4d971
Add remote plugin manager
2022-04-25 12:26:13 -05:00
sophia
90033b9b68
Only prepend remote mixin synced folders when running in remote mode
2022-04-25 12:26:13 -05:00
sophia
7a75ed6cbb
Get stdout and stderr from privledged execute
2022-04-25 12:26:13 -05:00
sophia
8e85561f61
Get stdout and stderr from command
2022-04-25 12:26:12 -05:00