Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets
1.0.0-dev.7
dotnet add package Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets --version 1.0.0-dev.7
NuGet\Install-Package Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets -Version 1.0.0-dev.7
<PackageReference Include="Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets" Version="1.0.0-dev.7" />
<PackageVersion Include="Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets" Version="1.0.0-dev.7" />
<PackageReference Include="Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets" />
paket add Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets --version 1.0.0-dev.7
#r "nuget: Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets, 1.0.0-dev.7"
#:package Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets@1.0.0-dev.7
#addin nuget:?package=Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets&version=1.0.0-dev.7&prerelease
#tool nuget:?package=Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets&version=1.0.0-dev.7&prerelease
Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets
.NET Aspire hosting extensions for publishing External Secrets Operator manifests from AppHost configuration. This package adds Kubernetes environment helpers, ExternalSecret builders, and 1Password External Secrets remote-reference mapping.
Installation
dotnet add package Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets
Quick Start
using Aspire.Hosting;
using Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets;
using Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets.OnePassword;
var builder = DistributedApplication.CreateBuilder(args);
var apiKey = builder.AddParameter("ApiKey", secret: true);
var api = builder.AddProject<Projects.Api>("api");
var kubernetes = builder.AddKubernetesEnvironment("kubernetes");
api.WithKubernetesExternalSecret("api-secrets", secret => secret
.MapOnePasswordParameter("ApiKey", apiKey, builder.Configuration)
.InKubernetesEnvironment(kubernetes));
builder.Build().Run();
WithKubernetesExternalSecret(...) emits the explicit ExternalSecret manifest during Kubernetes publish.
It does not require a separate environment-level WithExternalSecrets(...) call.
Configure environment defaults when multiple resource-local ExternalSecrets should share a store reference or refresh interval.
kubernetes.WithExternalSecrets(ExternalSecretsOptions.FromConfiguration(builder.Configuration));
You can also configure those defaults in code.
kubernetes.WithExternalSecrets(secrets => secrets
.WithSecretStore(ExternalSecretStoreOptions.ClusterSecretStore("shared-store"))
.WithRefreshInterval("30m"));
api.WithKubernetesExternalSecret("api-secrets", secret => secret
.MapRemoteSecret("ApiKey", apiKey, remoteKey: "Shared/API", remoteProperty: "credential")
.InKubernetesEnvironment(kubernetes));
builder.Build().Run();
Secret Reload Restarts
WithKubernetesExternalSecret(...) rewrites matching generated environment variables to read from the ExternalSecret target Secret.
When it emits those secretKeyRef entries, the generated Deployment metadata receives reloader.stakater.com/auto: "true" so Stakater Reloader can roll the workload after the referenced Secret changes.
api.WithKubernetesExternalSecret("api-secrets", secret =>
secret.MapOnePasswordParameter(
"ApiKey",
apiKey,
builder.Configuration));
api.WithoutSecretReloadRestart();
Use WithoutSecretReloadRestart() only for workloads that must not restart automatically after a referenced Kubernetes Secret rotates.
Scope
This package emits External Secrets Operator resource intent during Aspire publish. It does not install External Secrets Operator, create a cluster secret store, or grant live-cluster access.
Dependency
This package references Arkanis.Aspire.Hosting.Extensions.Kubernetes.
Repository
Source, issues, and release workflow details are available at https://github.com/ArkanisCorporation/Aspire.Hosting.Extensions.Kubernetes.
| 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
- Arkanis.Aspire.Hosting.Extensions.Kubernetes (>= 1.0.0-dev.7)
- Aspire.Hosting (>= 13.4.6)
- Aspire.Hosting.Kubernetes (>= 13.4.6-preview.1.26319.6)
- Microsoft.Extensions.Configuration (>= 10.0.9)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- YamlDotNet (>= 18.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Arkanis.Aspire.Hosting.Extensions.Kubernetes.ExternalSecrets:
| Package | Downloads |
|---|---|
|
Arkanis.Aspire.Hosting.Extensions.Kubernetes.CloudNativePostgres
Reusable Aspire hosting extensions for publishing CloudNativePG database resources and credentials ExternalSecrets. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-dev.7 | 122 | 7/5/2026 |
| 1.0.0-dev.6 | 63 | 7/5/2026 |
| 1.0.0-dev.5 | 80 | 7/4/2026 |
| 1.0.0-dev.4 | 67 | 7/3/2026 |
| 1.0.0-dev.3 | 63 | 7/2/2026 |
| 1.0.0-dev.2 | 309 | 6/16/2026 |
| 1.0.0-dev.1 | 95 | 6/11/2026 |