![]() |
VOOZH | about |
dotnet add package Excalibur.LeaderElection.Kubernetes --version 3.0.0-alpha.208
NuGet\Install-Package Excalibur.LeaderElection.Kubernetes -Version 3.0.0-alpha.208
<PackageReference Include="Excalibur.LeaderElection.Kubernetes" Version="3.0.0-alpha.208" />
<PackageVersion Include="Excalibur.LeaderElection.Kubernetes" Version="3.0.0-alpha.208" />Directory.Packages.props
<PackageReference Include="Excalibur.LeaderElection.Kubernetes" />Project file
paket add Excalibur.LeaderElection.Kubernetes --version 3.0.0-alpha.208
#r "nuget: Excalibur.LeaderElection.Kubernetes, 3.0.0-alpha.208"
#:package Excalibur.LeaderElection.Kubernetes@3.0.0-alpha.208
#addin nuget:?package=Excalibur.LeaderElection.Kubernetes&version=3.0.0-alpha.208&prereleaseInstall as a Cake Addin
#tool nuget:?package=Excalibur.LeaderElection.Kubernetes&version=3.0.0-alpha.208&prereleaseInstall as a Cake Tool
Kubernetes implementation of distributed leader election using the Lease API.
dotnet add package Excalibur.LeaderElection.Kubernetes
// Register Kubernetes leader election
services.AddExcaliburKubernetesLeaderElection(options =>
{
options.Namespace = "my-namespace";
options.LeaseName = "my-app-leader";
options.LeaseDurationSeconds = 15;
options.RenewIntervalMilliseconds = 5000;
});
// Or with hosted service for automatic management
services.AddExcaliburKubernetesLeaderElectionHostedService("order-processor");
| Option | Default | Description |
|---|---|---|
Namespace |
auto-detect | Kubernetes namespace |
LeaseName |
{resource}-leader-election |
Lease resource name |
CandidateId |
pod name | Unique candidate identifier |
LeaseDurationSeconds |
15 | Lease duration |
RenewIntervalMilliseconds |
5000 | Lease renewal interval |
RetryIntervalMilliseconds |
2000 | Acquisition retry interval |
GracePeriodSeconds |
5 | Grace period before leader considered dead |
StepDownWhenUnhealthy |
true | Auto-release leadership when unhealthy |
Kubernetes Lease API provides native distributed locking:
Your pod's service account needs Lease permissions:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: leader-election-role
rules:
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
Excalibur.LeaderElection - Core abstractions and InMemory implementationThis project is multi-licensed under:
See for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-alpha.208 | 43 | 6/11/2026 |
| 3.0.0-alpha.207 | 43 | 6/11/2026 |
| 3.0.0-alpha.205 | 44 | 6/10/2026 |
| 3.0.0-alpha.204 | 51 | 6/8/2026 |
| 3.0.0-alpha.203 | 50 | 6/8/2026 |
| 3.0.0-alpha.202 | 46 | 6/8/2026 |
| 3.0.0-alpha.201 | 50 | 6/8/2026 |
| 3.0.0-alpha.199 | 49 | 6/8/2026 |
| 3.0.0-alpha.198 | 58 | 5/28/2026 |
| 3.0.0-alpha.197 | 62 | 5/28/2026 |
| 3.0.0-alpha.194 | 58 | 5/20/2026 |
| 3.0.0-alpha.193 | 53 | 5/13/2026 |
| 3.0.0-alpha.192 | 48 | 5/13/2026 |
| 3.0.0-alpha.191 | 51 | 5/13/2026 |
| 3.0.0-alpha.189 | 48 | 5/12/2026 |
| 3.0.0-alpha.187 | 55 | 5/8/2026 |
| 3.0.0-alpha.185 | 52 | 5/7/2026 |
| 3.0.0-alpha.183 | 57 | 5/7/2026 |
| 3.0.0-alpha.182 | 49 | 5/6/2026 |
| 3.0.0-alpha.181 | 50 | 5/6/2026 |