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
sophia
c63e7936b2
go generate
2022-04-25 12:26:12 -05:00
sophia
175f05657c
go generate
2022-04-25 12:26:10 -05:00
sophia
9722443d09
Don't check if guest is able to connect
...
The go side should be doing the checks for ensuring the guest is reachable
2022-04-25 12:26:10 -05:00
sophia
84af97f0a9
Add placeholder remote guest name
2022-04-25 12:26:10 -05:00
sophia
b29b37af0d
Add mappers for time duration proto
2022-04-25 12:26:09 -05:00
sophia
ab395ad730
Move remote communicator to remote plugin module
2022-04-25 12:26:09 -05:00
sophia
514b4e3d89
go generate
2022-04-25 12:26:09 -05:00
sophia
49ad851606
Use named paths proto message for uploading/downloading
2022-04-25 12:26:09 -05:00
sophia
8513a14f9e
Use RemotePath proto message to upload/download files
2022-04-25 12:26:08 -05:00
sophia
1f2084cd17
Add communincator path proto
2022-04-25 12:26:08 -05:00
sophia
4bc2a51748
Pass communincator command
2022-04-25 12:26:08 -05:00
sophia
2e693b60fe
Load remote communincator
2022-04-25 12:26:07 -05:00
sophia
10b4015455
Setup remote communincator
2022-04-25 12:26:07 -05:00