Skip to content

TibaGroup/nomad-dotnet-driver

Repository files navigation

Nomad Dotnet Driver Plugin

Nomad Task Driver for Dotnet Core Nomad task driver plugins.

This project is the counterpart of Nomad Java Driver for Dotnet

Requirements

  • Go v1.18 or later (to compile the plugin)
  • Nomad v0.9+ (to run the plugin)

Deploying Driver Plugins in Nomad

The initial version of the skeleton is a simple task that outputs a greeting. You can try it out by starting a Nomad agent and running the job provided in the example folder:

$ make build
$ nomad agent -dev -config=./example/agent.hcl -plugin-dir=$(pwd)

# in another shell
$ nomad run ./example/example.nomad
$ nomad logs <ALLOCATION ID>

Dotnet Job Configuration

As you may know, we can use nomad to run task without traditional containers (Docker, OCI...) and instead use OS-level or Runtime-level isolations. CLR as dotnet runtime, facilitates some isolations, for example thread limitations and GC memory restrictions. You can use both isolations within Nomad job configurations. The dotnet command line configuration for running the process is ported here in the 3 category of Gc config, Threading config and globalization config.