Unit SDK .NET
Unit SDK .NET provides libraries for building services that participate in SeeraOS. It handles interaction with the platform while leaving business logic to the unit author.
Package access
SDK packages are distributed through a private NuGet feed. Before starting, obtain the feed address and permissions from the person managing your deployment. Access to public documentation does not grant access to packages or source code.
Configure the package source and map SeeraOS.* package names to the private feed. Keep credentials outside the project repository.
Once access is configured, add the basic hosting package:
dotnet add package SeeraOS.Unit.SDK.AspNetCore
Choose a package version that matches the component set used by your deployment.
Main packages
| Package | Purpose |
|---|---|
SeeraOS.Unit.SDK.AspNetCore | Integrates an ASP.NET Core host with the SDK and maps unit endpoints. |
SeeraOS.Unit.SDK.Testing | Tools for tests using SDK extension points. |
SeeraOS.Unit.SDK.Docs | Documentation and an example distributed with the packages. |
Responsibilities of the unit author
The author implements operation handlers and provides the exposition description. The SDK does not prescribe a domain model, application structure or database.
This snippet shows the host integration sequence. It is not a complete deployment example: platform configuration, identity and your own capability implementations are required.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSeeraOSUnit(builder.Configuration);
builder.Services.AddSeeraOSUnitAuthentication(builder.Configuration);
// Register your operation implementations and exposition description here.
var app = builder.Build();
app.UseAuthentication();
app.MapSeeraOSUnit();
await app.RunAsync();
AddSeeraOSUnit registers SDK services. MapSeeraOSUnit maps the supported endpoints. Authentication integration supplies the identity context used for access checks; starting the process does not replace configuring this mechanism.
Connection configuration
SDK settings are bound to the SeeraOS:Unit section.
| Setting | Meaning |
|---|---|
CoreAddress | The ControlPlane address required by the unit. |
LinkKey | A one-time linking key for the initial enrollment. |
DataPlaneBaseUrl | The unit’s advertised address when directly reachable. |
DataPlaneAppId | The Dapr application identifier used by the unit. |
IdentityFilePath | Where the default store saves identity and keys. |
Values and how they are supplied must match the specific environment. Do not include linking keys or credentials in public examples.
Compatibility and scope
The SDK uses shared Protocol contracts and a pinned corpus of conformance vectors. Versions are part of selecting a component set, rather than a guarantee that any combination works.
This is an introduction to the SDK. It does not establish that the entire platform or a complete application scenario has been run. For context, read architecture and core concepts.
For complete files of a custom unit, see the Notes example.