A driver plugin for nomad to orchestrate windows IIS website tasks.
A "Website" is a combination of an application pool and a site (app, vdir, etc.).
Each allocation will create an application pool and site with the name being the allocation ID (guid).
$ mkdir -p $GOPATH/src/github.com/Roblox
$ cd $GOPATH/src/github.com/Roblox
$ git clone git@github.com:Roblox/nomad-driver-iis.git
$ cd nomad-driver-iis
$ make build (This will build your nomad-driver-iis executable)
$ make test
This will run nomad-driver-iis tests in the provisioned vagrant VM.
Want to fix a bug, update documentation or add a feature?
PR's are welcome!!
Test your changes locally before contributing.
The easiest way to test your changes is make converge.
make converge will:
1) Build the executable (win_iis.exe)
2) Spin up a vagrant VM (vagrant up) if it's not already running.
3) Provision your changes into the VM (vagrant provision)
Once you are in the VM:
1) nomad-driver-iis codebase (hostpath) is mounted at C:\vagrant in the VM.
2) Plugin (executable) is available at C:\ProgramData\nomad\plugin
3) Logs are available at C:\ProgramData\nomad\logs.
4) Tail on logs in powershell:
$ Get-Content -path "C:\ProgramData\nomad\logs\nomad-output.log" -wait
5) Launch an example IIS website:
$ nomad job run C:\vagrant\examples\iis-test.nomad
make clean
This will destroy your vagrant VM (along with all your changes) and remove the executable (win_iis.exe).
$ claude mcp add nomad-driver-iis \
-- python -m otcore.mcp_server <graph>