HTTP KMS client backend.
This backend lets application servers call a dedicated KMS.API authority service
while using the same public KMS facade.
Configure with:
config :kms, :client, KMS.Client.Remote
config :kms, KMS.Client.Remote,
base_url: "https://kms.internal.example.com",
api_token: System.fetch_env!("KMS_REMOTE_API_TOKEN")The API token authenticates backend HTTP access. It is separate from KMS session
secrets, which are passed through opts[:session] when principal authorization is
required.
Fallback recovery operations are local-only. This module returns
{:error, :not_implemented} for them without issuing HTTP requests.
Convenience get_* functions return nil only for an API not_found response.
Transport, HTTP, and response-decoding failures remain {:error, reason}. Use the
corresponding fetch_* function when a uniform tagged result is preferable.