Raise meaningful error messages when secret adapter CLIs are not installed #1121
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While configuring the 1Password secrets adapter I kept running into a confusing error ("Failed to login to 1Password") despite having followed the documentation and read through some issues threads. I ultimately had to dive into the code to discover that it relies on a CLI that I didn't have installed.
I figured surfacing a meaningful error message when the CLI is missing might save a lot of folks time in the future.
To achieve this I added a
check_dependencies!
method to all adapters that gets called as the first line in thefetch
method. For now each one just checks that the CLI is installed, but it's behavior could be expanded in the future. (For example, after installing the 1Password CLI you also need to configure it. In the future, the 1Password adapter'scheck_dependencies!
method could be expanded to also check that the CLI is configured.)I'm open to any and all feedback on this. Thanks!