sophia
f7cd08b208
Pass terminal output color option from Ruby to terminal plugin
2022-09-14 11:42:52 -04:00
sophia
8bdb5e797d
Pass in echo/secret ui input setting
2022-08-30 15:18:21 -05:00
Paul Hinze
7c56c74bb6
Support and honor the "primary" option for Command plugins
2022-07-27 11:36:04 -05:00
Paul Hinze
9ab94f9971
Fix crashes on Vagrantfiles with provisioners
...
I forgot to handle nil in the new PluginOptions stuff, and options are
nil for Provisioner plugins.
2022-07-20 17:36:05 -05:00
Paul Hinze
957d0d3779
Bring plugin options back to Ruby for providers and synced folders
...
This removes the need for the validation workaround for Docker, because
box_updated is once again available in that context.
We don't technically need the SyncedFolder priorities back on the Ruby
side, but wiring them through for symmetry.
Depends on https://github.com/hashicorp/vagrant-plugin-sdk/pull/183
2022-07-15 12:14:47 -05:00
Chris Roberts
67895c927e
Allow a machine client to load its target
2022-07-11 15:08:53 -07:00
Chris Roberts
19b4adb3b8
Implement get_value rpc in vagrantfile client
2022-07-08 16:38:02 -07:00
Paul Hinze
ee8883153c
Make Docker provider work again post config refactor
...
- Allow machine.box to be empty without sadness (depends on
https://github.com/hashicorp/vagrant-plugin-sdk/pull/182 )
- Get synced folder type from plugin name instead of defaulting to
:virtualbox
2022-07-08 11:36:27 -05:00
Sophia Castellarin
66a22e5254
Merge pull request #303 from hashicorp/synced_folder_has_override_opts
...
Synced folder has override opts
2022-07-07 16:28:14 -05:00
sophia
b17c36c7c7
Fix typo
2022-07-07 12:30:24 -05:00
Paul Hinze
75d900c93b
Fix Type::Booleans leaking through capabilities
...
We had some cases where calling a capability that returned a boolean was
not getting correctly unpacked, so instead of `true` or `false` the
capability was putting out
`VagrantPlugins::CommandServe::Type::Boolean`.
This may have been happening in _all_ cases where a boolean was returned
from a capability and we just didn't notice it yet because the return
value was always truthy.
These tweaks should help ensure that Ruby types make it out where they
are supposed to be in Args::Direct usage.
2022-07-07 11:29:50 -05:00
Paul Hinze
fb2a102c71
Fix init and other commands that run without a project
...
The Basis needs to be able to respond to Vagrantfile() and
DefaultProvider() to make it through Vagrant::Environment
initialization.
Depends on https://github.com/hashicorp/vagrant-plugin-sdk/pull/178
2022-07-01 11:56:08 -05:00
sophia
adadf26c9c
Check if communicator is available before detecting guests
2022-06-29 17:23:43 -05:00
Paul Hinze
986e3fb258
Merge pull request #292 from hashicorp/box-collection-nit
...
Scope down rescue on BoxCollection.find
2022-06-28 15:23:33 -05:00
Paul Hinze
47962dff37
Scope down rescue on BoxCollection.find
...
After https://github.com/hashicorp/vagrant-plugin-sdk/pull/175 is merged
it will properly return a NotFound so we can rescue that specifically
and let any unexpected errors propagate.
2022-06-24 16:30:51 -05:00
Chris Roberts
43979be447
Fix logger usage in plugin manager
2022-06-15 11:14:07 -07:00
Chris Roberts
44afa299f0
Perform direct type conversions
2022-06-15 11:02:24 -07:00
Chris Roberts
c24960731f
Add vagrantfile client
2022-06-15 10:56:19 -07:00
sophia
194882214a
Add machine readable bool endpoint to terminal ui
2022-05-31 15:47:47 -05:00
sophia
32bb18e9b9
Only output machine readable data if the terminal is not interactive
2022-05-31 10:53:21 -05:00
sophia
65e851d646
Output machine readable data as table
2022-05-31 10:28:26 -05:00
Paul Hinze
06350a7afc
Port default provider selection
...
- Pulls in the SDK changes to Project.DefaultProvider and Project.Target
- Implements the hefty default provider method
- Un-hard-codes provider from Target, and sets it when a Target is
looked up from a Project
2022-05-25 16:19:50 -05:00
Paul Hinze
102e100108
client/target_index: Make yard comments conformant
2022-05-25 16:19:49 -05:00
sophia
d708bab84a
Add error message for errors originating from a remote
2022-05-13 17:14:50 -05:00
sophia
31393eb3a9
Fill in some missing target client functions
2022-05-04 11:22:41 -05:00
sophia
0117c01e4b
Fill in environment remote class
2022-05-04 11:22:41 -05:00
sophia
f340e192f2
Fill in project ruby client
2022-05-04 11:22:41 -05:00
sophia
0a37521ef2
Remove reload machine function from the grpc api
2022-05-04 09:32:36 -05:00
sophia
b4fbf76a33
Plug machine#uid methods into remote go backend
2022-05-04 09:32:36 -05:00
sophia
adf2340712
Update Ruby clients for proto changes
2022-04-25 14:12:28 -05:00
sophia
cddcfef0a1
Update Box#UpdateInfo to use box metadata client
2022-04-25 12:26:57 -05:00
sophia
35c094f570
Get box update info
2022-04-25 12:26:57 -05:00
sophia
7b470d4b25
Ensure box metadata has optional arguments
2022-04-25 12:26:53 -05:00
sophia
03ecb877e6
Update box metadata Name endpoint to boxName
2022-04-25 12:26:53 -05:00
sophia
66524426d0
Update ruby remote box metadata for proto changes
2022-04-25 12:26:53 -05:00
sophia
0556c804fd
Add load metadata client endpoint
2022-04-25 12:26:52 -05:00
sophia
1f5d66fd76
Get box metadata client from box
2022-04-25 12:26:52 -05:00
sophia
428c3b02fd
Use remote box metadata implementation
2022-04-25 12:26:52 -05:00
sophia
05244e67c1
Add mappers for core plugin manager
2022-04-25 12:26:50 -05:00
sophia
b3003e8cb6
Add core plugin service client
2022-04-25 12:26:50 -05:00
Paul Hinze
8f9952089a
Fix commands that run without a project
...
Some commands like `vagrant init` and `vagrant box` should be able to
run successfully without a full Project available in VAGRANT_CWD (in
other words, they don't require that a valid Vagrantfile be available.)
Thus far we've been assuming that a Project is available when
dispatching commands, which mean that commands of this nature weren't
working.
Here we make the Basis available to serve as an alternative client to
Vagrant::Environment::Remote such that it can be instantiated and passed
through to commands. This required some changes to Environment::Remote
to make its interactions with the client more defensive, but we manage
to avoid needing to make any changes to the normal legacy codepaths.
2022-04-25 12:26:47 -05:00
sophia
128599ab68
Get local box metadata in remote box
2022-04-25 12:26:47 -05:00
sophia
b6d42d0695
Clean up machine client
2022-04-25 12:26:46 -05:00
sophia
f55da8168a
Check if a box is in use using the machines endpoint
...
This returns a list of machine index entries that use the box. This
is what is expected from the Ruby side.
2022-04-25 12:26:46 -05:00
sophia
4dcd120448
Load machine from machine ref
2022-04-25 12:26:46 -05:00
sophia
8b5bc0cd1c
Set box metadata url
2022-04-25 12:26:45 -05:00
Paul Hinze
7c1d2e5368
Use optional fields on Synced Folder instead of empty string checks
...
Addresses concerns raised in discussion here
https://github.com/hashicorp/vagrant-ruby/pull/219#discussion_r816966056
and makes it so we don't have to change any plugin code to make things
work.
Depends on https://github.com/hashicorp/vagrant-plugin-sdk/pull/133
2022-04-25 12:26:44 -05:00
Chris Roberts
df0bbe343f
Support bold style and add #clear_line
2022-04-25 12:26:43 -05:00
Chris Roberts
71fb214d95
Add #input to terminal client and use event stream
2022-04-25 12:26:43 -05:00
sophia
b7d12a0907
Get provider from remote machine
2022-04-25 12:26:38 -05:00