Git Product home page Git Product logo

nomad-iis's Introduction

HashiCorp Nomad IIS Task Driver

Build Release License

Nomad IIS Logo

A task driver for HashiCorp Nomad to run web-applications in IIS on Windows machines. Unlike most other Nomad task drivers, this one is written in the C# language using ASP.NET 8. It uses the Microsoft.Web.Administration-API to communicate with IIS. Feel free to use it as-is or as a reference implementation for your own C#-based Nomad-plugins.

Note

This document always represents the latest version, which may not have been released yet.
Therefore, some features may not be available currently but will be available soon. You can use the GIT-Tags to check individual versions.

๐ŸŽ‰ Features

Feature Status Details
Single Web App per Nomad Task โœ” The Task Driver creates an IIS Application Pool and Website for every Nomad Task in the job specification.
Multiple Applications โœ” Support for multiple sub-applications below the website.
Virtual Directories โœ” Support for multiple virtual directories below an application.
HTTP Bindings โœ”
HTTPS Bindings โœ” GH-3
Environment Variables โœ” Details
Resource Statistics โœ”
Logging โœ” Experimental UDP logging. See GH-6 for details.
Signals โœ” Details
Exec (Shell Access) โŒ I'am playing around a little bit but don't want to give you hope :/. See GH-15 for status.
Filesystem Isolation ๐Ÿ”ถ Details
Nomad Networking โŒ
Management API โœ” Nomad IIS provides a very powerfull Management API with functionalities like taking a local screenshot or creating a process dump.

๐Ÿ“š Documentation

Please see the full documentation HERE.

๐Ÿ›  How to Compile

Run the setup command to download the nomad binary.

.\setup.ps1

Build the project by running the following command:

cd src
dotnet build

Of course you can also compile with Visual Studio :)

๐Ÿ› How to Debug locally

There is a launch-profile to run nomad in dev-mode which automatically loads the driver plugin. Open Visual Studio, select the Nomad (Dev) launch profile and press F5.

Note: To debug the driver itself, you need to attach the debugger to the nomad_iis.exe process manually.

๐ŸŽ How to build Release version

Run the Release.pubxml publish profile from Visual Studio. This will create a single binary exe called nomad_iis.exe.

๐Ÿšง TODOs and Known Issues

Check the Open Issues here.

โ˜• Support

You want to support me?

Buy Me A Coffee

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.