-
Notifications
You must be signed in to change notification settings - Fork 989
Description
What's the user value of this research request?
The CLI Plugin interface has not been upgraded for multiple years. The technology has changed, so we should reconsider how plugins can be integrated into the CLI. This research issue will capture the various design ideas for the CLI Plugin Interface.
The end goal of this research is an RFC for the selected methodology that can be implemented by mid to late 2026, given the CAPI V2 API's end of life.
Who is the research issue for?
- This research issue provides a place to capture the desires and requirements for plugin users.
- This research issue provides a space to capture the desires and requirements of plugin developers.
- This research issue provides a place to capture the desires and requirements from the CLI maintainers.
Is your research request related to a problem? Please describe.
-
The current plugin interface is dependent on archived code.
-
The current plugin interface depends on unmaintained code.
-
The current plugin interface has been frozen in time.
-
The current plugin interface has not been published to Go's packages website since November 2019.
-
The current plugin interface has not kept up with changes in the Go language.
-
The current plugin is overly dependent on the CLI command's internals.
-
The current plugin interface does not provide sufficient versioning support as the CLI command version changes.
-
The current plugin interface does not provide sufficient build information.
-
The current plugin interface does not provide sufficient release information.
-
The current plugin interface does not provide a maintainable path to support other development languages.
-
CLI maintainers no longer maintain the current plugin interface.
Describe the various solutions you'd like
TBD
Describe alternatives that could be considered
- Do nothing
- Drop support for a plugin interface.
- Provide PRs to the CLI maintainers to integrate the plugin functionality into the CLI command.
- Use the CLI version commits to build with the appropriate CLI version.
- Provide independent wrapper functions for the existing CLI plugin interface.
- Have the CLI commands generate human and machine-readable output.
- Hashicorp Plugin model
- GitHub Plugin model
Additional context Please add any additional context or screenshots related to the research request here.
Note:
As of the GA of the v7 CLI, the v6 line is no longer under active development and will be updated only to patch CVEs or fix severe blocking defects with no workarounds.
Grammarly was used to help write this description.