Bielu Microservices Orchestrator

A .NET library for managing container runtimes — Docker, Podman, containerd and Kubernetes — through one unified abstraction. Write your container-management logic once and swap the runtime with a single line of configuration.

dotnet add package Bielu.Microservices.Orchestrator
dotnet add package Bielu.Microservices.Orchestrator.Docker
builder.Services.AddMicroservicesOrchestrator(orchestrator => orchestrator.AddDocker());

// anywhere in your app
public class MyService(IContainerOrchestrator orchestrator)
{
    public Task<string> RunNginxAsync() =>
        orchestrator.Containers.CreateAsync(new CreateContainerRequest()
            .WithImage("nginx:latest")
            .WithName("my-nginx")
            .WithPort(80, 8080));
}

Get started

Install a provider, register the orchestrator and run your first container.

Getting Started →

Runtime providers

Docker, Podman, containerd and Kubernetes behind the same interfaces.

Runtime Providers →

Production ready

State tracking with recovery, image updates, OpenTelemetry tracing and metrics, health checks.

Observability →

Packages

Package Description
Bielu.Microservices.Orchestrator Core abstractions, models and builder
Bielu.Microservices.Orchestrator.Docker Docker runtime provider
Bielu.Microservices.Orchestrator.Podman Podman runtime provider
Bielu.Microservices.Orchestrator.Containerd containerd runtime provider
Bielu.Microservices.Orchestrator.Kubernetes Kubernetes runtime provider
Bielu.Microservices.Orchestrator.OpenTelemetry OpenTelemetry tracing and metrics
Bielu.Microservices.Orchestrator.HealthChecks ASP.NET Core health-check integration
Bielu.Microservices.Orchestrator.Storage.EfCore EF Core instance store
Bielu.Microservices.Orchestrator.Storage.File File-based (JSON) instance store