MCPcopy Index your code
hub / github.com/Roblox/nomad-driver-iis

github.com/Roblox/nomad-driver-iis @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
103 symbols 270 edges 6 files 88 documented · 85%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Nomad IIS Driver

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).

Requirements

  • Nomad >=v0.11
  • Go >=v1.11 (to build the provider plugin)
  • Vagrant >=v2.2
  • VirtualBox v6.0 (or any version vagrant is compatible with)

Building the driver

$ 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)

Tests

$ make test

This will run nomad-driver-iis tests in the provisioned vagrant VM.

Contributing to nomad-iis-driver

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

Cleanup

make clean

This will destroy your vagrant VM (along with all your changes) and remove the executable (win_iis.exe).

Core symbols most depended-on inside this repo

executeAppCmd
called by 15
iis/iis.go
getSSLCertBinding
called by 7
iis/iis.go
Get
called by 7
iis/state.go
isIISRunning
called by 5
iis/iis.go
getSite
called by 5
iis/iis.go
unbindSSLCert
called by 5
iis/iis.go
handleError
called by 5
iis/handle.go
applySiteBindings
called by 4
iis/iis.go

Shape

Function 52
Method 32
Struct 19

Languages

Go100%

Modules by API surface

iis/iis.go56 symbols
iis/driver.go24 symbols
iis/handle.go10 symbols
iis/iis_test.go6 symbols
iis/state.go5 symbols
main.go2 symbols

For agents

$ claude mcp add nomad-driver-iis \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact