Excalibur.Data.ElasticSearch.Azure
10.0.0-alpha.13
dotnet add package Excalibur.Data.ElasticSearch.Azure --version 10.0.0-alpha.13
NuGet\Install-Package Excalibur.Data.ElasticSearch.Azure -Version 10.0.0-alpha.13
<PackageReference Include="Excalibur.Data.ElasticSearch.Azure" Version="10.0.0-alpha.13" />
<PackageVersion Include="Excalibur.Data.ElasticSearch.Azure" Version="10.0.0-alpha.13" />
<PackageReference Include="Excalibur.Data.ElasticSearch.Azure" />
paket add Excalibur.Data.ElasticSearch.Azure --version 10.0.0-alpha.13
#r "nuget: Excalibur.Data.ElasticSearch.Azure, 10.0.0-alpha.13"
#:package Excalibur.Data.ElasticSearch.Azure@10.0.0-alpha.13
#addin nuget:?package=Excalibur.Data.ElasticSearch.Azure&version=10.0.0-alpha.13&prerelease
#tool nuget:?package=Excalibur.Data.ElasticSearch.Azure&version=10.0.0-alpha.13&prerelease
Excalibur.Data.ElasticSearch.Azure
Azure Key Vault connection-credential storage for Excalibur.Data.ElasticSearch.
Install this package only if you back Elasticsearch authentication secrets with Key Vault. The base
Excalibur.Data.ElasticSearch package carries no Azure SDK dependency, so consumers who do not use
Key Vault do not download Azure.Identity or Azure.Security.KeyVault.Secrets.
Usage
services.AddAzureKeyVaultCredentialStorage(configuration);
services.AddElasticsearchSecurity(configuration);
Call it before AddElasticsearchSecurity (or AddAuthentication): the base package registers an
in-memory development store with TryAdd, so the first registration wins.
Configuration binds from Elasticsearch:Security:Encryption:KeyManagement:AzureKeyVault.
What this stores, and what it does not
This is a connection-credential store — the OAuth tokens, service-account secrets, passwords and API keys used to authenticate to Elasticsearch. It returns opaque secret strings.
It never returns key material for cryptographic operations. That is a deliberate boundary, not an
omission. Field-level encryption keys are resolved through Excalibur.Compliance.IKeyManagementProvider
— a structurally separate abstraction that hands back key metadata rather than keys, so this package
cannot obtain key material even accidentally.
Two other Excalibur packages also integrate Azure Key Vault and are not interchangeable with this one:
| Package | Abstraction | Key Vault surface | What it is for |
|---|---|---|---|
Excalibur.Data.ElasticSearch.Azure (this) |
IElasticsearchKeyProvider |
Secrets | Elasticsearch connection credentials |
Excalibur.Security.Azure |
IKeyProvider (byte[]-valued) |
Secrets | Key custody via secrets |
Excalibur.Compliance.Azure |
IKeyManagementProvider |
Keys + Crypto | True key custody |
They integrate with the same external system, which is the one property every adapter to Key Vault shares and therefore the worst reason to treat them as duplicates. Substituting one for another moves key material across a boundary that exists to keep it out of this package.
Migrating from Excalibur.Data.ElasticSearch
These types shipped in the base package. Add a PackageReference to this one; namespaces, type names
and the AddAzureKeyVaultCredentialStorage signature are unchanged, so no source edit is required.
License
This project is multi-licensed under:
See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Azure.Identity (>= 1.21.0)
- Azure.Security.KeyVault.Secrets (>= 4.10.0)
- Ben.Demystifier (>= 0.4.1)
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.12.0)
- Dapper (>= 2.1.72)
- Elastic.Clients.Elasticsearch (>= 9.4.1)
- Elastic.Transport (>= 0.17.1)
- Excalibur.Data.ElasticSearch (>= 10.0.0-alpha.13)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- IdentityModel (>= 7.0.0)
- JsonNet.ContractResolvers (>= 2.0.0)
- Medo.Uuid7 (>= 3.2.0)
- MemoryPack (>= 1.21.4)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Caching.Memory (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.10)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.10)
- Microsoft.Extensions.Configuration.Json (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.ObjectPool (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- NCrontab (>= 3.4.0)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- Polly (>= 8.6.6)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
- System.IO.Hashing (>= 10.0.7)
- System.Threading.RateLimiting (>= 10.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.13 | 32 | 9/29/2026 |
| 10.0.0-alpha.12 | 50 | 9/25/2026 |
Release notes and versioning policy: https://docs.excalibur-dispatch.dev/docs/migration/version-upgrades