Make generic secrets importable. - #17
Conversation
This involves turning "allow_read" into "disable_read", because we have no way to set "allow_read" to true when importing, and we can't import if we can't read. This requires a migration and will require users to update their config files.
catsby
left a comment
There was a problem hiding this comment.
Can you elaborate on why we can't set allow_read? I'd like to understand more before approving a breaking change.
Thanks!
|
So, from my digging, here's what I understand about this:
If you have thoughts or ideas about how to solve the problem without a breaking change, or with a softer breaking change, I'm definitely not wed to this solution. It was just the cleanest way forward that I saw. |
catsby
left a comment
There was a problem hiding this comment.
Sounds reasonable, my only thought is regarding "But then legitimate errors get swallowed" .. do we know what legit errors though could be? Is there anyway we can examine the error and then decide based on that? Thinking 404 vs 403 http error codes. I don't know what Vault would return code-wise for "no you can't" vs. "something went wrong" etc.
I trust your judgement here, so consider trapping if it's possible and logging that we weren't allowed to read, or otherwise merge as is 👍
Deprecate allow_read instead of removing it outright.
|
That latest push updates things to just deprecate
In all these scenarios, a deprecation warning is shown. So to get the behaviour they want, users still need to make a config change, but I don't see any way around that, and this at least is a better UX than just breaking outright. @catsby, if you think this is still good, I'll go ahead and merge it. |
…_generic_secret Make generic secrets importable.
This involves turning "allow_read" into "disable_read", because we have
no way to set "allow_read" to true when importing, and we can't import
if we can't read. This requires a migration and will require users to
update their config files.