SlugEnt.VaultAgent
1.2.0-alpha-0000
See the version list below for details.
dotnet add package SlugEnt.VaultAgent --version 1.2.0-alpha-0000
NuGet\Install-Package SlugEnt.VaultAgent -Version 1.2.0-alpha-0000
<PackageReference Include="SlugEnt.VaultAgent" Version="1.2.0-alpha-0000" />
paket add SlugEnt.VaultAgent --version 1.2.0-alpha-0000
#r "nuget: SlugEnt.VaultAgent, 1.2.0-alpha-0000"
// Install SlugEnt.VaultAgent as a Cake Addin #addin nuget:?package=SlugEnt.VaultAgent&version=1.2.0-alpha-0000&prerelease // Install SlugEnt.VaultAgent as a Cake Tool #tool nuget:?package=SlugEnt.VaultAgent&version=1.2.0-alpha-0000&prerelease
VaultAgent
VaultAgent is a C# library that provides an opinionated access to the HashiCorp Vault API Interface. It has extensive unit tests for each of the implemented API methods and backends as well as robust error handling and plenty of documentation. C# classes that map to JSON objects are always used to return information to the caller.
Beta Product
This is still very much a beta product and only implements a subset of the full Vault backend functionality, but probably the backends that most users would initially be looking for.
It has been Unit tested against Vault version 1.3.1 (Latest as of January 2020).
Implemented Functionality
This library is very much a Work In Process. The core modules that we needed to use have been implemented. Following is the status of the backends
System Backend
- Mounts - Fully Implemented
- Auth - Fully Implemented
- Audit - (Partial - no hash)
- Capabilities (Partial)
- Policy / Policies - Fully Implemented
App Role Backend (95% implemented, just a couple of the accessor and other minor functions not implemented.)
LDAP Auth Backend (75%)
- Login - Implemented
- Group To Policy Mapping - Implemented
- Save / Read LDAP Engine Config - Implemented Mainly missing the User methods and delete group method
Token Auth Backend (95%)
- All important methods and most informational methods implemented.
Identity Secret Engine (60%)
- All Entity and Entity Alias methods implemented
- Missing Group information.
KeyValue V2 (100%)
- Fully implemented.
KeyValue V1 (90%)
Transit (90%)
Next Steps
- Finish the LDAP and Identity backends.
Usage
To test the library you will need to have a local instance of the Vault binary installed somewhere. In the Solution Folder there is a RunVaultDev.bat script that you can use as a sample for starting your own Vault instance up. Both the Unit Test and the VaultClient sample require a Vault Instance with the following configuration.
- IP Address: 127.0.0.1
- Port: 16100
- Root Token: tokenA
The RunVaultDev.bat file will automatically start a development instance of Vault up with the above settings. These Vault Settings are hardcoded in 2 places in the test/sample projects:
- VaultClient - VaultClient_Main
- VaultAgent.Test - VaultServerSetup.cs:InitTestingSetup
VaultClient
At the moment this pretty much needs to be re-written with some real samples. At the present it is wired for an Active Directory Login and thus nothing will work without this.
This needs to be replaced.
The Transit samples work
#!CSharp
// The following are all examples of use
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net5.0
- Newtonsoft.Json (>= 12.0.3)
- SlugEnt.TimeUnit (>= 1.1.2)
- System.Collections.Specialized (>= 4.3.0)
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 |
---|---|---|
1.3.0 | 206 | 4/3/2024 |
1.2.1 | 226 | 7/5/2023 |
1.2.0 | 443 | 7/23/2022 |
1.2.0-alpha-0001b | 183 | 7/9/2022 |
1.2.0-alpha-0000 | 234 | 10/23/2021 |
1.1.0 | 507 | 3/30/2021 |
1.0.0 | 451 | 8/28/2020 |
1.0.0-rc-243 | 388 | 8/14/2020 |
1.0.0-rc-242 | 410 | 8/1/2020 |
1.0.0-rc-241 | 333 | 7/31/2020 |
1.0.0-rc-239 | 334 | 7/30/2020 |
1.0.0-rc-237 | 445 | 7/25/2020 |
1.0.0-rc-235 | 334 | 7/2/2020 |
1.0.0-rc-233 | 296 | 7/2/2020 |
1.0.0-rc-232 | 341 | 7/2/2020 |
1.0.0-rc-231 | 316 | 6/24/2020 |
1.0.0-rc-227 | 410 | 6/23/2020 |
1.0.0-rc-224 | 344 | 6/23/2020 |
1.0.0-rc-219 | 371 | 6/23/2020 |
1.0.0-rc-218 | 363 | 6/23/2020 |
1.0.0-rc-216 | 402 | 6/22/2020 |
1.0.0-rc-213 | 355 | 6/4/2020 |
1.0.0-rc-212 | 341 | 6/1/2020 |
1.0.0-rc-210 | 330 | 6/1/2020 |
1.0.0-rc-209 | 358 | 5/5/2020 |
1.0.0-rc-208 | 365 | 4/30/2020 |
1.0.0-rc-205 | 331 | 4/26/2020 |
1.0.0-rc-201 | 315 | 4/22/2020 |
1.0.0-rc-187 | 330 | 4/20/2020 |
1.0.0-rc-186 | 351 | 4/16/2020 |
1.0.0-rc-183 | 329 | 4/15/2020 |
1.0.0-rc-181 | 353 | 4/1/2020 |
1.0.0-rc-172 | 354 | 4/1/2020 |
1.0.0-rc-167 | 356 | 4/1/2020 |
1.0.0-rc-164 | 375 | 3/11/2020 |
1.0.0-rc-126 | 324 | 3/6/2020 |
1.0.0-rc-124 | 470 | 2/1/2020 |
1.0.0-rc-118 | 417 | 1/31/2020 |
1.0.0-rc-114 | 374 | 1/30/2020 |
1.0.0-rc-113 | 377 | 1/28/2020 |
1.0.0-rc-112 | 370 | 1/28/2020 |
1.0.0-rc-110 | 405 | 1/27/2020 |
1.0.0-rc-103 | 448 | 1/26/2020 |
1.0.0-rc-01 | 507 | 1/19/2020 |
0.1.0 | 912 | 1/14/2019 |
Supports Token, LDAP, AppRole, System, Transit, Identity, Keyvalue1 and KeyValue2 backends.