feat(hubspot): add api_key_name support for Vault secret lookup by name #545
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.
Summary
Add
api_key_namesupport to HubSpot FDW, enabling Vault secret lookup by name for environment-agnostic configuration.This PR includes the complete infrastructure to support
api_key_namein WASM-based FDWs:Infrastructure Changes (enables feature for all WASM FDWs)
get-vault-secret-by-namefunction to WIT interface (v1 and v2)get_vault_secret_by_nameHubSpot FDW Changes
api_key_nameoption to HubSpot FDW authenticationapi_keyaccepts Private App Access Tokens (HubSpot deprecated legacy API Keys in November 2022)Changes
wasm-wrappers/wit/v1/utils.witget-vault-secret-by-nameto WIT interfacewasm-wrappers/wit/v2/utils.witget-vault-secret-by-nameto WIT interfacewrappers/src/fdw/wasm_fdw/host/utils.rswasm-wrappers/fdw/hubspot_fdw/src/lib.rsapi_key_namesupportdocs/catalog/hubspot.mdTesting
api_keyandapi_key_idBenefits
Using
api_key_nameenables environment-agnostic configuration - the same SQL works across dev, staging, and production as long as each environment has a Vault secret with the same name.Fixes #437
Relates to #461 (adds documentation clarifying that
api_keyaccepts Private App Access Tokens, not the deprecated legacy API Keys)