Skip to main content
DraftProduct scope: confirmation needed

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​

PackagePurpose
SeeraOS.Unit.SDK.AspNetCoreIntegrates an ASP.NET Core host with the SDK and maps unit endpoints.
SeeraOS.Unit.SDK.TestingTools for tests using SDK extension points.
SeeraOS.Unit.SDK.DocsDocumentation 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.

SettingMeaning
CoreAddressThe ControlPlane address required by the unit.
LinkKeyA one-time linking key for the initial enrollment.
DataPlaneBaseUrlThe unit’s advertised address when directly reachable.
DataPlaneAppIdThe Dapr application identifier used by the unit.
IdentityFilePathWhere 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.