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
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
f5d778d51a
Revert "Merge pull request #300 from hashicorp/optimize-ruby-command-list"
...
This reverts commit 1c26a4abb0c9e095b3f6ec9944c4b15f6f1cd064, reversing
changes made to 186824a568583d8f6f2a50501d940ed71608fa0b.
The changes broke plugin loading when using subcommands so these
changes will be reverted until the underlying issue can be
investigated and resolved.
2022-07-07 14:03:56 -07:00
Chris Roberts
ced8f947f8
Modify ordering of attributes
2022-06-29 16:11:30 -07:00
Chris Roberts
da0ba680ac
Update testing helper setups for signature change
2022-06-27 11:21:41 -07:00
Chris Roberts
eee26ce5a0
Do not close individual plugins from manager
2022-06-20 13:02:35 -07:00
Chris Roberts
1134a4e5ed
Update plugin manager loading. Add ruby client.
2022-06-15 11:08:03 -07:00
sophia
0cdb63db58
Flush out http downloader
2022-06-08 10:30:46 -05:00
sophia
36081df049
Load filedownloader plugin
2022-06-08 10:30:46 -05:00
Paul Hinze
8dbe72a5a0
Use Component Options to implement ProviderOptions
...
* Populates ComponentOptions into plugin structs
* Maps options for legacy Provider Plugins into PluginOptions
* Demos use of PluginOptions in a stub provider
* Honors plugin priority and defaultable settings
2022-06-03 16:37:05 -05:00
sophia
b381487dd2
Use testing plugins to populate testing plugin manager
2022-05-02 14:52:41 -05:00
sophia
c712afad8f
Update testing plugins
2022-05-02 12:33:18 -05:00
Chris Roberts
1594545d18
Remove helpers which are no longer valid
2022-04-25 16:12:38 -07:00
Chris Roberts
6d45d07f3f
Update plugin to use cleanup
2022-04-25 16:12:38 -07:00
Chris Roberts
f39e5709f4
Make plugin manager usage consistent
...
Updated to properly handle sub managers. Configurators
from parent managers properly applied to instances. Instances
are cached within requesting manager. Parent loading is also
handled in calling manager to properly support parent caching.
Closers implementation replaced with cleanup.
2022-04-25 16:12:38 -07:00
Chris Roberts
45e7814842
Remove parent loading and caching from plugin
2022-04-25 16:12:38 -07:00
Chris Roberts
5e277410f3
Use regular mapper for manager and properly cleanup on close
2022-04-25 16:01:10 -07:00
Chris Roberts
8b5bab5250
Update plugin manager to cache named plugins
2022-04-25 16:01:10 -07:00
Chris Roberts
234734061c
Add internal interface implementation for managers
2022-04-25 16:01:10 -07:00
Chris Roberts
616e003c42
When creating a plugin instance, register closer
2022-04-25 16:01:10 -07:00
Chris Roberts
1ca5872a5a
Define component types which can be cached
2022-04-25 12:26:58 -05:00
sophia
68ffb3a8cf
Inject core plugin manager into context when running plugins
2022-04-25 12:26:50 -05:00
sophia
b33f1a9e01
Test guest plugin with parent
2022-04-25 12:26:41 -05:00
sophia
df0fb642b0
Add ability to get plugin with a particular instance
2022-04-25 12:26:41 -05:00
sophia
8f95994a88
Create test dummy plugins
2022-04-25 12:26:41 -05:00
sophia
1117e06e38
Add testing plugin and plugin manager
2022-04-25 12:26:40 -05:00
sophia
19f3d2f0b6
Refactor named plugin bits to apply to all components
2022-04-25 12:26:33 -05:00
sophia
891eb27e9a
Rename plugin "target" to "addr"
2022-04-25 12:26:27 -05:00
Chris Roberts
9f320145ff
Add support for custom component configuration
2022-04-25 12:26:14 -05:00
Chris Roberts
20a3f4d85c
Provide core.PluginManager implementation and server setup
2022-04-25 12:26:14 -05:00
Chris Roberts
27d0fee45f
Define plugin interfaces in plugin. Load parent from plugin.
...
Also applies registered configurations from the plugin
manager when providing a requested component type.
2022-04-25 12:26:14 -05:00
Chris Roberts
b2dec1191a
Remove interfaces and add extra info to instance
2022-04-25 12:26:14 -05:00
Chris Roberts
e4f1e297ab
Update plugin seed function signature
2022-04-25 12:26:05 -05:00
sophia
c4cd5c599b
Add mappers to component at component creation phase
2022-04-25 12:25:51 -05:00
Chris Roberts
7595f1533f
Enable plugin mappers
2022-04-25 12:25:50 -05:00
sophia
cafa1d039d
Load single parent plugin
2022-04-25 12:24:48 -05:00
sophia
cda3ba7b29
Make myplugin have parents darwin and bsd
2022-04-25 12:24:48 -05:00
sophia
2bd95144e7
Seed plugin on startup
2022-04-25 12:24:48 -05:00
sophia
3d0197d0bf
Store plugin parents
2022-04-25 12:24:47 -05:00
Chris Roberts
891541cd40
Create cache in manager and set into plugin if available
2022-04-25 12:24:47 -05:00
Chris Roberts
fc61c27b51
Update logging names for clearer messages
2022-04-25 12:24:45 -05:00
Chris Roberts
0f4c6f5921
Allow plugin manager to have sub managers
2022-04-25 12:24:34 -05:00
sophia
f261b9a158
Fix errorf formatting
2022-04-25 12:24:29 -05:00
sophia
bc365ab796
Remote discover tests
2022-04-25 12:24:28 -05:00
sophia
47a0a2d7d2
Record machine client in machine index entry
2022-04-25 12:24:27 -05:00
Chris Roberts
ef3cde9cd3
Update in-process builtin factory to return plugin registration
2022-04-25 12:24:23 -05:00
Chris Roberts
63fe341ca5
Add plugin discovery support to manager
2022-04-25 12:24:23 -05:00
Chris Roberts
26b9cd37e7
Remove plugin discover function
2022-04-25 12:24:23 -05:00
Chris Roberts
7357fa4017
Update plugin factory definitions to use custom type
2022-04-25 12:24:22 -05:00
Chris Roberts
392ad6d3b7
Define plugin struct in plugin file and remove factories
2022-04-25 12:24:22 -05:00