/DolittleRuntime

This repository holds the runtime for Dolittle

Primary LanguageC#MIT LicenseMIT

Dolittle


Latest Docker image Build status CodeQL status

Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.

The Runtime is the backend of our system and manages connections from the SDKs and Runtimes to the Event Store. It's called the Runtime as it's what runs and powers the SDK's to do their job.

Get Started

Images

There are 2 different types of images. The Production images contain the Runtime. The Development images have the Runtime and a MongoDB instance running on port 27017 for easier development. We also have arm64 variants of both images.

Type Version
Production Docker
Development Docker

Development

Build:

From project root:

dotnet build

Run:

From project root:

cd Source/Server
dotnet run

Configuration files are in Source/Server/.dolittle/

Tests:

From project root:

dotnet test

Building the Docker image

You build all images from the project root:

Production:

docker build -t dolittle/runtime -f ./Docker/Production/Dockerfile .

ARM64 Production:

docker build -t dolittle/runtime:arm64 -f ./Docker/ARM64Production/Dockerfile .

Development:

docker build -t dolittle/runtime:development -f ./Docker/Development/Dockerfile .

ARM64 Development:

docker build -t dolittle/runtime:arm64-development -f ./Docker/ARM64Development/Dockerfile .

Visual Studio

You can open the .sln file in the root of the repository and just build directly.

VSCode

We have readymade tasks for VSCode. Press F1 and type Run Tasks and select Tasks: Run Tasks to see the tasks. They are folder sensitive and will look for the nearest .csproj file based on the file you have open. If it doesn't find it, it will pick the .sln file instead.

More

Go to our documentation site and learn more about the project and how to get started. Samples can be found in dolittle-samples. Our entropy projects are in dolittle-entropy.

Issues and Contributing

Issues and contributions are always welcome!

To learn how to contribute, please read our contributing guide.