Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


iis (106) Versions 2.1.4

Installs/Configures Windows IIS

cookbook 'iis', '= 2.1.4', :supermarket
cookbook 'iis', '= 2.1.4'
knife supermarket install iis
knife supermarket download iis
Quality 0%


Installs and configures Microsoft Ingternet Information Services (IIS) 7.0/7.5/8.0



  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows Server 2008 (R1, R2)
  • Windows Server 2012
  • Windows Server 2012R2

Windows 2003R2 is not supported because it lacks Add/Remove Features.


  • windows


  • node['iis']['home'] - IIS main home directory. default is %WINDIR%\System32\inetsrv
  • node['iis']['conf_dir'] - location where main IIS configs lives. default is %WINDIR%\System32\inetsrv\config
  • node['iis']['pubroot'] - . default is %SYSTEMDRIVE%\inetpub
  • node['iis']['docroot'] - IIS web site home directory. default is %SYSTEMDRIVE%\inetpub\wwwroot
  • node['iis']['log_dir'] - location of IIS logs. default is %SYSTEMDRIVE%\inetpub\logs\LogFiles
  • node['iis']['cache_dir'] - location of cached data. default is %SYSTEMDRIVE%\inetpub\temp



Allows easy management of IIS virtual sites (ie vhosts).


  • :add - add a new virtual site
  • :config - apply configuration to an existing virtual site
  • :delete - delete an existing virtual site
  • :start - start a virtual site
  • :stop - stop a virtual site
  • :restart - restart a virtual site

Attribute Parameters

  • product_id - name attribute. Specifies the ID of a product to install.
  • site_name - name attribute.
  • site_id - if not given IIS generates a unique ID for the site
  • path - IIS will create a root application and a root virtual directory mapped to this specified local path
  • protocol - http protocol type the site should respond to. valid values are :http, :https. default is :http
  • port - port site will listen on. default is 80
  • host_header - host header (also known as domains or host names) the site should map to. default is all host headers
  • options - additional options to configure the site
  • bindings - Advanced options to configure the information required for requests to communicate with a Web site. See for parameter format. When binding is used, port protocol and host_header should not be used.
  • application_pool - set the application pool of the site
  • options - support for additional options -logDir, -limits, -ftpServer, etc...


# stop and delete the default site
iis_site 'Default Web Site' do
  action [:stop, :delete]

# create and start a new site that maps to
# the physical location C:\inetpub\wwwroot\testfu
iis_site 'Testfu Site' do
  protocol :http
  port 80
  path "#{node['iis']['docroot']}/testfu"
  action [:add,:start]

# do the same but map to domain
iis_site 'Testfu Site' do
  protocol :http
  port 80
  path "#{node['iis']['docroot']}/testfu"
  host_header ""
  action [:add,:start]


Runs a config command on your IIS instance.


  • :config - Runs the configuration command

Attribute Parameters

  • cfg_cmd - name attribute. What ever command you would pass in after "appcmd.exe set config"


#Sets up logging
iis_config "/section:system.applicationHost/sites /"D:\\logs"" do
    action :config

#Loads an array of commands from the node
cfg_cmds = node['iis']['cfg_cmd']
cfg_cmds.each do |cmd|
    iis_config "#{cmd}" do
        action :config


Creates an application pool in IIS.


  • :add - add a new application pool
  • :config - apply configuration to an existing application pool
  • :delete - delete an existing application pool
  • :start - start a application pool
  • :stop - stop a application pool
  • :restart - restart a application pool
  • :recycle - recycle an application pool

Attribute Parameters

  • pool_name - name attribute. Specifies the name of the pool to create.
  • runtime_version - specifies what .NET version of the runtime to use.
  • pipeline_mode - specifies what pipeline mode to create the pool with
  • private_mem - specifies the amount of private memory (in kilobytes) after which you want the pool to recycle
  • worker_idle_timeout - specifies the idle time-out value for a pool, d.hh:mm:ss, d optional
  • recycle_after_time - specifies a pool to recycle at regular time intervals, d.hh:mm:ss, d optional
  • recycle_at_time - schedule a pool to recycle at a specific time, d.hh:mm:ss, d optional
  • max_proc - specifies the number of worker processes associated with the pool.
  • thirty_two_bit - set the pool to run in 32 bit mode, true or false
  • no_managed_code - allow Unmanaged Code in setting up IIS app pools
  • pool_username - username for the identity for the application pool
  • pool_password password for the identity for the application pool


 #creates a new app pool
 iis_pool 'myAppPool_v1_1' do
     runtime_version "2.0"
     pipeline_mode :Classic
     action :add


Creates an application in IIS.


  • :add - add a new application pool
  • :delete - delete an existing application pool

Attribute Parameters

  • app_name - name attribute. The name of the site to add this app to
  • path -The virtual path for this application
  • applicationPool - The pool this application belongs to
  • physicalPath - The physical path where this app resides.
  • enabled_protocols - The enabled protocols that this app provides (http, https, net.pipe, net.tcp, etc)


#creates a new app
iis_app "myApp" do
  path "/v1_1"
  application_pool "myAppPool_v1_1"
  physical_path "#{node['iis']['docroot']}/testfu/v1_1"
  enabled_protocols "http,net.pipe"
  action :add


Manages modules globally or on a per site basis.


  • :add - add a new module
  • :delete - delete a module

Attribute Parameters

  • module_name - The name of the module to add or delete
  • type - The type of module
  • precondition - precondition for module
  • application - The application or site to add the module to


# Adds a module called "My 3rd Party Module" to mySite/
iis_module "My 3rd Party Module" do
  application "mySite/"
  precondition "bitness64"
  action :add

# Adds a module called "MyModule" to all IIS sites on the server
iis_module "MyModule"



Installs and configures IIS 7.0/7.5/8.0 using the default configuration.


This cookbook also contains recipes for installing individual IIS modules (extensions). These recipes can be included in a node's run_list to build the minimal desired custom IIS installation.

  • mod_aspnet - installs ASP.NET runtime components
  • mod_auth_basic - installs Basic Authentication support
  • mod_auth_windows - installs Windows Authentication (authenticate clients by using NTLM or Kerberos) support
  • mod_compress_dynamic - installs dynamic content compression support. PLEASE NOTE - enabling dynamic compression always gives you more efficient use of bandwidth, but if your server's processor utilization is already very high, the CPU load imposed by dynamic compression might make your site perform more slowly.
  • mod_compress_static - installs static content compression support
  • mod_iis6_metabase_compat - installs IIS 6 Metabase Compatibility component.
  • mod_isapi - installs ISAPI (Internet Server Application Programming Interface) extension and filter support.
  • mod_logging - installs and enables HTTP Logging (logging of Web site activity), Logging Tools (logging tools and scripts) and Custom Logging (log any of the HTTP request/response headers, IIS server variables, and client-side fields with simple configuration) support
  • mod_management - installs Web server Management Console which supports management of local and remote Web servers
  • mod_security - installs URL Authorization (Authorizes client access to the URLs that comprise a Web application), Request Filtering (configures rules to block selected client requests) and IP Security (allows or denies content access based on IP address or domain name) support.
  • mod_tracing - installs support for tracing ASP.NET applications and failed requests.

Note: Not every possible IIS module has a corresponding recipe. The foregoing recipes are included for convenience, but users may also place additional IIS modules that are installable as Windows features into the node['iis']['components'] array.

License and Author

Copyright:: 2011-2013, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

windows >= 1.2.6

Contingent cookbooks

asp_core Applicable Versions
certificate_services Applicable Versions
iis-lb Applicable Versions
iis-packages-server Applicable Versions
iis_urlrewrite Applicable Versions
nopcommerce Applicable Versions
php Applicable Versions
proget Applicable Versions
sitecore Applicable Versions
tfs Applicable Versions
tfs 1.20160723.8
tfs 1.20160723.9
tfs 1.20160723.10
tfs 1.20160723.11
tfs 1.20160724.1
tfs 1.20160731.1
tfs 1.20160801.1
tfs 1.20160802.1
tfs 1.20160824.1
tfs 1.20160825.1
tfs 1.20160825.2
tfs 1.20160826.1
tfs 1.20160826.2
tfs 1.20160826.3
tfs 1.20160826.4
tfs 1.20160826.5
tfs 1.20160826.6
tfs 1.20160826.7
tfs 1.20160826.8
tfs 1.20160826.9
tfs 1.20160826.10
tfs 1.20160827.1
tfs 1.20160828.1
tfs 1.20160828.2
tfs 1.20160828.3
tfs 1.20160828.4
tfs 1.20160828.5
tfs 1.20160828.6
tfs 1.20160828.7
tfs 1.20160828.8
tfs 1.20160830.1
tfs 1.20160830.2
tfs 1.20160831.1
tfs 1.20160831.2
tfs 1.20160831.3
tfs 1.20160831.4
tfs 1.20160831.5
tfs 1.20160831.6
tfs 1.20160831.7
tfs 1.20160831.8
tfs 1.20160831.9
tfs 1.20160831.10
tfs 1.20160831.11
tfs 1.20160903.1
tfs 1.20160903.2
tfs 1.20160903.3
tfs 1.20160903.4
tfs 1.20160903.5
tfs 1.20160903.6
tfs 1.20160903.7
tfs 1.20160903.8
tfs 1.20160904.1
tfs 1.20160904.2
tfs 1.20160904.3
tfs 1.20160904.4
tfs 1.20160904.5
tfs 1.20160904.6
tfs 1.20160904.7
tfs 1.20160904.8
tfs 1.20160907.1
tfs 1.20160910.1
tfs 1.20160910.2
tfs 1.20160911.1
tfs 1.20160920.1
tfs 1.20161023.1
tfs 1.20161023.2
tfs 1.20161103.1
tfs 1.20161103.2
tfs 1.20161104.1
tfs 1.20161106.1
tfs 1.20161112.2
tfs 1.20161112.3
tfs 1.20161113.1
tfs 1.20161118.1
tfs 1.20161118.2
tfs 1.20161120.1
tfs 1.20161120.2
tfs 1.20161122.1
tfs 1.20161122.2
tfs 1.20161122.3
tfs 1.20161122.4
tfs 1.20161123.1
tfs 1.20161123.2
tfs 1.20161123.3
tfs 1.20161123.4
tfs 1.20161123.5
tfs 1.20161123.6
tfs 1.20161123.7
tfs 1.20161123.8
tfs 1.20161123.9
tfs 1.20161123.10
tfs 1.20161124.1
tfs 1.20161126.1
tfs 1.20161126.2
tfs 1.20161126.3
tfs 1.20161127.1
tfs 1.20161127.2
tfs 1.20161127.3
tfs 1.20161130.1
tfs 1.20161130.2
tfs 1.20161201.1
tfs 1.20161202.1
tfs 1.20161202.2
tfs 1.20161202.3
tfs 1.20161202.4
tfs 1.20161203.1
tfs 1.20161203.2
tfs 1.20161203.3
tfs 1.20161204.1
tfs 1.20170204.3
tfs 1.20170205.1
tfs 1.20170224.1
tfs 1.20170224.2
tfs 1.20170304.1
tfs 1.20170304.2
tfs 1.20170304.3
tfs 1.20170305.1
tfs 1.20170313.1
tfs 1.20170313.2
tfs 1.20170314.1
tfs 1.20170314.2
tfs 1.20170314.3
tfs 1.20170314.4
tfs 1.20170314.5
tfs 1.20170315.1
tfs 1.20170315.2
tfs 1.20170321.1
tfs 1.20170321.2
tfs 1.20170321.3
tfs 1.20170324.1
tfs 1.20170324.2
tfs 1.20170325.1
tfs 1.20170325.2
tfs 1.20170325.3
tfs 1.20170327.1
tfs 1.20170327.2
tfs 1.20170327.3
tfs 1.20170408.1
tfs 1.20170409.1
tfs 1.20170409.2
tfs 1.20170409.3
tfs 1.20170409.4
tfs 1.20170409.5
tfs 1.20170409.6
tfs 1.20170409.7
tfs 1.20170411.1
tfs 1.20170422.1
tfs 1.20170423.1
tfs 1.20170423.2
tfs 1.20170517.1
tfs 1.20170527.1
tfs 1.20170527.2
tfs 1.20170527.3
tfs 1.20170527.4
tfs 1.20170527.5
tfs 1.20170527.6
webdeploy Applicable Versions
wordpress Applicable Versions
wsus-server Applicable Versions

v2.1.4 (2014-09-13)

  • [#72] Adds chefspec matchers
  • [#57] Fixes site_id not being updated on a :config action

v2.1.2 (2014-04-23)

  • [COOK-4559] Remove invalid UTF-8 characters

v2.1.0 (2014-03-25)

[COOK-4426] - feature order correction for proper installation
[COOK-4428] - Add IIS FTP Feature Installation

v2.0.4 (2014-03-18)

  • [COOK-4420] Corrected incorrect feature names for mod_security

v2.0.2 (2014-02-25)

  • [COOK-4108] - Add documentation for the 'bindings' attribute in 'iis_site' LWRP

v2.0.0 (2014-01-03)

Major version bump


Adding extra windows platform checks to helper library



  • COOK-4138 - iis cookbook won't load on non-Windows platforms



  • COOK-3634 - provide ability to set app pool managedRuntimeVersion to "No Managed Code"



  • COOK-3922 - refactor IIS cookbook to not require WebPI



  • COOK-3770 - Add Enabled Protocols to IIS App Recipe


New Feature



  • COOK-3232 - Allow iis_app resource :config action with a virtual path



  • [COOK-2370]: add MVC2, escape application_pool and add options for recycling
  • [COOK-2694]: update iis documentation to show that Windows 2012 and Windows 8 are supported


  • [COOK-2325]: load_current_resource does not load state of pool correctly, always sets running to false
  • [COOK-2526]: Installing IIS after .NET framework will leave installation in non-working state
  • [COOK-2596]: iis cookbook fails with indecipherable error if EULA not accepted


  • [COOK-2181] -Adding full module support to iis cookbook


  • [COOK-2084] - Add support for additional options during site creation
  • [COOK-2152] - Add recipe for IIS6 metabase compatibility


  • [COOK-2050] - IIS cookbook does not have returns resource defined


  • [COOK-1251] - Fix LWRP "NotImplementedError"


  • [COOK-1301] - Add a recycle action to the iis_pool resource
  • [COOK-1665] - app pool identity and new node[iis][component] attribute
  • [COOK-1666] - Recipe to remove default site and app pool
  • [COOK-1858] - Recipe misspelled


  • [COOK-1061] - iis_site doesn't allow setting the pool
  • [COOK-1078] - handle advanced bindings
  • [COOK-1283] - typo on pool
  • [COOK-1284] - install iis application initialization
  • [COOK-1285] - allow multiple host_header, port and protocol
  • [COOK-1286] - allow directly setting which app pool on site creation
  • [COOK-1449] - iis pool regex returns true if similar site exists
  • [COOK-1647] - mod_ApplicationInitialization isn't RC


  • [COOK-1012] - support adding apps
  • [COOK-1028] - support for config command
  • [COOK-1041] - fix removal in app pools
  • [COOK-835] - add app pool management
  • [COOK-950] - documentation correction for version of IIS/OS


  • Ruby 1.9 compat fixes
  • ensure carriage returns are removed before applying regex


  • [COOK-718] initial release

Foodcritic Metric

2.1.4 failed this metric

FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/app.rb:27
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/app.rb:42
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/app.rb:60
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/config.rb:27
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:27
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:42
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:95
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:105
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:115
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:125
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/pool.rb:133
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/site.rb:26
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/site.rb:56
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/site.rb:97
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/site.rb:107
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/site.rb:117
FC017: LWRP does not notify when updated: /tmp/cook/2b116e7fcc3d2b9639334c48/iis/providers/site.rb:127