Kite.ApiGateway
0.2.0
dotnet add package Kite.ApiGateway --version 0.2.0
NuGet\Install-Package Kite.ApiGateway -Version 0.2.0
<PackageReference Include="Kite.ApiGateway" Version="0.2.0" />
<PackageVersion Include="Kite.ApiGateway" Version="0.2.0" />
<PackageReference Include="Kite.ApiGateway" />
paket add Kite.ApiGateway --version 0.2.0
#r "nuget: Kite.ApiGateway, 0.2.0"
#:package Kite.ApiGateway@0.2.0
#addin nuget:?package=Kite.ApiGateway&version=0.2.0
#tool nuget:?package=Kite.ApiGateway&version=0.2.0
Kite
An open-source AWS cloud emulator written in C# for .NET 10, similar to LocalStack. Run and test AWS services locally with full debugging support, OpenTelemetry integration, and seamless .NET Aspire compatibility.
✨ Features
- 9 AWS Services — Lambda, SQS, S3, DynamoDB, SNS, EventBridge, SSM, ECS, and API Gateway
- In-Process Lambda Execution — Run and debug .NET Lambda functions directly in your IDE
- AWS SDK Compatible — Use the official AWS SDK with endpoint override to
http://localhost:4566 - LocalStack Compatible — Exposes a
/_localstack/healthendpoint for tool compatibility - .NET Aspire Integration — First-class support including dashboard visibility and OpenTelemetry
- Event-Driven Triggers — SQS → Lambda, S3 → Lambda, EventBridge → Lambda, API Gateway → Lambda
- Fluent Builder API — Simple configuration through a fluent builder pattern
🚀 Quick Start
using Kite.Core;
var emulator = KiteBuilder.Create()
.WithPort(4566)
.AddLambda("MyFunction", lambda => lambda
.WithHandler("MyProject::MyNamespace.Function::FunctionHandler")
.WithDll("path/to/MyProject.dll"))
.AddSQSQueue("my-queue")
.AddSQSTrigger("my-queue", "MyFunction", batchSize: 10)
.AddS3Bucket("my-bucket")
.Build()
.UseHost();
await emulator.RunAsync();
Then point any AWS SDK client to the emulator:
var sqsClient = new AmazonSQSClient(
new BasicAWSCredentials("test", "test"),
new AmazonSQSConfig
{
ServiceURL = "http://localhost:4566",
AuthenticationRegion = "us-east-1"
});
📦 Supported Services
| Service | Operations |
|---|---|
| Lambda | CreateFunction, ListFunctions, GetFunction, DeleteFunction, Invoke, Event Source Mappings |
| SQS | CreateQueue, SendMessage, ReceiveMessage, DeleteMessage, GetQueueUrl, ListQueues |
| S3 | CreateBucket, PutObject, GetObject, DeleteObject, ListBuckets, ListObjectsV2 |
| DynamoDB | CreateTable, PutItem, GetItem, DeleteItem, UpdateItem, Query, Scan |
| SNS | CreateTopic, Publish, Subscribe, Unsubscribe, ListTopics, ListSubscriptions |
| EventBridge | PutEvents, CreateEventBus, PutRule, PutTargets, ListRules |
| SSM | GetParameter, PutParameter, DeleteParameter, GetParametersByPath |
| ECS | CreateCluster, RegisterTaskDefinition, RunTask, StopTask, ListClusters |
| API Gateway | Route matching, Lambda proxy integration, path parameter extraction |
📥 NuGet Packages
| Package | Version | Downloads | Description |
|---|---|---|---|
| Kite.Host | Run the emulator in-process on ASP.NET Core | ||
| Kite.Core | Core abstractions and fluent builder API | ||
| Kite.Lambda | AWS Lambda | ||
| Kite.SQS | Amazon SQS | ||
| Kite.S3 | Amazon S3 | ||
| Kite.DynamoDB | Amazon DynamoDB | ||
| Kite.SNS | Amazon SNS | ||
| Kite.EventBridge | Amazon EventBridge | ||
| Kite.SSM | AWS SSM Parameter Store | ||
| Kite.ECS | Amazon ECS | ||
| Kite.ApiGateway | API Gateway | ||
| Kite.Aspire | .NET Aspire hosting integration |
||
| Kite.Aspire.Dashboard | Aspire WithDashboard extension |
||
| Kite.Dashboard | Blazor Server dashboard |
📖 Documentation
Full documentation is available in the Wiki:
- Getting Started — Installation and setup
- Configuration — Builder API reference
- Architecture — System design and internals
- Lambda · SQS · S3 · DynamoDB · SNS · EventBridge · SSM · ECS · API Gateway
- Aspire Integration — .NET Aspire guide
- Dashboard — Built-in monitoring UI
🛠️ Building
dotnet restore Kite.slnx
dotnet build Kite.slnx --configuration Release
🧪 Testing
# Unit tests
dotnet test tests/Kite.Tests.Unit/Kite.Tests.Unit.csproj
# Integration tests
dotnet test tests/Kite.Tests.Integration/Kite.Tests.Integration.csproj
📂 Examples
| Example | Description |
|---|---|
examples/AppHost1 |
Basic .NET Aspire AppHost |
examples/SQS/ |
Standalone SQS → Lambda trigger |
examples/SQS.Aspire/ |
SQS → Lambda with .NET Aspire |
📄 License
This project is licensed under the terms specified in the LICENSE file.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Kite.Core (>= 0.2.0)
- Kite.Lambda (>= 0.2.0)
-
net8.0
- Kite.Core (>= 0.2.0)
- Kite.Lambda (>= 0.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Kite.ApiGateway:
| Package | Downloads |
|---|---|
|
Kite.Host
Runs the Kite AWS emulator in-process on ASP.NET Core. Install this package to use Kite in a standalone application or test project. |
GitHub repositories
This package is not used by any popular GitHub repositories.