summaryrefslogtreecommitdiff
path: root/distro
diff options
context:
space:
mode:
Diffstat (limited to 'distro')
-rw-r--r--distro/README2
-rw-r--r--distro/arch/etc/conf.d/chef-client.conf5
-rw-r--r--distro/arch/etc/conf.d/chef-expander.conf8
-rw-r--r--distro/arch/etc/conf.d/chef-server-webui.conf10
-rw-r--r--distro/arch/etc/conf.d/chef-server.conf10
-rw-r--r--distro/arch/etc/conf.d/chef-solr.conf8
-rw-r--r--distro/arch/etc/rc.d/chef-client90
-rw-r--r--distro/arch/etc/rc.d/chef-expander78
-rw-r--r--distro/arch/etc/rc.d/chef-server78
-rw-r--r--distro/arch/etc/rc.d/chef-server-webui78
-rw-r--r--distro/arch/etc/rc.d/chef-solr78
-rw-r--r--distro/common/html/chef-client.8.html145
-rw-r--r--distro/common/html/chef-expander.8.html164
-rw-r--r--distro/common/html/chef-expanderctl.8.html146
-rw-r--r--distro/common/html/chef-server-webui.8.html185
-rw-r--r--distro/common/html/chef-server.8.html182
-rw-r--r--distro/common/html/chef-shell.1.html286
-rw-r--r--distro/common/html/chef-solo.8.html191
-rw-r--r--distro/common/html/chef-solr.8.html165
-rw-r--r--distro/common/html/knife-bootstrap.1.html241
-rw-r--r--distro/common/html/knife-client.1.html219
-rw-r--r--distro/common/html/knife-configure.1.html170
-rw-r--r--distro/common/html/knife-cookbook-site.1.html241
-rw-r--r--distro/common/html/knife-cookbook.1.html384
-rw-r--r--distro/common/html/knife-data-bag.1.html238
-rw-r--r--distro/common/html/knife-environment.1.html267
-rw-r--r--distro/common/html/knife-exec.1.html134
-rw-r--r--distro/common/html/knife-index.1.html125
-rw-r--r--distro/common/html/knife-node.1.html250
-rw-r--r--distro/common/html/knife-recipe.1.html92
-rw-r--r--distro/common/html/knife-role.1.html200
-rw-r--r--distro/common/html/knife-search.1.html288
-rw-r--r--distro/common/html/knife-ssh.1.html156
-rw-r--r--distro/common/html/knife-status.1.html128
-rw-r--r--distro/common/html/knife-tag.1.html137
-rw-r--r--distro/common/html/knife.1.html320
-rw-r--r--distro/common/man/man1/chef-shell.1220
-rw-r--r--distro/common/man/man1/knife-bootstrap.1201
-rw-r--r--distro/common/man/man1/knife-client.199
-rw-r--r--distro/common/man/man1/knife-configure.188
-rw-r--r--distro/common/man/man1/knife-cookbook-site.1145
-rw-r--r--distro/common/man/man1/knife-cookbook.1345
-rw-r--r--distro/common/man/man1/knife-data-bag.1136
-rw-r--r--distro/common/man/man1/knife-environment.1178
-rw-r--r--distro/common/man/man1/knife-exec.143
-rw-r--r--distro/common/man/man1/knife-index.129
-rw-r--r--distro/common/man/man1/knife-node.1134
-rw-r--r--distro/common/man/man1/knife-role.188
-rw-r--r--distro/common/man/man1/knife-search.1280
-rw-r--r--distro/common/man/man1/knife-ssh.179
-rw-r--r--distro/common/man/man1/knife-status.129
-rw-r--r--distro/common/man/man1/knife-tag.143
-rw-r--r--distro/common/man/man1/knife.1288
-rw-r--r--distro/common/man/man8/chef-client.8104
-rw-r--r--distro/common/man/man8/chef-expander.897
-rw-r--r--distro/common/man/man8/chef-expanderctl.862
-rw-r--r--distro/common/man/man8/chef-server-webui.8155
-rw-r--r--distro/common/man/man8/chef-server.8147
-rw-r--r--distro/common/man/man8/chef-solo.8158
-rw-r--r--distro/common/man/man8/chef-solr.8122
-rw-r--r--distro/common/markdown/README3
-rw-r--r--distro/common/markdown/man1/chef-shell.mkd195
-rw-r--r--distro/common/markdown/man1/knife-bootstrap.mkd141
-rw-r--r--distro/common/markdown/man1/knife-client.mkd103
-rw-r--r--distro/common/markdown/man1/knife-configure.mkd70
-rw-r--r--distro/common/markdown/man1/knife-cookbook-site.mkd123
-rw-r--r--distro/common/markdown/man1/knife-cookbook.mkd263
-rw-r--r--distro/common/markdown/man1/knife-data-bag.mkd121
-rw-r--r--distro/common/markdown/man1/knife-environment.mkd151
-rw-r--r--distro/common/markdown/man1/knife-exec.mkd42
-rw-r--r--distro/common/markdown/man1/knife-index.mkd30
-rw-r--r--distro/common/markdown/man1/knife-node.mkd130
-rw-r--r--distro/common/markdown/man1/knife-role.mkd85
-rw-r--r--distro/common/markdown/man1/knife-search.mkd180
-rw-r--r--distro/common/markdown/man1/knife-ssh.mkd69
-rw-r--r--distro/common/markdown/man1/knife-status.mkd36
-rw-r--r--distro/common/markdown/man1/knife-tag.mkd39
-rw-r--r--distro/common/markdown/man1/knife.mkd218
-rw-r--r--distro/common/markdown/man8/chef-client.mkd74
-rw-r--r--distro/common/markdown/man8/chef-expander.mkd82
-rw-r--r--distro/common/markdown/man8/chef-expanderctl.mkd58
-rw-r--r--distro/common/markdown/man8/chef-server-webui.mkd121
-rw-r--r--distro/common/markdown/man8/chef-server.mkd121
-rw-r--r--distro/common/markdown/man8/chef-solo.mkd107
-rw-r--r--distro/common/markdown/man8/chef-solr.mkd89
-rw-r--r--distro/debian/etc/default/chef-client4
-rw-r--r--distro/debian/etc/default/chef-expander8
-rw-r--r--distro/debian/etc/default/chef-server9
-rw-r--r--distro/debian/etc/default/chef-server-webui9
-rw-r--r--distro/debian/etc/default/chef-solr8
-rwxr-xr-xdistro/debian/etc/init.d/chef-client210
-rwxr-xr-xdistro/debian/etc/init.d/chef-expander176
-rwxr-xr-xdistro/debian/etc/init.d/chef-server122
-rwxr-xr-xdistro/debian/etc/init.d/chef-server-webui123
-rwxr-xr-xdistro/debian/etc/init.d/chef-solr176
-rw-r--r--distro/debian/etc/init/chef-client.conf17
-rw-r--r--distro/debian/etc/init/chef-expander.conf17
-rw-r--r--distro/debian/etc/init/chef-server-webui.conf17
-rw-r--r--distro/debian/etc/init/chef-server.conf17
-rw-r--r--distro/debian/etc/init/chef-solr.conf17
-rw-r--r--distro/redhat/etc/init.d/chef-client121
-rw-r--r--distro/redhat/etc/init.d/chef-expander104
-rw-r--r--distro/redhat/etc/init.d/chef-server112
-rw-r--r--distro/redhat/etc/init.d/chef-server-webui112
-rw-r--r--distro/redhat/etc/init.d/chef-solr104
-rw-r--r--distro/redhat/etc/logrotate.d/chef-client8
-rw-r--r--distro/redhat/etc/logrotate.d/chef-expander8
-rw-r--r--distro/redhat/etc/logrotate.d/chef-server8
-rw-r--r--distro/redhat/etc/logrotate.d/chef-server-webui8
-rw-r--r--distro/redhat/etc/logrotate.d/chef-solr8
-rw-r--r--distro/redhat/etc/sysconfig/chef-client15
-rw-r--r--distro/redhat/etc/sysconfig/chef-expander7
-rw-r--r--distro/redhat/etc/sysconfig/chef-server14
-rw-r--r--distro/redhat/etc/sysconfig/chef-server-webui14
-rw-r--r--distro/redhat/etc/sysconfig/chef-solr8
-rw-r--r--distro/windows/service_manager.rb164
116 files changed, 13165 insertions, 0 deletions
diff --git a/distro/README b/distro/README
new file mode 100644
index 0000000000..36f8b12118
--- /dev/null
+++ b/distro/README
@@ -0,0 +1,2 @@
+Init scripts meant to be used with a gem installation via the bootstrap
+cookbook.
diff --git a/distro/arch/etc/conf.d/chef-client.conf b/distro/arch/etc/conf.d/chef-client.conf
new file mode 100644
index 0000000000..efbead3149
--- /dev/null
+++ b/distro/arch/etc/conf.d/chef-client.conf
@@ -0,0 +1,5 @@
+LOGFILE=/var/log/chef/client.log
+CONFIG=/etc/chef/client.rb
+INTERVAL=1800
+SPLAY=20
+CHEF_CLIENT_ARGS="-L $LOGFILE -d -c $CONFIG -i $INTERVAL -s $SPLAY"
diff --git a/distro/arch/etc/conf.d/chef-expander.conf b/distro/arch/etc/conf.d/chef-expander.conf
new file mode 100644
index 0000000000..4c70bdd2eb
--- /dev/null
+++ b/distro/arch/etc/conf.d/chef-expander.conf
@@ -0,0 +1,8 @@
+LOGFILE=/var/log/chef/expander.log
+CONFIG=/etc/chef/solr.rb
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+DIETIME=5
+STARTTIME=5
+CHEF_EXPANDER_ARGS="-d -c $CONFIG -L $LOGFILE -n 1 -i 1"
diff --git a/distro/arch/etc/conf.d/chef-server-webui.conf b/distro/arch/etc/conf.d/chef-server-webui.conf
new file mode 100644
index 0000000000..a737a84aa6
--- /dev/null
+++ b/distro/arch/etc/conf.d/chef-server-webui.conf
@@ -0,0 +1,10 @@
+LOGFILE=/var/log/chef/server-webui.log
+CONFIG=/etc/chef/webui.rb
+ADAPTER=thin
+PORT=4040
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+STARTTIME=10
+DIETIME=5
+CHEF_SERVER_WEBUI_ARGS="-p $PORT -e production -d -a $ADAPTER -L $LOGFILE -C $CONFIG -u $USER -G $GROUP"
diff --git a/distro/arch/etc/conf.d/chef-server.conf b/distro/arch/etc/conf.d/chef-server.conf
new file mode 100644
index 0000000000..95518ce045
--- /dev/null
+++ b/distro/arch/etc/conf.d/chef-server.conf
@@ -0,0 +1,10 @@
+LOGFILE=/var/log/chef/server.log
+CONFIG=/etc/chef/server.rb
+ADAPTER=thin
+PORT=4000
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+STARTTIME=10
+DIETIME=5
+CHEF_SERVER_ARGS="-p $PORT -e production -d -a $ADAPTER -L $LOGFILE -C $CONFIG -u $USER -G $GROUP"
diff --git a/distro/arch/etc/conf.d/chef-solr.conf b/distro/arch/etc/conf.d/chef-solr.conf
new file mode 100644
index 0000000000..a4764a2a8e
--- /dev/null
+++ b/distro/arch/etc/conf.d/chef-solr.conf
@@ -0,0 +1,8 @@
+LOGFILE=/var/log/chef/solr.log
+CONFIG=/etc/chef/solr.rb
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+DIETIME=5
+STARTTIME=5
+CHEF_SOLR_ARGS="-d -c $CONFIG -L $LOGFILE -u $USER -g $GROUP"
diff --git a/distro/arch/etc/rc.d/chef-client b/distro/arch/etc/rc.d/chef-client
new file mode 100644
index 0000000000..36f00bad6a
--- /dev/null
+++ b/distro/arch/etc/rc.d/chef-client
@@ -0,0 +1,90 @@
+#!/bin/bash
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+daemon_bin="/usr/bin/chef-client"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name"
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ $daemon_bin --pid $PIDF $CHEF_CLIENT_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &>/dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ run)
+ stat_busy "Triggering new run of $daemon_name daemon"
+ PID=$(get_pid)
+ [ ! -z "$PID" ] && kill -SIGUSR1 $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ stat_done
+ fi
+ ;;
+
+ *)
+ echo "usage: $) {start|stop|restart|status|run}"
+esac
diff --git a/distro/arch/etc/rc.d/chef-expander b/distro/arch/etc/rc.d/chef-expander
new file mode 100644
index 0000000000..5925efe2b8
--- /dev/null
+++ b/distro/arch/etc/rc.d/chef-expander
@@ -0,0 +1,78 @@
+#!/bin/bash
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+daemon_bin="/usr/bin/chef-expander"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name"
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ $daemon_bin -P $PIDF $CHEF_EXPANDER_ARGS
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &>/dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ $0 start
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ ;;
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+ *)
+ echo "usage: $) {start|stop|restart|status}"
+esac
diff --git a/distro/arch/etc/rc.d/chef-server b/distro/arch/etc/rc.d/chef-server
new file mode 100644
index 0000000000..59f926c2c9
--- /dev/null
+++ b/distro/arch/etc/rc.d/chef-server
@@ -0,0 +1,78 @@
+#!/bin/bash
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+daemon_bin="/usr/bin/chef-server"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name"
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ $daemon_bin -P $PIDF $CHEF_SERVER_ARGS
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &>/dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ $0 start
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ ;;
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+ *)
+ echo "usage: $) {start|stop|restart|status}"
+esac
diff --git a/distro/arch/etc/rc.d/chef-server-webui b/distro/arch/etc/rc.d/chef-server-webui
new file mode 100644
index 0000000000..79a9b77c1c
--- /dev/null
+++ b/distro/arch/etc/rc.d/chef-server-webui
@@ -0,0 +1,78 @@
+#!/bin/bash
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+daemon_bin="/usr/bin/chef-server-webui"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name"
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ $daemon_bin -P $PIDF $CHEF_SERVER_WEBUI_ARGS
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &>/dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ $0 start
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ ;;
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+ *)
+ echo "usage: $) {start|stop|restart|status}"
+esac
diff --git a/distro/arch/etc/rc.d/chef-solr b/distro/arch/etc/rc.d/chef-solr
new file mode 100644
index 0000000000..a3682a495a
--- /dev/null
+++ b/distro/arch/etc/rc.d/chef-solr
@@ -0,0 +1,78 @@
+#!/bin/bash
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+daemon_bin="/usr/bin/chef-solr"
+daemon_name=$(basename $daemon_bin)
+PIDF="/var/run/$daemon_name.pid"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name"
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $PIDF ] && rm -f $PIDF
+ $daemon_bin -P $PIDF $CHEF_SOLR_ARGS
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > $PIDF
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $PIDF &>/dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ $0 start
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ ;;
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+ *)
+ echo "usage: $) {start|stop|restart|status}"
+esac
diff --git a/distro/common/html/chef-client.8.html b/distro/common/html/chef-client.8.html
new file mode 100644
index 0000000000..cdcee9c7fd
--- /dev/null
+++ b/distro/common/html/chef-client.8.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-client(8) - Runs a client node connecting to a chef-server.</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-client(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-client(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-client</code> - <span class="man-whatis">Runs a client node connecting to a chef-server.</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-client</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-S</code>, <code>--server CHEFSERVERURL</code></dt><dd>The chef server URL</dd>
+<dt><code>-c</code>, <code>--config CONFIG</code></dt><dd>The configuration file to use</dd>
+<dt><code>-d</code>, <code>--daemonize</code></dt><dd>Daemonize the process</dd>
+<dt><code>-g</code>, <code>--group GROUP</code></dt><dd>Group to set privilege to</dd>
+<dt><code>-i</code>, <code>--interval SECONDS</code></dt><dd>Run chef-client periodically, in seconds</dd>
+<dt><code>-j</code>, <code>--json-attributes JSON_ATTRIBS</code></dt><dd>Load attributes from a JSON file or URL</dd>
+<dt><code>-E</code>, <code>--environment ENVIRONMENT</code></dt><dd>Set the Chef Environment on the node</dd>
+<dt><code>-l</code>, <code>--log_level LEVEL</code></dt><dd>Set the log level (debug, info, warn, error, fatal)</dd>
+<dt><code>-L</code>, <code>--logfile LOGLOCATION</code></dt><dd>Set the log file location, defaults to STDOUT - recommended for
+daemonizing</dd>
+<dt><code>-N</code>, <code>--node-name NODE_NAME</code></dt><dd>The node name for this client</dd>
+<dt><code>-o</code>, <code>--override-runlist</code></dt><dd>Replace current run list with specified items</dd>
+<dt><code>-K</code>, <code>--validation_key KEY_FILE</code></dt><dd>Set the validation key file location, used for registering new clients</dd>
+<dt><code>-k</code>, <code>--client_key KEY_FILE</code></dt><dd>Set the client key file location</dd>
+<dt><code>-s</code>, <code>--splay SECONDS</code></dt><dd>The splay time for running at intervals, in seconds</dd>
+<dt><code>-u</code>, <code>--user USER</code></dt><dd>User to set privilege to</dd>
+<dt><code>-P</code>, <code>--pid PIDFILE</code></dt><dd>Set the PID file location, defaults to /tmp/chef-client.pid</dd>
+<dt class="flush"><code>--once</code></dt><dd>Cancel any interval or splay options, run chef once and exit</dd>
+<dt><code>-v</code>, <code>--version</code></dt><dd>Show chef version</dd>
+<dt><code>-h</code>, <code>--help</code></dt><dd>Show this message</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The Chef Client is where almost all of the work in Chef is done. It
+communicates with the Chef Server via REST, authenticates via Signed
+Header Authentication, and compiles and executes Cookbooks.</p>
+
+<p>A Chef Client does work on behalf of a Node. A single Chef Client can
+run recipes for multiple Nodes.</p>
+
+<p>Clients are where all the action happens - the Chef Server and Chef Expander
+are largely services that exist only to provide the Client with information.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p>Full documentation for Chef and chef-client is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#x6f;&#x3a;&#x61;&#100;&#x61;&#109;&#x40;&#x6f;&#x73;&#x70;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#100;&#97;&#109;&#x40;&#111;&#x73;&#x70;&#99;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#x6a;&#x6f;&#115;&#x68;&#117;&#x61;&#64;&#x6f;&#112;&#115;&#x63;&#111;&#x64;&#101;&#46;&#x63;&#111;&#109;" data-bare-link="true">&#106;&#x6f;&#x73;&#x68;&#117;&#97;&#64;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#x6f;&#x6d;</a> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-client(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-expander.8.html b/distro/common/html/chef-expander.8.html
new file mode 100644
index 0000000000..ba17920e1e
--- /dev/null
+++ b/distro/common/html/chef-expander.8.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-expander(8) - fetches messages from RabbitMQ, processes, and loads into chef-solr</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-expander(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-expander(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-expander</code> - <span class="man-whatis">fetches messages from RabbitMQ, processes, and loads into chef-solr</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-expander</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-c</code>, <code>--config CONFIG_FILE</code></dt><dd>a configuration file to use</dd>
+<dt><code>-i</code>, <code>--index INDEX</code></dt><dd>the slot this node will occupy in the ring</dd>
+<dt><code>-n</code>, <code>--node-count NUMBER</code></dt><dd>the number of nodes in the ring</dd>
+<dt><code>-l</code>, <code>--log-level LOG_LEVEL</code></dt><dd>set the log level</dd>
+<dt><code>-L</code>, <code>--logfile LOG_LOCATION</code></dt><dd>Logfile to use</dd>
+<dt><code>-d</code>, <code>--daemonize</code></dt><dd>fork into the background</dd>
+<dt><code>-P</code>, <code>--pid PIDFILE</code></dt><dd>PID file</dd>
+<dt><code>-h</code>, <code>--help</code></dt><dd>show help message</dd>
+<dt><code>-v</code>, <code>--version</code></dt><dd>show the version and exit</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Chef Expander fetches messages from RabbitMQ, processes them into the
+correct format to be loaded into Solr and loads them into Solr.</p>
+
+<p><strong>Running Chef Expander</strong></p>
+
+<p>Chef Expander is designed for clustered operation, though small
+installations will only need one worker process. To run Chef
+Expander with one worker process, run chef-expander -n 1.
+You will then have a master and worker process, which looks like
+this in ps:</p>
+
+<pre><code>your-shell&gt; ps aux|grep expander
+you 52110 0.1 0.7 2515476 62748 s003 S+ 3:49PM 0:00.80 chef-expander worker #1 (vnodes 0-1023)
+you 52108 0.1 0.5 2492880 41696 s003 S+ 3:49PM 0:00.91 ruby bin/chef-expander -n 1
+</code></pre>
+
+<p>Workers are single threaded and therefore cannot use more than 100%
+of a single CPU. If you find that your queues are getting backlogged,
+increase the number of workers</p>
+
+<p><strong>Design</strong></p>
+
+<p>Chef Expander uses 1024 queues (called vnodes in some places) to allow
+you to scale the number of Chef Expander workers to meet the needs of
+your infrastructure. When objects are saved in the API server, they are
+added to queues based on their database IDs. These queues can be assigned
+to different Chef Expander workers to distribute the load of processing
+the index updates.</p>
+
+<p><strong>Chef Expander Operation and Troubleshooting</strong></p>
+
+<p>Chef Expander includes chef-expanderctl, a management program that allows
+you to get status information or change the logging verbosity (without
+restarting).</p>
+
+<p>See <strong>chef-expanderctl</strong>(8) for details.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p><strong>chef-expanderctl</strong>(8)
+<strong>chef-solr</strong>(8)</p>
+
+<p>Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#x6f;&#x3a;&#x61;&#100;&#x61;&#109;&#x40;&#x6f;&#x73;&#x70;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#100;&#97;&#109;&#x40;&#111;&#x73;&#x70;&#99;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was created by Nuo Yan <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#x6e;&#x75;&#111;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#111;&#109;" data-bare-link="true">&#x6e;&#117;&#111;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#109;</a>. Permission is
+granted to copy, distribute and / or modify this document under the
+terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-expander(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-expanderctl.8.html b/distro/common/html/chef-expanderctl.8.html
new file mode 100644
index 0000000000..2ce15e019a
--- /dev/null
+++ b/distro/common/html/chef-expanderctl.8.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-expanderctl(8) - management program for chef-expander</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-expanderctl(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-expanderctl(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-expanderctl</code> - <span class="man-whatis">management program for chef-expander</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-expanderctl</strong> <em>COMMAND</em></p>
+
+<p><strong>Commands:</strong></p>
+
+<dl>
+<dt class="flush"><code>help</code></dt><dd>Show help message</dd>
+<dt><code>queue-depth</code></dt><dd>display the aggregate queue backlog</dd>
+<dt><code>queue-status</code></dt><dd>show the backlog and consumer count for each vnode queue</dd>
+<dt><code>node-status</code></dt><dd>show the status of the nodes in the cluster</dd>
+<dt><code>log-level</code></dt><dd>sets the log level of all nodes in the cluster</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Chef-expanderctl is a management program that allows
+you to get status information or change the logging
+verbosity (without restarting). chef-expanderctl has
+the following commands:</p>
+
+<ul>
+<li><strong>chef-expanderctl help</strong>
+prints usage.</li>
+<li><strong>chef-expanderctl queue-depth</strong>
+Shows the total number of messages in the queues.</li>
+<li><strong>chef-expanderctl queue-status</strong>
+Show the number of messages in each queue. This is mainly of use when
+debugging a Chef Expander cluster.</li>
+<li><strong>chef-expanderctl log-level LEVEL</strong>
+Sets the log level on a running Chef Expander or cluster.
+If you suspect that a worker process is stuck, as long as you are using
+clustered operation, you can simply kill the worker process and it will
+be restarted by the master process.</li>
+</ul>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p><strong>chef-expander-cluster</strong>(8)
+<strong>chef-solr</strong>(8)</p>
+
+<p>Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#x6f;&#x3a;&#x61;&#100;&#x61;&#109;&#x40;&#x6f;&#x73;&#x70;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#100;&#97;&#109;&#x40;&#111;&#x73;&#x70;&#99;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was created by Nuo Yan <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#x6e;&#x75;&#111;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#111;&#109;" data-bare-link="true">&#x6e;&#117;&#111;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#109;</a>. Permission is
+granted to copy, distribute and / or modify this document under the
+terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-expanderctl(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-server-webui.8.html b/distro/common/html/chef-server-webui.8.html
new file mode 100644
index 0000000000..d28b732448
--- /dev/null
+++ b/distro/common/html/chef-server-webui.8.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-server-webui(8) - Start the Chef Server merb application slice providing Web User Interface (Management Console).</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-server-webui(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-server-webui(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-server-webui</code> - <span class="man-whatis">Start the Chef Server merb application slice providing Web User Interface (Management Console).</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-server-webui</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-u</code>, <code>--user USER</code></dt><dd>This flag is for having chef-server-webui run as a user other than the
+one currently logged in. Note: if you set this you must also provide a
+--group option for it to take effect.</dd>
+<dt><code>-G</code>, <code>--group GROUP</code></dt><dd>This flag is for having chef-server-webui run as a group other than the
+one currently logged in. Note: if you set this you must also provide a
+--user option for it to take effect.</dd>
+<dt><code>-d</code>, <code>--daemonize</code></dt><dd>This will run a single chef-server-webui in the background.</dd>
+<dt><code>-N</code>, <code>--no-daemonize</code></dt><dd>This will allow you to run a cluster in console mode.</dd>
+<dt><code>-c</code>, <code>--cluster-nodes NUM_MERBS</code></dt><dd>Number of merb daemons to run for chef-server-webui.</dd>
+<dt><code>-I</code>, <code>--init-file FILE</code></dt><dd>File to use for initialization on load, defaults to config/init.rb.</dd>
+<dt><code>-p</code>, <code>--port PORTNUM</code></dt><dd>Port to run chef-server-webui on, defaults to 4040. Additional nodes (-c)
+listen on incrementing port numbers.</dd>
+<dt><code>-o</code>, <code>--socket-file FILE</code></dt><dd>Socket file to run chef-server-webui on, defaults to
+[Merb.root]/log/merb.sock. This is for web servers, like thin, that use
+sockets. Specify this <em>only</em> if you <em>must</em>.</dd>
+<dt><code>-s</code>, <code>--socket SOCKNUM</code></dt><dd>Socket number to run chef-server-webui on, defaults to 0.</dd>
+<dt><code>-n</code>, <code>--name NAME</code></dt><dd>Set the name of the application. This is used in the process title and
+log file names.</dd>
+<dt><code>-P</code>, <code>--pid PIDFILE</code></dt><dd>PID file, defaults to [Merb.root]/log/merb.main.pid for the master
+process and[Merb.root]/log/merb.[port number].pid for worker processes.
+For clusters, use %s to specify where in the file chef-server-webui
+should place the port number. For instance: -P myapp.%s.pid.</dd>
+<dt><code>-h</code>, <code>--host HOSTNAME</code></dt><dd>Host to bind to (default is 0.0.0.0).</dd>
+<dt><code>-m</code>, <code>--merb-root PATH_TO_APP_ROOT</code></dt><dd>The path to the Merb.root for the app you want to run
+(default is current working directory).</dd>
+<dt><code>-a</code>, <code>--adapter ADAPTER</code></dt><dd>The rack adapter to use to run chef-server-webui (default is mongrel)
+[mongrel, emongrel, thin, ebb, fastcgi, webrick].</dd>
+<dt><code>-R</code>, <code>--rackup FILE</code></dt><dd>Load an alternate Rack config file (default is config/rack.rb).</dd>
+<dt><code>-i</code>, <code>--irb-console</code></dt><dd>This flag will start chef-server-webui in irb console mode. All your models
+and other classes will be available for you in an irb session.</dd>
+<dt><code>-S</code>, <code>--sandbox</code></dt><dd>This flag will enable a sandboxed irb console. If your ORM supports
+transactions, all edits will be rolled back on exit.</dd>
+<dt><code>-l</code>, <code>--log-level LEVEL</code></dt><dd>Log levels can be set to any of these options:
+debug &lt; info &lt; warn &lt; error &lt; fatal (default is info).</dd>
+<dt><code>-L</code>, <code>--log LOGFILE</code></dt><dd>A string representing the logfile to use. Defaults to
+[Merb.root]/log/merb.[main].log for the master process and
+[Merb.root]/log/merb[port number].logfor worker processes.</dd>
+<dt><code>-e</code>, <code>--environment STRING</code></dt><dd>Environment to run Merb under [development, production, testing]
+(default is development).</dd>
+<dt><code>-r</code>, <code>--script-runner ['RUBY CODE'| FULL_SCRIPT_PATH]</code></dt><dd>Command-line option to run scripts and/or code in the chef-server-webui
+app.</dd>
+<dt><code>-K</code>, <code>-graceful PORT or all</code></dt><dd>Gracefully kill chef-server-webui proceses by port number.
+Use chef-server -K all to gracefully kill all merbs.</dd>
+<dt><code>-k</code>, <code>--kill PORT</code></dt><dd>Force kill one merb worker by port number. This will cause the worker
+to be respawned.</dd>
+<dt><code>--fast-deploy</code></dt><dd>Reload the code, but not yourinit.rb or gems.</dd>
+<dt><code>-X</code>, <code>--mutex on/off</code></dt><dd>This flag is for turning the mutex lock on and off.</dd>
+<dt><code>-D</code>, <code>--debugger</code></dt><dd>Run chef-server-webui using rDebug.</dd>
+<dt><code>-V</code>, <code>--verbose</code></dt><dd>Print extra information.</dd>
+<dt><code>-C</code>, <code>--console-trap</code></dt><dd>Enter an irb console on ^C.</dd>
+<dt><code>-?</code>, <code>-H</code>, <code>--help</code></dt><dd>Show this help message.</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The Chef Server WebUI (Management Console) is a Merb application slice.
+The default listen port is 4040.</p>
+
+<p>The Management Console is Chef Server's web interface. Nodes, roles,
+cookbooks, data bags, and API clients can be managed through the Management
+Console. Search can also be done on the console.</p>
+
+<p>In order to start using the Management Console, you need to first create
+a user or change the default password on the "admin" user.</p>
+
+<p>The default credentials are:</p>
+
+<ul>
+<li><code>Username</code>: admin</li>
+<li><code>Password</code>: p@ssw0rd1</li>
+</ul>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p>Full documentation for Chef and chef-server-webui (Management Console)
+is located on the Chef wiki, http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#x6f;&#x3a;&#x61;&#100;&#x61;&#109;&#x40;&#x6f;&#x73;&#x70;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#100;&#97;&#109;&#x40;&#111;&#x73;&#x70;&#99;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#x6a;&#x6f;&#115;&#x68;&#117;&#x61;&#64;&#x6f;&#112;&#115;&#x63;&#111;&#x64;&#101;&#46;&#x63;&#111;&#109;" data-bare-link="true">&#106;&#x6f;&#x73;&#x68;&#117;&#97;&#64;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#x6f;&#x6d;</a> with
+help2man for the Debian project (but may be used by others). Permission
+is granted to copy, distribute and / or modify this document under the
+terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-server-webui(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-server.8.html b/distro/common/html/chef-server.8.html
new file mode 100644
index 0000000000..6613b6c90f
--- /dev/null
+++ b/distro/common/html/chef-server.8.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-server(8) - Start the Chef Server merb application slice.</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-server(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-server(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-server</code> - <span class="man-whatis">Start the Chef Server merb application slice.</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-server</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-u</code>, <code>--user USER</code></dt><dd>This flag is for having chef-server-webui run as a user other than the
+one currently logged in. Note: if you set this you must also provide a
+--group option for it to take effect.</dd>
+<dt><code>-G</code>, <code>--group GROUP</code></dt><dd>This flag is for having chef-server-webui run as a group other than the
+one currently logged in. Note: if you set this you must also provide a
+--user option for it to take effect.</dd>
+<dt><code>-d</code>, <code>--daemonize</code></dt><dd>This will run a single chef-server-webui in the background.</dd>
+<dt><code>-N</code>, <code>--no-daemonize</code></dt><dd>This will allow you to run a cluster in console mode.</dd>
+<dt><code>-c</code>, <code>--cluster-nodes NUM_MERBS</code></dt><dd>Number of merb daemons to run for chef-server-webui.</dd>
+<dt><code>-I</code>, <code>--init-file FILE</code></dt><dd>File to use for initialization on load, defaults to config/init.rb.</dd>
+<dt><code>-p</code>, <code>--port PORTNUM</code></dt><dd>Port to run chef-server-webui on, defaults to 4040. Additional nodes (-c)
+listen on incrementing port numbers.</dd>
+<dt><code>-o</code>, <code>--socket-file FILE</code></dt><dd>Socket file to run chef-server-webui on, defaults to
+[Merb.root]/log/merb.sock. This is for web servers, like thin, that use
+sockets. Specify this <em>only</em> if you <em>must</em>.</dd>
+<dt><code>-s</code>, <code>--socket SOCKNUM</code></dt><dd>Socket number to run chef-server-webui on, defaults to 0.</dd>
+<dt><code>-n</code>, <code>--name NAME</code></dt><dd>Set the name of the application. This is used in the process title and
+log file names.</dd>
+<dt><code>-P</code>, <code>--pid PIDFILE</code></dt><dd>PID file, defaults to [Merb.root]/log/merb.main.pid for the master
+process and[Merb.root]/log/merb.[port number].pid for worker processes.
+For clusters, use %s to specify where in the file chef-server-webui
+should place the port number. For instance: -P myapp.%s.pid.</dd>
+<dt><code>-h</code>, <code>--host HOSTNAME</code></dt><dd>Host to bind to (default is 0.0.0.0).</dd>
+<dt><code>-m</code>, <code>--merb-root PATH_TO_APP_ROOT</code></dt><dd>The path to the Merb.root for the app you want to run
+(default is current working directory).</dd>
+<dt><code>-a</code>, <code>--adapter ADAPTER</code></dt><dd>The rack adapter to use to run chef-server-webui (default is mongrel)
+[mongrel, emongrel, thin, ebb, fastcgi, webrick].</dd>
+<dt><code>-R</code>, <code>--rackup FILE</code></dt><dd>Load an alternate Rack config file (default is config/rack.rb).</dd>
+<dt><code>-i</code>, <code>--irb-console</code></dt><dd>This flag will start chef-server-webui in irb console mode. All your models
+and other classes will be available for you in an irb session.</dd>
+<dt><code>-S</code>, <code>--sandbox</code></dt><dd>This flag will enable a sandboxed irb console. If your ORM supports
+transactions, all edits will be rolled back on exit.</dd>
+<dt><code>-l</code>, <code>--log-level LEVEL</code></dt><dd>Log levels can be set to any of these options:
+debug &lt; info &lt; warn &lt; error &lt; fatal (default is info).</dd>
+<dt><code>-L</code>, <code>--log LOGFILE</code></dt><dd>A string representing the logfile to use. Defaults to
+[Merb.root]/log/merb.[main].log for the master process and
+[Merb.root]/log/merb[port number].logfor worker processes.</dd>
+<dt><code>-e</code>, <code>--environment STRING</code></dt><dd>Environment to run Merb under [development, production, testing]
+(default is development).</dd>
+<dt><code>-r</code>, <code>--script-runner ['RUBY CODE'| FULL_SCRIPT_PATH]</code></dt><dd>Command-line option to run scripts and/or code in the chef-server-webui
+app.</dd>
+<dt><code>-K</code>, <code>-graceful PORT or all</code></dt><dd>Gracefully kill chef-server-webui proceses by port number.
+Use chef-server -K all to gracefully kill all merbs.</dd>
+<dt><code>-k</code>, <code>--kill PORT</code></dt><dd>Force kill one merb worker by port number. This will cause the worker
+to be respawned.</dd>
+<dt><code>--fast-deploy</code></dt><dd>Reload the code, but not yourinit.rb or gems.</dd>
+<dt><code>-X</code>, <code>--mutex on/off</code></dt><dd>This flag is for turning the mutex lock on and off.</dd>
+<dt><code>-D</code>, <code>--debugger</code></dt><dd>Run chef-server-webui using rDebug.</dd>
+<dt><code>-V</code>, <code>--verbose</code></dt><dd>Print extra information.</dd>
+<dt><code>-C</code>, <code>--console-trap</code></dt><dd>Enter an irb console on ^C.</dd>
+<dt><code>-?</code>, <code>-H</code>, <code>--help</code></dt><dd>Show this help message.</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The Chef Server provides a central point for the distribution of Cookbooks,
+management and authentication of Nodes, and the use of Search. It provides
+a REST API.</p>
+
+<p>The API service is what clients use to interact with the server to manage
+node configuration in Chef. By default, the service is started on port 4000
+as a Merb application slice running with the thin server adapter.</p>
+
+<p>The two methods of interaction with the API for humans are the command-line
+tool Knife and the Management Console. The Chef Client library is used for
+interacting with the API for client nodes.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p><strong>chef-client</strong>(8)
+<strong>chef-server-webui</strong>(8)
+<strong>knife</strong>(1)</p>
+
+<p>Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#x74;&#x6f;&#x3a;&#97;&#x64;&#x61;&#109;&#64;&#111;&#x73;&#x70;&#99;&#x6f;&#100;&#101;&#46;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#x40;&#x6f;&#115;&#112;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#106;&#x6f;&#x73;&#104;&#x75;&#97;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#106;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-server(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-shell.1.html b/distro/common/html/chef-shell.1.html
new file mode 100644
index 0000000000..195870cc53
--- /dev/null
+++ b/distro/common/html/chef-shell.1.html
@@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-shell(1) - Interactive Chef Console</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SYNTAX">SYNTAX</a>
+ <a href="#PRIMARY-MODE">PRIMARY MODE</a>
+ <a href="#RECIPE-MODE">RECIPE MODE</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#BUGS">BUGS</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-shell(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-shell(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-shell</code> - <span class="man-whatis">Interactive Chef Console</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-shell</strong> [<em>named configuration</em>] <em>(options)</em></p>
+
+<dl>
+<dt><code>-S</code>, <code>--server CHEF_SERVER_URL</code></dt><dd>The chef server URL</dd>
+<dt><code>-z</code>, <code>--client</code></dt><dd>chef-client mode</dd>
+<dt><code>-c</code>, <code>--config CONFIG</code></dt><dd>The configuration file to use</dd>
+<dt><code>-j</code>, <code>--json-attributes JSON_ATTRIBS</code></dt><dd>Load attributes from a JSON file or URL</dd>
+<dt><code>-l</code>, <code>--log-level LOG_LEVEL</code></dt><dd>Set the logging level</dd>
+<dt><code>-s</code>, <code>--solo</code></dt><dd>chef-solo session</dd>
+<dt><code>-a</code>, <code>--standalone</code></dt><dd>standalone session</dd>
+<dt><code>-v</code>, <code>--version</code></dt><dd>Show chef version</dd>
+<dt><code>-h</code>, <code>--help</code></dt><dd>Show command options</dd>
+</dl>
+
+
+<p>When no --config option is specified, chef-shell attempts to load a
+default configuration file:</p>
+
+<ul>
+<li>If a <em>named configuration</em> is given, chef-shell will load ~/.chef/<em>named
+configuration</em>/chef_shell.rb</li>
+<li>If no <em>named configuration</em> is given chef-shell will load
+~/.chef/chef_shell.rb if it exists</li>
+<li>chef-shell falls back to loading /etc/chef/client.rb or
+/etc/chef/solo.rb if -z or -s options are given and no chef_shell.rb
+can be found.</li>
+<li>The --config option takes precedence over implicit configuration
+paths.</li>
+</ul>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p><code>chef-shell</code> is an <span class="man-ref">irb<span class="s">(1)</span></span> (interactive ruby) session customized for Chef.
+<code>chef-shell</code> serves two primary functions: it provides a means to
+interact with a Chef Server interactively using a convenient DSL; it
+allows you to define and run Chef recipes interactively.</p>
+
+<h2 id="SYNTAX">SYNTAX</h2>
+
+<p>chef-shell uses irb's subsession feature to provide multiple modes of
+interaction. In addition to the primary mode which is entered on start,
+<code>recipe</code> and <code>attributes</code> modes are available.</p>
+
+<h2 id="PRIMARY-MODE">PRIMARY MODE</h2>
+
+<p>The following commands are available in the primary
+session:</p>
+
+<dl>
+<dt class="flush"><code>help</code></dt><dd>Prints a list of available commands</dd>
+<dt class="flush"><code>version</code></dt><dd>Prints the Chef version</dd>
+<dt class="flush"><code>recipe</code></dt><dd>Switches to <code>recipe</code> mode</dd>
+<dt><code>attributes</code></dt><dd>Switches to <code>attributes</code> mode</dd>
+<dt><code>run_chef</code></dt><dd>Initiates a chef run</dd>
+<dt class="flush"><code>reset</code></dt><dd>reinitializes chef-shell session</dd>
+<dt><code>echo :on|:off</code></dt><dd>Turns irb's echo function on or off. Echo is <em>on</em> by default.</dd>
+<dt><code>tracing :on|:off</code></dt><dd>Turns irb's function tracing feature on or off. Tracing is extremely
+verbose and expected to be of interest primarily to developers.</dd>
+<dt class="flush"><code>node</code></dt><dd>Returns the <em>node</em> object for the current host. See <span class="man-ref">knife-node<span class="s">(1)</span></span>
+for more information about nodes.</dd>
+<dt class="flush"><code>ohai</code></dt><dd>Prints the attributes of <em>node</em></dd>
+</dl>
+
+
+<p>In addition to these commands, chef-shell provides a DSL for accessing
+data on the Chef Server. When working with remote data in chef-shell, you
+chain method calls in the form <em>object type</em>.<em>operation</em>, where
+<em>object type</em> is in plural form. The following object types are
+available:</p>
+
+<ul>
+<li><code>nodes</code></li>
+<li><code>roles</code></li>
+<li><code>data_bags</code></li>
+<li><code>clients</code></li>
+<li><code>cookbooks</code></li>
+</ul>
+
+
+<p>For each <em>object type</em> the following operations are available:</p>
+
+<dl>
+<dt><em>object type</em>.all(<em>&amp;block</em>)</dt><dd>Loads all items from the server. If the optional code <em>block</em> is
+given, each item will be passed to the block and the results
+returned, similar to ruby's <code>Enumerable#map</code> method.</dd>
+<dt><em>object type</em>.show(<em>object name</em>)</dt><dd><p>Aliased as <em>object type</em>.load</p>
+
+<p>Loads the singular item identified by <em>object name</em>.</p></dd>
+<dt><em>object type</em>.search(<em>query</em>, <em>&amp;block</em>)</dt><dd><p>Aliased as <em>object type</em>.find</p>
+
+<p>Runs a search against the server and returns the matching items. If
+the optional code <em>block</em> is given each item will be passed to the
+block and the results returned.</p>
+
+<p>The <em>query</em> may be a Solr/Lucene format query given as a String, or
+a Hash of conditions. If a Hash is given, the options will be ANDed
+together. To join conditions with OR, use negative queries, or any
+advanced search syntax, you must provide give the query in String
+form.</p></dd>
+<dt><em>object type</em>.transform(:all|<em>query</em>, <em>&amp;block</em>)</dt><dd><p>Aliased as <em>object type</em>.bulk_edit</p>
+
+<p>Bulk edit objects by processing them with the (required) code <em>block</em>.
+You can edit all objects of the given type by passing the Symbol
+<code>:all</code> as the argument, or only a subset by passing a <em>query</em> as the
+argument. The <em>query</em> is evaluated in the same way as with
+<strong>search</strong>.</p>
+
+<p>The return value of the code <em>block</em> is used to alter the behavior
+of <code>transform</code>. If the value returned from the block is <code>nil</code> or
+<code>false</code>, the object will not be saved. Otherwise, the object is
+saved after being passed to the block. This behavior can be
+exploited to create a dry run to test a data transformation.</p></dd>
+</dl>
+
+
+<h2 id="RECIPE-MODE">RECIPE MODE</h2>
+
+<p>Recipe mode implements Chef's recipe DSL. Exhaustively documenting this
+DSL is outside the scope of this document. See the following pages in
+the Chef documentation for more information:</p>
+
+<ul>
+<li><a href="http://wiki.opscode.com/display/chef/Resources" data-bare-link="true">http://wiki.opscode.com/display/chef/Resources</a></li>
+<li><a href="http://wiki.opscode.com/display/chef/Recipes" data-bare-link="true">http://wiki.opscode.com/display/chef/Recipes</a></li>
+</ul>
+
+
+<p>Once you have defined resources in the recipe, you can trigger a
+convergence run via <code>run_chef</code></p>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<ul>
+<li><p>A "Hello World" interactive recipe</p>
+
+<p>chef > recipe
+chef:recipe > echo :off
+chef:recipe > file "/tmp/hello_world"
+chef:recipe > run_chef
+[Sat, 09 Apr 2011 08:56:56 -0700] INFO: Processing file[/tmp/hello_world] action create ((irb#1) line 2)
+[Sat, 09 Apr 2011 08:56:56 -0700] INFO: file[/tmp/hello_world] created file /tmp/hello_world
+chef:recipe > pp ls '/tmp'
+[".",
+"..",
+"hello_world"]</p></li>
+<li><p>Search for <em>nodes</em> by role, and print their IP addresses</p>
+
+<p>chef > nodes.find(:roles => 'monitoring-server') {|n| n[:ipaddress] }
+=> ["10.254.199.5"]</p></li>
+<li><p>Remove the role <em>obsolete</em> from every node in the system</p>
+
+<p>chef > nodes.transform(:all) {|n| n.run_list.delete('role[obsolete]') }
+ => [node[chef098b2.opschef.com], node[ree-woot], node[graphite-dev], node[fluke.localdomain], node[ghost.local], node[kallistec]]</p></li>
+</ul>
+
+
+<h2 id="BUGS">BUGS</h2>
+
+<p><code>chef-shell</code> often does not perfectly replicate the context in which
+<span class="man-ref">chef-client<span class="s">(8)</span></span> configures a host, which may lead to discrepancies in
+observed behavior.</p>
+
+<p><code>chef-shell</code> has to duplicate much code from chef-client's internal
+libraries and may become out of sync with the behavior of those
+libraries.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <span class="man-ref">chef-client<span class="s">(8)</span></span> <span class="man-ref">knife<span class="s">(1)</span></span>
+ <a href="http://wiki.opscode.com/display/chef/Chef+Shell" data-bare-link="true">http://wiki.opscode.com/display/chef/Chef+Shell</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#97;&#105;&#108;&#x74;&#111;&#58;&#97;&#x64;&#97;&#109;&#64;&#x6f;&#112;&#x73;&#x63;&#x6f;&#100;&#101;&#x2e;&#99;&#111;&#109;" data-bare-link="true">&#97;&#x64;&#97;&#x6d;&#x40;&#x6f;&#112;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#99;&#111;&#x6d;</a> with many
+ contributions from the community. chef-shell was written by Daniel
+ DeLeo.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Daniel DeLeo <a href="&#x6d;&#97;&#105;&#x6c;&#116;&#111;&#x3a;&#x64;&#x61;&#x6e;&#x40;&#111;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#111;&#x6d;" data-bare-link="true">&#100;&#x61;&#110;&#64;&#x6f;&#x70;&#115;&#99;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this
+ document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> chef-shell is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-shell(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-solo.8.html b/distro/common/html/chef-solo.8.html
new file mode 100644
index 0000000000..727df99c9f
--- /dev/null
+++ b/distro/common/html/chef-solo.8.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-solo(8) - Runs chef in solo mode against a specified cookbook location.</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-solo(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-solo(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-solo</code> - <span class="man-whatis">Runs chef in solo mode against a specified cookbook location.</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-solo</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-c</code>, <code>--config CONFIG</code></dt><dd>The configuration file to use</dd>
+<dt><code>-d</code>, <code>--daemonize</code></dt><dd>Daemonize the process</dd>
+<dt><code>-g</code>, <code>--group GROUP</code></dt><dd>Group to set privilege to</dd>
+<dt><code>-i</code>, <code>--interval SECONDS</code></dt><dd>Run chef-client periodically, in seconds</dd>
+<dt><code>-j</code>, <code>--json-attributes JSON_ATTRIBS</code></dt><dd>Load attributes from a JSON file or URL</dd>
+<dt><code>-l</code>, <code>--log_level LEVEL</code></dt><dd>Set the log level (debug, info, warn, error, fatal)</dd>
+<dt><code>-L</code>, <code>--logfile LOGLOCATION</code></dt><dd>Set the log file location, defaults to STDOUT - recommended for
+daemonizing</dd>
+<dt><code>-N</code>, <code>--node-name NODE_NAME</code></dt><dd>The node name for this client</dd>
+<dt><code>-r</code>, <code>--recipe-url RECIPE_URL</code></dt><dd>Pull down a remote gzipped tarball of recipes and untar it to the
+cookbook cache.</dd>
+<dt><code>-s</code>, <code>--splay SECONDS</code></dt><dd>The splay time for running at intervals, in seconds</dd>
+<dt><code>-u</code>, <code>--user USER</code></dt><dd>User to set privilege to</dd>
+<dt><code>-v</code>, <code>--version</code></dt><dd>Show chef version</dd>
+<dt><code>-h</code>, <code>--help</code></dt><dd>Show this message</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Chef Solo allows you to run Chef Cookbooks in the absence of a Chef Server.
+To do this, the complete cookbook needs to be present on disk.</p>
+
+<p>By default Chef Solo will look in /etc/chef/solo.rb for its configuration.
+This configuration file has two required variables: file_cache_path and
+cookbook_path.</p>
+
+<p>For example:</p>
+
+<pre><code>file_cache_path "/var/chef-solo"
+cookbook_path "/var/chef-solo/cookbooks"
+</code></pre>
+
+<p>For your own systems, you can change this to reflect any directory you like,
+but you'll need to specify absolute paths and the cookbook_path directory
+should be a subdirectory of the file_cache_path.</p>
+
+<p>You can also specify cookbook_path as an array, passing multiple locations
+to search for cookbooks.</p>
+
+<p>For example:</p>
+
+<pre><code>file_cache_path "/var/chef-solo"
+cookbook_path ["/var/chef-solo/cookbooks", "/var/chef-solo/site-cookbooks"]
+</code></pre>
+
+<p>Note that earlier entries are now overridden by later ones.</p>
+
+<p>Since chef-solo doesn't have any interaction with a Chef Server, you'll need
+to specify node-specifc attributes in a JSON file. This can be located on the
+target system itself, or it can be stored on a remote server such as S3, or a
+web server on your network.</p>
+
+<p>Within the JSON file, you'll also specify the recipes that Chef should run in
+the "run_list". An example JSON file, which sets a resolv.conf:</p>
+
+<pre><code>{
+ "resolver": {
+ "nameservers": [ "10.0.0.1" ],
+ "search":"int.example.com"
+ },
+ "run_list": [ "recipe[resolver]" ]
+}
+</code></pre>
+
+<p>Then you can run chef-solo with -j to specify the JSON file. It will look for
+cookbooks in the cookbook_path configured in the configuration file, and apply
+attributes and use the run_list from the JSON file specified.</p>
+
+<p>You can use -c to specify the path to the configuration file (if you don't want
+chef-solo to use the default). You can also specify -r for a cookbook tarball.</p>
+
+<p>For example:</p>
+
+<pre><code>chef-solo -c ~/solo.rb -j ~/node.json -r http://www.example.com/chef-solo.tar.gz
+</code></pre>
+
+<p>In the above case, chef-solo would extract the tarball to your specified
+cookbook_path, use ~/solo.rb as the configuration file, and apply attributes
+and use the run_list from ~/node.json.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p>Full documentation for Chef and chef-solo is located on the Chef wiki,
+http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#x74;&#x6f;&#x3a;&#97;&#x64;&#x61;&#109;&#64;&#111;&#x73;&#x70;&#99;&#x6f;&#100;&#101;&#46;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#x40;&#x6f;&#115;&#112;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#106;&#x6f;&#x73;&#104;&#x75;&#97;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#106;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-solo(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/chef-solr.8.html b/distro/common/html/chef-solr.8.html
new file mode 100644
index 0000000000..0e13c25d90
--- /dev/null
+++ b/distro/common/html/chef-solr.8.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>chef-solr(8) - Runs as Chef's search server</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>chef-solr(8)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>chef-solr(8)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>chef-solr</code> - <span class="man-whatis">Runs as Chef's search server</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>chef-solr</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-c</code>, <code>--config CONFIG</code></dt><dd>The configuration file to use</dd>
+<dt><code>-d</code>, <code>--daemonize</code></dt><dd>Daemonize the process</dd>
+<dt><code>-g</code>, <code>--group GROUP</code></dt><dd>Group to set privilege to</dd>
+<dt><code>-l</code>, <code>--log_level LEVEL</code></dt><dd>Set the log level (debug, info, warn, error, fatal)</dd>
+<dt><code>-L</code>, <code>--logfile LOGLOCATION</code></dt><dd>Set the log file location, defaults to STDOUT - recommended for daemonizing</dd>
+<dt><code>-P</code>, <code>--pid PIDFILE</code></dt><dd>Set the PID file location, defaults to /tmp/chef-solr.pid</dd>
+<dt><code>-D</code>, <code>--solr-data-dir PATH</code></dt><dd>Where the Solr data lives</dd>
+<dt><code>-x</code>, <code>--solor-heap-size SIZE</code></dt><dd>Set the size of the Java Heap</dd>
+<dt><code>-H</code>, <code>--solr-home-dir PATH</code></dt><dd>Solr home directory</dd>
+<dt><code>-j</code>, <code>--java-opts OPTS</code></dt><dd>Raw options passed to Java</dd>
+<dt><code>-x</code>, <code>--solor-heap-size</code></dt><dd>Set the size of the Java Heap</dd>
+<dt><code>-W</code>, <code>--solr-jetty-dir PATH</code></dt><dd>Where to place the Solr Jetty instance</dd>
+<dt><code>-u</code>, <code>--user USER</code></dt><dd>User to set privilege to</dd>
+<dt><code>-v</code>, <code>--version</code></dt><dd>Show chef-solr version</dd>
+<dt><code>-h</code>, <code>--help</code></dt><dd>Show this message</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Chef-solr provides search service for Chef. You need to have both
+chef-solr and chef-expander-cluster running in order for search to work.</p>
+
+<p><strong>Installation</strong></p>
+
+<p>Make sure you backed up your data if you are upgrading from a previous version.
+Run chef-solr-installer to upgrade your Chef Solr installation. Answer "yes"
+when prompted for confirmation. The process should look like this:</p>
+
+<pre><code>yourshell&gt; chef-solr-installer
+Configuration setting solr_heap_size is unknown and will be ignored
+
+Chef Solr is already installed in /var/chef/solr
+Do you want to overwrite the current install? All existing Solr data will be lost. [y/n] y
+Removing the existing Chef Solr installation
+ rm -rf /var/chef/solr
+ rm -rf /var/chef/solr-jetty
+ rm -rf /var/chef/solr/data
+Creating Solr Home Directory
+ mkdir -p /var/chef/solr
+ entering /var/chef/solr
+ tar zxvf /Users/ddeleo/opscode/chef/chef-solr/solr/solr-home.tar.gz
+Creating Solr Data Directory
+ mkdir -p /var/chef/solr/data
+Unpacking Solr Jetty
+ mkdir -p /var/chef/solr-jetty
+ entering /var/chef/solr-jetty
+ tar zxvf /Users/ddeleo/opscode/chef/chef-solr/solr/solr-jetty.tar.gz
+
+Successfully installed Chef Solr.
+You can restore your search index using `knife index rebuild`
+</code></pre>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p><strong>chef-expander-cluster</strong>(8)</p>
+
+<p>Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p>Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#x74;&#x6f;&#x3a;&#97;&#x64;&#x61;&#109;&#64;&#111;&#x73;&#x70;&#99;&#x6f;&#100;&#101;&#46;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#x40;&#x6f;&#115;&#112;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;</a> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#106;&#x6f;&#x73;&#104;&#x75;&#97;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#106;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.</p>
+
+<p>On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>chef-solr(8)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-bootstrap.1.html b/distro/common/html/knife-bootstrap.1.html
new file mode 100644
index 0000000000..6bc60652ca
--- /dev/null
+++ b/distro/common/html/knife-bootstrap.1.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-bootstrap(1) - Install Chef Client on a remote host</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#BUGS">BUGS</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-bootstrap(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-bootstrap(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-bootstrap</code> - <span class="man-whatis">Install Chef Client on a remote host</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>bootstrap</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-i</code>, <code>--identity-file IDENTITY_FILE</code></dt><dd>The SSH identity file used for authentication</dd>
+<dt><code>-N</code>, <code>--node-name NAME</code></dt><dd>The Chef node name for your new node</dd>
+<dt><code>-P</code>, <code>--ssh-password PASSWORD</code></dt><dd>The ssh password</dd>
+<dt><code>-x</code>, <code>--ssh-user USERNAME</code></dt><dd>The ssh username</dd>
+<dt><code>-p</code>, <code>--ssh-port PORT</code></dt><dd>The ssh port</dd>
+<dt><code>--bootstrap-version VERSION</code></dt><dd>The version of Chef to install</dd>
+<dt><code>--bootstrap-proxy PROXY_URL</code></dt><dd><code>The proxy server for the node being bootstrapped</code></dd>
+<dt><code>--prerelease</code></dt><dd>Install pre-release Chef gems</dd>
+<dt><code>-r</code>, <code>--run-list RUN_LIST</code></dt><dd>Comma separated list of roles/recipes to apply</dd>
+<dt><code>--template-file TEMPLATE</code></dt><dd>Full path to location of template to use</dd>
+<dt class="flush"><code>--sudo</code></dt><dd>Execute the bootstrap via sudo</dd>
+<dt><code>-d</code>, <code>--distro DISTRO</code></dt><dd>Bootstrap a distro using a template</dd>
+<dt><code>--[no-]host-key-verify</code></dt><dd>Enable host key verification, which is the default behavior.</dd>
+<dt><code>--hint HINT_NAME[=HINT_FILE]</code></dt><dd>Provide the name of a hint (with option JSON file) to set for use by
+Ohai plugins.</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Performs a Chef Bootstrap on the target node. The goal of the bootstrap
+is to get Chef installed on the target system so it can run Chef Client
+with a Chef Server. The main assumption is a baseline OS installation
+exists. This sub-command is used internally by some cloud computing
+plugins.</p>
+
+<p>The bootstrap sub-command supports supplying a template to perform the
+bootstrap steps. If the distro is not specified (via <code>-d</code> or <code>--distro</code>
+option), an Ubuntu 10.04 host bootstrapped with RubyGems is assumed. The
+<strong>DISTRO</strong> value corresponds to the base filename of the template, in
+other words <code>DISTRO</code>.erb. A template file can be specified with the
+<code>--template-file</code> option in which case the <strong>DISTRO</strong> is not used. The
+sub-command looks in the following locations for the template to use:</p>
+
+<ul>
+<li><code>bootstrap</code> directory in the installed Chef Knife library.</li>
+<li><code>bootstrap</code> directory in the <code>$PWD/.chef</code>.</li>
+<li><code>bootstrap</code> directory in the users <code>$HOME/.chef</code>.</li>
+</ul>
+
+
+<p>The default bootstrap templates are scripts that get copied to the
+target node (FQDN). The following distros are supported:</p>
+
+<ul>
+<li>centos5-gems</li>
+<li>fedora13-gems</li>
+<li>ubuntu10.04-gems</li>
+<li>ubuntu10.04-apt</li>
+</ul>
+
+
+<p>The gems installations will use RubyGems 1.3.6 and Chef installed as a
+gem. The apt installation will use the Opscode APT repository.</p>
+
+<p>In addition to handling the software installation, these bootstrap
+templates do the following:</p>
+
+<ul>
+<li>Write the validation.pem per the local knife configuration.</li>
+<li>Write a default config file for Chef (<code>/etc/chef/client.rb</code>) using values from the <code>knife.rb</code>.</li>
+<li>Create a JSON attributes file containing the specified run list and run Chef.</li>
+</ul>
+
+
+<p>In the case of the RubyGems, the <code>client.rb</code> will be written from
+scratch with a minimal set of values; see <strong>EXAMPLES</strong>. In the case of
+APT Package installation, <code>client.rb</code> will have the
+<code>validation_client_name</code> appended if it is not set to <code>chef-validator</code>
+(default config value), and the <code>node_name</code> will be added if
+<code>chef_node_name</code> option is specified.</p>
+
+<p>When this is complete, the bootstrapped node will have:</p>
+
+<ul>
+<li>Latest Chef version installed from RubyGems or APT Packages from Opscode. This may be a later version than the local system.</li>
+<li>Be validated with the configured Chef Server.</li>
+<li>Have run Chef with its default run list if one is specfied.</li>
+</ul>
+
+
+<p>Additional custom bootstrap templates can be created and stored in
+<code>.chef/bootstrap/DISTRO.erb</code>, replacing <strong>DISTRO</strong> with the value passed
+with the <code>-d</code> or <code>--distro</code> option. See <strong>EXAMPLES</strong> for more
+information.</p>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<p>Setting up a custom bootstrap is fairly straightforward. Create a
+<code>.chef/bootstrap</code> directory in your Chef Repository or in
+<code>$HOME/.chef/bootstrap</code>. Then create the ERB template file.</p>
+
+<pre><code>mkdir ~/.chef/bootstrap
+vi ~/.chef/bootstrap/debian5.0-apt.erb
+</code></pre>
+
+<p>For example, to create a new bootstrap template that should be used when
+setting up a new Debian node. Edit the template to run the commands, set
+up the validation certificate and the client configuration file, and
+finally to run chef-client on completion. The bootstrap template can be
+called with:</p>
+
+<pre><code>knife bootstrap mynode.example.com --template-file ~/.chef/bootstrap/debian5.0-apt.erb
+</code></pre>
+
+<p>Or,</p>
+
+<pre><code>knife bootstrap mynode.example.com --distro debian5.0-apt
+</code></pre>
+
+<p>The <code>--distro</code> parameter will automatically look in the
+<code>~/.chef/bootstrap</code> directory for a file named <code>debian5.0-apt.erb</code>.</p>
+
+<p>Templates provided by the Chef installation are located in
+<code>BASEDIR/lib/chef/knife/bootstrap/*.erb</code>, where <em>BASEDIR</em> is the
+location where the package or Gem installed the Chef client libraries.</p>
+
+<h2 id="BUGS">BUGS</h2>
+
+<p><code>knife bootstrap</code> is not capable of bootstrapping multiple hosts in
+parallel.</p>
+
+<p>The bootstrap script is passed as an argument to <span class="man-ref">sh<span class="s">(1)</span></span> on the remote
+system, so sensitive information contained in the script will be visible
+to other users via the process list using tools such as <span class="man-ref">ps<span class="s">(1)</span></span>.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-ssh</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#64;&#x6f;&#112;&#115;&#99;&#111;&#x64;&#x65;&#46;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#58;&#106;&#111;&#115;&#104;&#x75;&#97;&#x40;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#46;&#99;&#111;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#x6f;&#100;&#x65;&#46;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-bootstrap(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-client.1.html b/distro/common/html/knife-client.1.html
new file mode 100644
index 0000000000..bdad3299df
--- /dev/null
+++ b/distro/common/html/knife-client.1.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-client(1) - Manage Chef API Clients</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#SUB-COMMANDS">SUB-COMMANDS</a>
+ <a href="#BULK-DELETE">BULK DELETE</a>
+ <a href="#CREATE">CREATE</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#EDIT">EDIT</a>
+ <a href="#LIST">LIST</a>
+ <a href="#REREGISTER">REREGISTER</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-client(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-client(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-client</code> - <span class="man-whatis">Manage Chef API Clients</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>client</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="SUB-COMMANDS">SUB-COMMANDS</h2>
+
+<p>Client subcommands follow a basic create, read, update, delete (CRUD)
+pattern. The Following subcommands are available:</p>
+
+<h2 id="BULK-DELETE">BULK DELETE</h2>
+
+<p><strong>knife client bulk delete</strong> <em>regex</em> <em>(options)</em></p>
+
+<p>Delete clients where the client name matches the regular expression
+<em>regex</em> on the Chef Server. The regular expression should be given as a
+quoted string, and not surrounded by forward slashes.</p>
+
+<h2 id="CREATE">CREATE</h2>
+
+<p><strong>knife client create</strong> <em>client name</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--admin </code></dt><dd>Create the client as an admin</dd>
+<dt><code>-f</code>, <code>--file FILE</code></dt><dd>Write the key to a file</dd>
+</dl>
+
+
+<p>Create a new client. This generates an RSA keypair. The private key will
+be displayed on <em>STDOUT</em> or written to the named file. The public half
+will be stored on the Server. For <em>chef-client</em> systems, the private key
+should be copied to the system as <code>/etc/chef/client.pem</code>.</p>
+
+<p>Admin clients should be created for users that will use <em>knife</em> to
+access the API as an administrator. The private key will generally be
+copied to <code>~/.chef/client\_name.pem</code> and referenced in the <code>knife.rb</code>
+configuration file.</p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife client delete</strong> <em>client name</em> <em>(options)</em></p>
+
+<p>Deletes a registered client.</p>
+
+<h2 id="EDIT">EDIT</h2>
+
+<p><strong>client edit</strong> <em>client name</em> <em>(options)</em></p>
+
+<p>Edit a registered client.</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>client list</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd> Show corresponding URIs</dd>
+</dl>
+
+
+<p>List all registered clients.</p>
+
+<h2 id="REREGISTER">REREGISTER</h2>
+
+<p><strong>client reregister</strong> <em>client name</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-f</code>, <code>--file FILE</code></dt><dd>Write the key to a file</dd>
+</dl>
+
+
+<p>Regenerate the RSA keypair for a client. The public half will be stored
+on the server and the private key displayed on <em>STDOUT</em> or written to
+the named file. This operation will invalidate the previous keypair used
+by the client, preventing it from authenticating with the Chef Server.
+Use care when reregistering the validator client.</p>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>client show</strong> <em>client name</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--attribute ATTR</code></dt><dd>Show only one attribute</dd>
+</dl>
+
+
+<p>Show a client. Output format is determined by the --format option.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Clients are identities used for communication with the Chef Server API,
+roughly equivalent to user accounts on the Chef Server, except that
+clients only communicate with the Chef Server API and are authenticated
+via request signatures.</p>
+
+<p>In the typical case, there will be one client object on the server for
+each node, and the corresponding client and node will have identical
+names.</p>
+
+<p>In the Chef authorization model, there is one special client, the
+"validator", which is authorized to create new non-administrative
+clients but has minimal privileges otherwise. This identity is used as a
+sort of "guest account" to create a client identity when initially
+setting up a host for management with Chef.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-node</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#64;&#x6f;&#112;&#115;&#99;&#111;&#x64;&#x65;&#46;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#58;&#106;&#111;&#115;&#104;&#x75;&#97;&#x40;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#46;&#99;&#111;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#x6f;&#100;&#x65;&#46;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-client(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-configure.1.html b/distro/common/html/knife-configure.1.html
new file mode 100644
index 0000000000..9394f08f0e
--- /dev/null
+++ b/distro/common/html/knife-configure.1.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-configure(1) - Generate configuration files for knife or Chef Client</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#CONFIGURE-SUBCOMMANDS">CONFIGURE SUBCOMMANDS</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-configure(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-configure(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-configure</code> - <span class="man-whatis">Generate configuration files for knife or Chef Client</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>configure</strong> [client] <em>(options)</em></p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Generates a knife.rb configuration file interactively. When given the
+--initial option, also creates a new administrative user.</p>
+
+<h2 id="CONFIGURE-SUBCOMMANDS">CONFIGURE SUBCOMMANDS</h2>
+
+<p><strong>knife configure</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-i</code>, <code>--initial</code></dt><dd>Create an initial API Client</dd>
+<dt><code>-r</code>, <code>--repository REPO</code></dt><dd>The path to your chef-repo</dd>
+</dl>
+
+
+<p>Create a configuration file for knife. This will prompt for values to
+enter into the file. Default values are listed in square brackets if no
+other entry is typed. See <strong>knife</strong>(1) for a description of
+configuration options.</p>
+
+<p><strong>knife configure client</strong> <em>directory</em></p>
+
+<p>Read the <em>knife.rb</em> config file and generate a config file suitable for
+use in <em>/etc/chef/client.rb</em> and copy the validation certificate into
+the specified <em>directory</em>.</p>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<ul>
+<li><p>On a freshly installed Chef Server, use <em>knife configure -i</em> to
+create an administrator and knife configuration file. Leave the
+field blank to accept the default value. On most systems, the
+default values are acceptable.</p>
+
+<p>user@host$ knife configure -i<br />
+Please enter the chef server URL: [http://localhost:4000]<br />
+Please enter a clientname for the new client: [username]<br />
+Please enter the existing admin clientname: [chef-webui]<br />
+Please enter the location of the existing admin client's private key: [/etc/chef/webui.pem]<br />
+Please enter the validation clientname: [chef-validator]<br />
+Please enter the location of the validation key: [/etc/chef/validation.pem]<br />
+Please enter the path to a chef repository (or leave blank):<br />
+Creating initial API user...<br />
+Created (or updated) client[username]<br />
+Configuration file written to /home/username/.chef/knife.rb</p>
+
+<p>This creates a new administrator client named <em>username</em>, writes
+a configuration file to <em>/home/username/.chef/knife.rb</em>, and the
+private key to <em>/home/username/.chef/username.pem</em>. The
+configuration file and private key may be copied to another system
+to facilitate administration of the Chef Server from a remote
+system. Depending on the value given for the Chef Server URL, you
+may need to modify that setting after copying to a remote host.</p></li>
+</ul>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife</strong>(1) <strong>knife-client</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#64;&#x6f;&#112;&#115;&#99;&#111;&#x64;&#x65;&#46;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#58;&#106;&#111;&#115;&#104;&#x75;&#97;&#x40;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#46;&#99;&#111;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#x6f;&#100;&#x65;&#46;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-configure(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-cookbook-site.1.html b/distro/common/html/knife-cookbook-site.1.html
new file mode 100644
index 0000000000..ad40a5c1d1
--- /dev/null
+++ b/distro/common/html/knife-cookbook-site.1.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-cookbook-site(1) - Install and update open source cookbooks</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#COOKBOOK-SITE-SUB-COMMANDS">COOKBOOK SITE SUB-COMMANDS</a>
+ <a href="#INSTALL">INSTALL</a>
+ <a href="#DOWNLOAD">DOWNLOAD</a>
+ <a href="#LIST">LIST</a>
+ <a href="#SEARCH">SEARCH</a>
+ <a href="#SHARE">SHARE</a>
+ <a href="#UNSHARE">UNSHARE</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-cookbook-site(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-cookbook-site(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-cookbook-site</code> - <span class="man-whatis">Install and update open source cookbooks</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>cookbook site</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="COOKBOOK-SITE-SUB-COMMANDS">COOKBOOK SITE SUB-COMMANDS</h2>
+
+<p><code>knife cookbook site</code> provides the following subcommands:</p>
+
+<h2 id="INSTALL">INSTALL</h2>
+
+<p><strong>cookbook site install COOKBOOK [VERSION]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-D</code>, <code>--skip-dependencies</code></dt><dd>Skip automatic installation of dependencies.</dd>
+<dt><code>-o</code>, <code>--cookbook-path PATH</code></dt><dd>Install cookbooks to PATH</dd>
+<dt><code>-B</code>, <code>--branch BRANCH</code></dt><dd>Default branch to work with [defaults to master]</dd>
+</dl>
+
+
+<p>Uses <span class="man-ref">git<span class="s">(1)</span></span> version control in conjunction with the cookbook site to
+install community contributed cookbooks to your local cookbook
+repository. Running <code>knife cookbook site install</code> does the following:</p>
+
+<ol>
+<li>A new "pristine copy" branch is created in git for tracking the
+upstream;</li>
+<li>All existing cookbooks are removed from the branch;</li>
+<li>The cookbook is downloaded from the cookbook site in tarball form;</li>
+<li>The downloaded cookbook is untarred, and its contents commited via git;</li>
+<li>The pristine copy branch is merged into the master branch.</li>
+</ol>
+
+
+<p>By installing cookbook with this process, you can locally modify the
+upstream cookbook in your master branch and let git maintain your
+changes as a separate patch. When an updated upstream version becomes
+available, you will be able to merge the upstream changes while
+maintaining your local modifications.</p>
+
+<p>Unless <em>--skip-dependencies</em> is specified, the process is applied recursively to all the
+cookbooks <em>COOKBOOK</em> depends on (via metadata <em>dependencies</em>).</p>
+
+<h2 id="DOWNLOAD">DOWNLOAD</h2>
+
+<p><strong>knife cookbook site download COOKBOOK [VERSION]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-f</code>, <code>--file FILE</code></dt><dd>The filename to write to</dd>
+<dt class="flush"><code>--force</code></dt><dd>Force download deprecated cookbook</dd>
+</dl>
+
+
+<p>Downloads a specific cookbook from the Community site, optionally
+specifying a certain version.</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife cookbook site list</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd>Show corresponding URIs</dd>
+</dl>
+
+
+<p>Lists available cookbooks from the Community site.</p>
+
+<h2 id="SEARCH">SEARCH</h2>
+
+<p><strong>knife cookbook site search QUERY</strong> <em>(options)</em></p>
+
+<p>Searches for available cookbooks matching the specified query.</p>
+
+<h2 id="SHARE">SHARE</h2>
+
+<p><strong>knife cookbook site share COOKBOOK CATEGORY</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-k</code>, <code>--key KEY</code></dt><dd>API Client Key</dd>
+<dt><code>-u</code>, <code>--user USER</code></dt><dd>API Client Username</dd>
+<dt><code>-o</code>, <code>--cookbook-path PATH:PATH</code></dt><dd>A colon-separated path to look for cookbooks in</dd>
+</dl>
+
+
+<p>Uploads the specified cookbook using the given category to the Opscode
+cookbooks site. Requires a login user and certificate for the Opscode
+Cookbooks site. By default, knife will use the username and API key
+you've configured in your configuration file; otherwise you must
+explicitly set these values on the command line or use an alternate
+configuration file.</p>
+
+<h2 id="UNSHARE">UNSHARE</h2>
+
+<p><strong>knife cookbook site unshare COOKBOOK</strong></p>
+
+<p>Stops sharing the specified cookbook on the Opscode cookbooks site.</p>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>knife cookbook site show COOKBOOK [VERSION]</strong> <em>(options)</em></p>
+
+<p>Shows information from the site about a particular cookbook.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The cookbook site, <a href="http://community.opscode.com/" data-bare-link="true">http://community.opscode.com/</a>, is a cookbook
+distribution service operated by Opscode. This service provides users
+with a central location to publish cookbooks for sharing with other
+community members.</p>
+
+<p><code>knife cookbook site</code> commands provide an interface to the cookbook
+site's HTTP API. For commands that read data from the API, no account is
+required. In order to upload cookbooks using the <code>knife cookbook site
+share</code> command, you must create an account on the cookbook site and
+configure your credentials via command line option or in your knife
+configuration file.</p>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<p>Uploading cookbooks to the Opscode cookbooks site:</p>
+
+<pre><code>knife cookbook site share example Other -k ~/.chef/USERNAME.pem -u USERNAME
+</code></pre>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">knife-cookbook<span class="s">(1)</span></span></strong>
+ <a href="http://community.opscode.com/cookbooks" data-bare-link="true">http://community.opscode.com/cookbooks</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#64;&#x6f;&#112;&#115;&#99;&#111;&#x64;&#x65;&#46;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#58;&#106;&#111;&#115;&#104;&#x75;&#97;&#x40;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#46;&#99;&#111;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#x6f;&#100;&#x65;&#46;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-cookbook-site(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-cookbook.1.html b/distro/common/html/knife-cookbook.1.html
new file mode 100644
index 0000000000..b98d9a9382
--- /dev/null
+++ b/distro/common/html/knife-cookbook.1.html
@@ -0,0 +1,384 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-cookbook(1) - upload and manage chef cookbooks</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#SUB-COMMANDS">SUB-COMMANDS</a>
+ <a href="#LIST">LIST</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#UPLOAD">UPLOAD</a>
+ <a href="#DOWNLOAD">DOWNLOAD</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#BULK-DELETE">BULK DELETE</a>
+ <a href="#COOKBOOK-CREATE">COOKBOOK CREATE</a>
+ <a href="#METADATA">METADATA</a>
+ <a href="#METADATA-FROM-FILE">METADATA FROM FILE</a>
+ <a href="#TEST">TEST</a>
+ <a href="#RECIPE-LIST">RECIPE LIST</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-cookbook(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-cookbook(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-cookbook</code> - <span class="man-whatis">upload and manage chef cookbooks</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>cookbook</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="SUB-COMMANDS">SUB-COMMANDS</h2>
+
+<p><code>knife cookbook</code> supports the following sub commands:</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife cookbook list</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--all</code></dt><dd>show all versions of a cookbook instead of just the most recent</dd>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd>show corresponding uris</dd>
+</dl>
+
+
+<p>Lists the cookbooks available on the Chef server.</p>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>knife cookbook show cookbook [version] [part] [filename]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-f</code>, <code>--fqdn fqdn </code></dt><dd>the fqdn of the host to see the file for</dd>
+<dt><code>-p</code>, <code>--platform platform </code></dt><dd>the platform to see the file for</dd>
+<dt><code>-v</code>, <code>--platform-version version</code></dt><dd>the platform version to see the file for</dd>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd>Show corresponding URIs</dd>
+</dl>
+
+
+<p>show a particular part of a <em>cookbook</em> for the specified <em>version</em>. <em>part</em> can be one of:</p>
+
+<ul>
+<li><em>attributes</em></li>
+<li><em>definitions</em></li>
+<li><em>files</em></li>
+<li><em>libraries</em></li>
+<li><em>providers</em></li>
+<li><em>recipes</em></li>
+<li><em>resources</em></li>
+<li><em>templates</em></li>
+</ul>
+
+
+<h2 id="UPLOAD">UPLOAD</h2>
+
+<p><strong>knife cookbook upload [cookbooks...]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--all</code></dt><dd>upload all cookbooks, rather than just a single cookbook</dd>
+<dt><code>-o</code>, <code>--cookbook-path path:path</code></dt><dd>a colon-separated path to look for cookbooks in</dd>
+<dt><code>-d</code>, <code>--upload-dependencies</code></dt><dd>Uploads additional cookbooks that this cookbook lists in as
+dependencies in its metadata.</dd>
+<dt><code>-E</code>, <code>--environment ENVIRONMENT</code></dt><dd>An <em>ENVIRONMENT</em> to apply the uploaded cookbooks to. Specifying this
+option will cause knife to edit the <em>ENVIRONMENT</em> to place a strict
+version constraint on the cookbook version(s) uploaded.</dd>
+<dt><code>--freeze</code></dt><dd>Sets the frozen flag on the uploaded cookbook(s) Any future attempt
+to modify the cookbook without changing the version number will
+return an error unless --force is specified.</dd>
+<dt class="flush"><code>--force</code></dt><dd>Overrides the frozen flag on a cookbook, allowing you to overwrite a
+cookbook version that has previously been uploaded with the --freeze
+option.</dd>
+</dl>
+
+
+<p>Uploads one or more cookbooks from your local cookbook repository(ies)
+to the Chef Server. Only files that don't yet exist on the server will
+be uploaded.</p>
+
+<p>As the command parses the name args as 1..n cookbook names:</p>
+
+<pre><code>`knife cookbook upload COOKBOOK COOKBOOK ...`
+</code></pre>
+
+<p>works for one to many cookbooks.</p>
+
+<h2 id="DOWNLOAD">DOWNLOAD</h2>
+
+<p><strong>knife cookbook download cookbook [version]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-d</code>, <code>--dir download_directory</code></dt><dd>the directory to download the cookbook into</dd>
+<dt><code>-f</code>, <code>--force</code></dt><dd>overwrite an existing directory with the download</dd>
+<dt><code>-n</code>, <code>--latest</code></dt><dd>download the latest version of the cookbook</dd>
+</dl>
+
+
+<p>download a cookbook from the chef server. if no version is specified and
+only one version exists on the server, that version will be downloaded.
+if no version is specified and multiple versions are available on the
+server, you will be prompted for a version to download.</p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife cookbook delete cookbook [version]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--all</code></dt><dd>delete all versions</dd>
+<dt><code>-p</code>, <code>--purge</code></dt><dd>purge files from backing store. this will disable any cookbook that contains any of the same files as the cookbook being purged.</dd>
+</dl>
+
+
+<p>delete the specified <em>version</em> of the named <em>cookbook</em>. if no version is
+specified, and only one version exists on the server, that version will
+be deleted. if multiple versions are available on the server, you will
+be prompted for a version to delete.</p>
+
+<h2 id="BULK-DELETE">BULK DELETE</h2>
+
+<p><strong>knife cookbook bulk delete regex</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-p</code>, <code>--purge</code></dt><dd>purge files from backing store. this will disable any cookbook that
+contains any of the same files as the cookbook being purged.</dd>
+</dl>
+
+
+<p>delete cookbooks on the chef server based on a regular expression. the
+regular expression (<em>regex</em>) should be in quotes, not in //'s.</p>
+
+<h2 id="COOKBOOK-CREATE">COOKBOOK CREATE</h2>
+
+<p><strong>knife cookbook create cookbook</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-o</code>, <code>--cookbook-path path</code></dt><dd>the directory where the cookbook will be created</dd>
+<dt><code>-r</code>, <code>--readme-format format</code></dt><dd>format of the readme file md, mkd, txt, rdoc</dd>
+<dt><code>-c</code>, <code>--copyright copyright</code></dt><dd>name of copyright holder</dd>
+<dt><code>-i</code>, <code>--license license</code></dt><dd>license for cookbook, apachev2 or none</dd>
+<dt><code>-e</code>, <code>--email email</code></dt><dd>email address of cookbook maintainer</dd>
+</dl>
+
+
+<p>this is a helper command that creates a new cookbook directory in the
+<code>cookbook_path</code>. the following directories and files are created for the
+named cookbook.</p>
+
+<ul>
+<li>cookbook/attributes</li>
+<li>cookbook/definitions</li>
+<li>cookbook/files/default</li>
+<li>cookbook/libraries</li>
+<li>cookbook/metadata.rb</li>
+<li>cookbook/providers</li>
+<li>cookbook/readme.md</li>
+<li>cookbook/recipes/default.rb</li>
+<li>cookbook/resources</li>
+<li>cookbook/templates/default</li>
+</ul>
+
+
+<p>supported readme formats are 'md' (default), 'mkd', 'txt', 'rdoc'. the
+readme file will be written with the specified extension and a set of
+helpful starting headers.</p>
+
+<p>specify <code>-c</code> or <code>--copyright</code> with the name of the copyright holder as
+your name or your company/organization name in a quoted string. if this
+value is not specified an all-caps string <code>your_company_name</code> is used
+which can be easily changed with find/replace.</p>
+
+<p>specify <code>-i</code> or <code>--license</code> with the license that the cookbook is
+distributed under for sharing with other people or posting to the
+opscode cookbooks site. be aware of the licenses of files you put inside
+the cookbook and follow any restrictions they describe. when using
+<code>none</code> (default) or <code>apachev2</code>, comment header text and metadata file
+are pre-filled. the <code>none</code> license will be treated as
+non-redistributable.</p>
+
+<p>specify <code>-e</code> or <code>--email</code> with the email address of the cookbook's
+maintainer. if this value is not specified, an all-caps string
+<code>your_email</code> is used which can easily be changed with find/replace.</p>
+
+<p>the cookbook copyright, license, email and readme_format settings can be filled in the
+<code>knife.rb</code>, for example with default values:</p>
+
+<pre><code>cookbook_copyright "your_company_name"
+cookbook_license "none"
+cookbook_email "your_email"
+readme_format "md"
+</code></pre>
+
+<h2 id="METADATA">METADATA</h2>
+
+<p><strong>knife cookbook metadata cookbook</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--all</code></dt><dd>generate metadata for all cookbooks, rather than just a single cookbook</dd>
+<dt><code>-o</code>, <code>--cookbook-path path:path</code></dt><dd>a colon-separated path to look for cookbooks in</dd>
+</dl>
+
+
+<p>generate cookbook metadata for the named <em>cookbook</em>. the <em>path</em> used here specifies where the cookbooks directory is located and corresponds to the <code>cookbook_path</code> configuration option.</p>
+
+<h2 id="METADATA-FROM-FILE">METADATA FROM FILE</h2>
+
+<p><strong>knife cookbook metadata from file</strong> <em>(options)</em></p>
+
+<p>load the cookbook metadata from a specified file.</p>
+
+<h2 id="TEST">TEST</h2>
+
+<p><strong>knife cookbook test [cookbooks...]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--all</code></dt><dd>test all cookbooks, rather than just a single cookbook</dd>
+<dt><code>-o</code>, <code>--cookbook-path path:path</code></dt><dd>a colon-separated path to look for cookbooks in</dd>
+</dl>
+
+
+<p>test the specified cookbooks for syntax errors. this uses the built-in
+ruby syntax checking option for files in the cookbook ending in <code>.rb</code>,
+and the erb syntax check for files ending in <code>.erb</code> (templates).</p>
+
+<h2 id="RECIPE-LIST">RECIPE LIST</h2>
+
+<p><strong>knife recipe list [PATTERN]</strong></p>
+
+<p>List available recipes from the server. Specify <em>PATTERN</em> as a regular
+expression to limit the results.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Cookbooks are the fundamental unit of distribution in Chef. They
+encapsulate all recipes of resources and assets used to configure a
+particular aspect of the infrastructure. The following sub-commands can
+be used to manipulate the cookbooks stored on the Chef Server.</p>
+
+<p>On disk, cookbooks are directories with a defined structure. The
+following directories may appear within a cookbook:</p>
+
+<dl>
+<dt>COOKBOOK/attributes/</dt><dd>Ruby files that define default parameters to be used in recipes</dd>
+<dt>COOKBOOK/definitions/</dt><dd>Ruby files that contain <em>resource definitions</em></dd>
+<dt>COOKBOOK/files/SPECIFICITY</dt><dd>Files of arbitrary type. These files may be downloaded by
+<span class="man-ref">chef-client<span class="s">(8)</span></span> when configuring a host.</dd>
+<dt>COOKBOOK/libraries/</dt><dd>Ruby files that contain library code needed for recipes</dd>
+<dt>COOKBOOK/providers/</dt><dd>Ruby files that contain Lightweight Provider definitions</dd>
+<dt>COOKBOOK/recipes/</dt><dd>Ruby files that use Chef's recipe DSL to describe the desired
+configuration of a system</dd>
+<dt>COOKBOOK/resources/</dt><dd>Ruby files that contain Lightweight Resource definitions</dd>
+<dt>COOKBOOK/templates/SPECIFICITY</dt><dd>ERuby (ERb) template files. These are referenced by <em>recipes</em> and
+evaluated to dynamically generate configuration files.</dd>
+</dl>
+
+
+<p><strong>SPECIFICITY</strong> is a feature of <em>files</em> and <em>templates</em> that allow you
+to specify alternate files to be used on a specific OS platform or host.
+The default specificity setting is <em>default</em>, that is files in
+<code>COOKBOOK/files/default</code> will be used when a more specific copy is not
+available. Further documentation for this feature is available on the
+Chef wiki: <a href="http://wiki.opscode.com/display/chef/File+Distribution#FileDistribution-FileSpecificity" data-bare-link="true">http://wiki.opscode.com/display/chef/File+Distribution#FileDistribution-FileSpecificity</a></p>
+
+<p>Cookbooks also contain a metadata file that defines various properties
+of the cookbook. The most important of these are the <em>version</em> and the
+<em>dependencies</em>. The <em>version</em> is used in combination with environments
+to select which copy of a given cookbook is distributed to a node. The
+<em>dependencies</em> are used by the server to determine which additional
+cookbooks must be distributed to a given host when it requires a
+cookbook.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">knife-environment<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-cookbook-site<span class="s">(1)</span></span></strong>
+ <a href="http://wiki.opscode.com/display/chef/Cookbooks" data-bare-link="true">http://wiki.opscode.com/display/chef/Cookbooks</a>
+ <a href="http://wiki.opscode.com/display/chef/Metadata" data-bare-link="true">http://wiki.opscode.com/display/chef/Metadata</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#x3a;&#97;&#x64;&#97;&#109;&#64;&#111;&#112;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#x64;&#97;&#109;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#x63;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#58;&#x6a;&#111;&#x73;&#x68;&#117;&#x61;&#x40;&#x6f;&#112;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x6a;&#111;&#x73;&#104;&#x75;&#97;&#64;&#111;&#112;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#x6f;&#109;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-cookbook(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-data-bag.1.html b/distro/common/html/knife-data-bag.1.html
new file mode 100644
index 0000000000..fb7f9b5646
--- /dev/null
+++ b/distro/common/html/knife-data-bag.1.html
@@ -0,0 +1,238 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-data-bag(1) - Store arbitrary data on a Chef Server</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#DATA-BAG-SUB-COMMANDS">DATA BAG SUB-COMMANDS</a>
+ <a href="#CREATE">CREATE</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#EDIT">EDIT</a>
+ <a href="#FROM-FILE">FROM FILE</a>
+ <a href="#LIST">LIST</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#ENCRYPTION-SUPPORT">ENCRYPTION SUPPORT</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-data-bag(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-data-bag(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-data-bag</code> - <span class="man-whatis">Store arbitrary data on a Chef Server</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>data bag</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Data bags are stores of arbitrary JSON data. Each data bag is a
+collection that may contain many items. Data Bag Items are indexed by
+the Chef Server and can be searched via <strong>knife-search</strong>(1).</p>
+
+<p>Data bags are available to all nodes configured by <strong>chef-client</strong>(8),
+and are therefore a convenient mechanism to store global information,
+such as lists of administrative accounts that should be configured on
+all hosts.</p>
+
+<h2 id="DATA-BAG-SUB-COMMANDS">DATA BAG SUB-COMMANDS</h2>
+
+<h2 id="CREATE">CREATE</h2>
+
+<p><strong>knife data bag create</strong> <em>bag name</em> [item id] <em>(options)</em></p>
+
+<dl>
+<dt><code>-s</code>, <code>--secret SECRET</code></dt><dd>A secret key used to encrypt the data bag item. See <strong>encryption support</strong> below.</dd>
+<dt><code>--secret-file SECRET_FILE</code></dt><dd>The path to a file containing the secret key to be used to encrypt
+the data bag item.</dd>
+</dl>
+
+
+<p>If <em>item id</em> is given, creates a new, empty data bag item and opens it for
+editing in your editor. The data bag will be created if it does not
+exist.</p>
+
+<p>If <em>item id</em> is not given, the data bag will be created.</p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife data bag delete</strong> <em>bag name</em> [item id] <em>(options)</em></p>
+
+<p>Delete a data bag, or an item from a data bag.</p>
+
+<h2 id="EDIT">EDIT</h2>
+
+<p><strong>knife data bag edit</strong> <em>bag name</em> <em>item id</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-s</code>, <code>--secret SECRET</code></dt><dd>A secret key used to encrypt the data bag item. See <strong>encryption support</strong> below.</dd>
+<dt><code>--secret-file SECRET_FILE</code></dt><dd>The path to a file containing the secret key to be used to encrypt
+the data bag item.</dd>
+</dl>
+
+
+<p>Edit an item in a data bag.</p>
+
+<h2 id="FROM-FILE">FROM FILE</h2>
+
+<p><strong>knife data bag from file</strong> <em>bag name</em> <em>file</em> <em>(options)</em></p>
+
+<p><strong>knife data bag from file</strong> <em>bag name</em> <em>file1</em> <em>file2</em> <em>file3</em> <em>(options)</em></p>
+
+<p><strong>knife data bag from file</strong> <em>bag name</em> <em>folder</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-s</code>, <code>--secret SECRET</code></dt><dd>A secret key used to encrypt the data bag item. See <strong>encryption support</strong> below.</dd>
+<dt><code>--secret-file SECRET_FILE</code></dt><dd>The path to a file containing the secret key to be used to encrypt
+the data bag item.</dd>
+</dl>
+
+
+<p>Load a data bag item from a JSON file. If <em>file</em> is a relative or
+absolute path to the file, that file will be used. Otherwise, the <em>file</em>
+parameter is treated as the base name of a data bag file in a Chef
+repository, and <code>knife</code> will search for the file in
+<code>./data_bags/bag_name/file</code>. For example <code>knife data bag from file users
+dan.json</code> would attempt to load the file <code>./data_bags/users/dan.json</code>.</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife data bag list</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd>Show corresponding URIs</dd>
+</dl>
+
+
+<p>Lists the data bags that exist on the Chef Server.</p>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>knife data bag show BAG [ITEM]</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-s</code>, <code>--secret SECRET</code></dt><dd>A secret key used to encrypt the data bag item. See <strong>encryption support</strong> below.</dd>
+<dt><code>--secret-file SECRET_FILE</code></dt><dd>The path to a file containing the secret key to be used to encrypt
+the data bag item.</dd>
+</dl>
+
+
+<p>Show a specific data bag or an item in a data bag. The output will be
+formatted according to the --format option.</p>
+
+<h2 id="ENCRYPTION-SUPPORT">ENCRYPTION SUPPORT</h2>
+
+<p>Data Bag Items may be encrypted to keep their contents secret. This may
+be desireable when storing sensitive information such as database
+passwords, API keys, etc.</p>
+
+<p>Data Bag Item encryption uses the AES-256 CBC symmetric key algorithm.</p>
+
+<p><strong>CAVEATS:</strong> Keys are not encrypted; only values are encrypted. The "id"
+of a Data Bag Item is not encrypted, since it is used by Chef Server to
+store the item in its database. For example, given the following data bag item:</p>
+
+<pre><code>{"id": "important_passwords", "secret_password": "opensesame"}
+</code></pre>
+
+<p>The key "secret_password" will be visible to an evesdropper, but the
+value "opensesame" will be protected. Both the key "id" and its value
+"important_passwords" will be visible to an evesdropper.</p>
+
+<p>Chef Server does not provide a secure mechanism for distributing
+encryption keys.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-search</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#x3a;&#97;&#x64;&#97;&#109;&#64;&#111;&#112;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#x64;&#97;&#109;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#x63;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#58;&#x6a;&#111;&#x73;&#x68;&#117;&#x61;&#x40;&#x6f;&#112;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x6a;&#111;&#x73;&#104;&#x75;&#97;&#64;&#111;&#112;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#x6f;&#109;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. http://wiki.opscode.com/display/chef/Home</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-data-bag(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-environment.1.html b/distro/common/html/knife-environment.1.html
new file mode 100644
index 0000000000..cb4ebced96
--- /dev/null
+++ b/distro/common/html/knife-environment.1.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-environment(1) - Define cookbook policies for the environments in your infrastructure</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#SUBCOMMANDS">SUBCOMMANDS</a>
+ <a href="#CREATE">CREATE</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#EDIT">EDIT</a>
+ <a href="#FROM-FILE">FROM FILE</a>
+ <a href="#LIST">LIST</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SYNTAX">SYNTAX</a>
+ <a href="#FORMAT">FORMAT</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-environment(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-environment(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-environment</code> - <span class="man-whatis">Define cookbook policies for the environments in your infrastructure</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>environment</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="SUBCOMMANDS">SUBCOMMANDS</h2>
+
+<p>Environment subcommands follow a basic create, read, update, delete
+(CRUD) pattern. The following subcommands are available:</p>
+
+<h2 id="CREATE">CREATE</h2>
+
+<p><strong>knife environment create</strong> <em>environment</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-d</code>, <code>--description DESCRIPTION</code></dt><dd>The value of the description field.</dd>
+</dl>
+
+
+<p>Create a new environment object on the Chef Server. The envrionment will
+be opened in the text editor for editing prior to creation if the -n
+option is not present.</p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife environment delete</strong> <em>environment</em> <em>(options)</em></p>
+
+<p>Destroy an environment on the Chef Server. A prompt for confirmation
+will be displayed if the -y options is not given.</p>
+
+<h2 id="EDIT">EDIT</h2>
+
+<p><strong>knife environment edit</strong> <em>environment</em> <em>(options)</em></p>
+
+<p>Fetch <em>environment</em> and display it in the text editor for editing. The
+environment will be saved to the Chef Server when the editing session
+exits.</p>
+
+<h2 id="FROM-FILE">FROM FILE</h2>
+
+<p><strong>knife environment from file</strong> <em>file</em> <em>(options)</em></p>
+
+<p>Create or update an environment from the JSON or Ruby format <em>file</em>. See
+<strong>format</strong> for the proper format of this file.</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife environment list</strong> <em>(options)</em>
+ * <code>-w</code>, <code>--with-uri</code>:</p>
+
+<pre><code>Show the resource URI for each environment
+</code></pre>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>knife environment show</strong> <em>environment</em> <em>(options)</em></p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Environments provide a means to apply policies to hosts in your
+infrastructure based on business function. For example, you may have a
+separate copy of your infrastructure called "dev" that runs the latest
+version of your application and should use the newest versions of your
+cookbooks when configuring systems, and a production instance of your
+infrastructure where you wish to update code and cookbooks in a more
+controlled fashion. In Chef, this function is implemented with
+<em>environments</em>.</p>
+
+<p>Environments contain two major components: a set of cookbook version
+constraints and environment attributes.</p>
+
+<h2 id="SYNTAX">SYNTAX</h2>
+
+<p>A cookbook version constraint is comprised of a <em>cookbook name</em> and a
+<em>version constraint</em>. The <em>cookbook name</em> is the name of a cookbook in
+your system, and the <em>version constraint</em> is a String describing the
+version(s) of that cookbook allowed in the environment. Only one
+<em>version constraint</em> is supported for a given <em>cookbook name</em>.</p>
+
+<p>The exact syntax used to define a cookbook version constraint varies
+depending on whether you use the JSON format or the Ruby format. In the
+JSON format, the cookbook version constraints for an environment are
+represented as a single JSON object, like this:</p>
+
+<pre><code>{"apache2": "&gt;= 1.5.0"}
+</code></pre>
+
+<p>In the Ruby format, the cookbook version contraints for an environment
+are represented as a Ruby Hash, like this:</p>
+
+<pre><code>{"apache2" =&gt; "&gt;= 1.5.0"}
+</code></pre>
+
+<p>A <em>version number</em> is a String comprised of two or three digits
+separated by a dot (.) character, or in other words, strings of the form
+"major.minor" or "major.minor.patch". "1.2" and "1.2.3" are examples of
+valid version numbers. Version numbers containing more than three digits
+or alphabetic characters are not supported.</p>
+
+<p>A <em>version constraint</em> String is composed of an <em>operator</em> and a
+<em>version number</em>. The following operators are available:</p>
+
+<dl>
+<dt><code>= VERSION</code></dt><dd>Equality. Only the exact version specified may be used.</dd>
+<dt><code>&gt; VERSION</code></dt><dd>Greater than. Only versions greater than <code>VERSION</code> may be used.</dd>
+<dt><code>&gt;= VERSION</code></dt><dd>Greater than or equal to. Only versions equal to VERSION or greater
+may be used.</dd>
+<dt><code>&lt; VERSION</code></dt><dd>Less than. Only versions less than VERSION may be used.</dd>
+<dt><code>&lt;= VERSION</code></dt><dd>Less than or equal to. Only versions lesser or equal to VERSION may
+be used.</dd>
+<dt><code>~&gt; VERSION</code></dt><dd>Pessimistic greater than. Depending on the number of components in
+the given VERSION, the constraint will be optimistic about future
+minor or patch revisions only. For example, <code>~&gt; 1.1</code> will match any
+version less than <code>2.0</code> and greater than or equal to <code>1.1.0</code>,
+whereas <code>~&gt; 2.0.5</code> will match any version less than <code>2.1.0</code> and
+greater than or equal to <code>2.0.5</code>.</dd>
+</dl>
+
+
+<h2 id="FORMAT">FORMAT</h2>
+
+<p>The JSON format of an envioronment is as follows:</p>
+
+<pre><code>{
+ "name": "dev",
+ "description": "The development environment",
+ "cookbook_versions": {
+ "couchdb": "= 11.0.0"
+ },
+ "json_class": "Chef::Environment",
+ "chef_type": "environment",
+ "default_attributes": {
+ "apache2": { "listen_ports": [ "80", "443" ] }
+ },
+ "override_attributes": {
+ "aws_s3_bucket": "production"
+ }
+}
+</code></pre>
+
+<p>The Ruby format of an environment is as follows:</p>
+
+<pre><code>name "dev"
+description "The development environment"
+cookbook_versions "couchdb" =&gt; "= 11.0.0"
+default_attributes "apache2" =&gt; { "listen_ports" =&gt; [ "80", "443" ] }
+override_attributes "aws_s3_bucket" =&gt; "production"
+</code></pre>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">knife-node<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-cookbook<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-role<span class="s">(1)</span></span></strong>
+ <a href="http://wiki.opscode.com/display/chef/Environments" data-bare-link="true">http://wiki.opscode.com/display/chef/Environments</a>
+ <a href="http://wiki.opscode.com/display/chef/Version+Constraints" data-bare-link="true">http://wiki.opscode.com/display/chef/Version+Constraints</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#x3a;&#97;&#x64;&#97;&#109;&#64;&#111;&#112;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#x64;&#97;&#109;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#x63;&#111;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Daniel DeLeo <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#58;&#x64;&#97;&#x6e;&#x40;&#111;&#x70;&#x73;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#111;&#x6d;" data-bare-link="true">&#x64;&#x61;&#110;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#100;&#101;&#46;&#x63;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-environment(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-exec.1.html b/distro/common/html/knife-exec.1.html
new file mode 100644
index 0000000000..abd81449df
--- /dev/null
+++ b/distro/common/html/knife-exec.1.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-exec(1) - Run user scripts using the Chef API DSL</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-exec(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-exec(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-exec</code> - <span class="man-whatis">Run user scripts using the Chef API DSL</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>exec</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-E</code>, <code>--exec CODE</code></dt><dd>Provide a snippet of code to evaluate on the command line</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p><code>knife exec</code> runs arbitrary ruby scripts in a context similar to that
+of the <span class="man-ref">chef-shell<span class="s">(1)</span></span> DSL. See the chef-shell documentation for a
+description of the commands available.</p>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<dl>
+<dt>Make an API call against an arbitrary endpoint</dt><dd>knife exec -E 'api.get("nodes/fluke.localdomain/cookbooks")'
+=> list of cookbooks for the node <em>fluke.localdomain</em></dd>
+<dt>Remove the role <em>obsolete</em> from all nodes</dt><dd>knife exec -E 'nodes.transform(:all){|n| n.run_list.delete("role[obsolete]")}'</dd>
+<dt>Generate the expanded run list for hosts in the <code>webserver</code> role</dt><dd>knife exec -E 'nodes.find(:roles => "webserver") {|n| n.expand!; n[:recipes]}'</dd>
+</dl>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">chef-shell<span class="s">(1)</span></span></strong></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#97;&#105;&#x6c;&#116;&#111;&#x3a;&#x61;&#x64;&#97;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#97;&#x64;&#x61;&#x6d;&#64;&#x6f;&#112;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#111;&#109;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#x6c;&#x74;&#x6f;&#58;&#106;&#x6f;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#112;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#109;" data-bare-link="true">&#106;&#x6f;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#46;&#x63;&#111;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-exec(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-index.1.html b/distro/common/html/knife-index.1.html
new file mode 100644
index 0000000000..d5c6b6b943
--- /dev/null
+++ b/distro/common/html/knife-index.1.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-index(1) - Rebuild the search index on a Chef Server</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-index(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-index(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-index</code> - <span class="man-whatis">Rebuild the search index on a Chef Server</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>index rebuild</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-y</code>, <code>--yes</code></dt><dd>don't bother to ask if I'm sure</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Rebuilds all the search indexes on the server. This is accomplished by
+deleting all objects from the search index, and then forwarding each
+item in the database to <strong>chef-expander</strong>(8) via <strong>rabbitmq-server</strong>(1).
+Depending on the number of objects in the database, it may take some
+time for all objects to be indexed and available for search.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-search</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#109;&#64;&#x6f;&#x70;&#115;&#99;&#x6f;&#100;&#101;&#46;&#99;&#111;&#x6d;" data-bare-link="true">&#x61;&#x64;&#x61;&#x6d;&#64;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#x69;&#108;&#x74;&#111;&#58;&#x6a;&#x6f;&#115;&#x68;&#117;&#x61;&#x40;&#x6f;&#112;&#x73;&#99;&#x6f;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#106;&#111;&#x73;&#104;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-index(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-node.1.html b/distro/common/html/knife-node.1.html
new file mode 100644
index 0000000000..48b104d458
--- /dev/null
+++ b/distro/common/html/knife-node.1.html
@@ -0,0 +1,250 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-node(1) - Manage the hosts in your infrastructure</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#NODE-SUB-COMMANDS">NODE SUB-COMMANDS</a>
+ <a href="#BULK-DELETE">BULK DELETE</a>
+ <a href="#CREATE">CREATE</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#EDIT">EDIT</a>
+ <a href="#FROM-FILE">FROM FILE</a>
+ <a href="#LIST">LIST</a>
+ <a href="#RUN_LIST-ADD">RUN_LIST ADD</a>
+ <a href="#RUN_LIST-REMOVE">RUN_LIST REMOVE</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#RUN-LIST-ITEM-FORMAT">RUN LIST ITEM FORMAT</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-node(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-node(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-node</code> - <span class="man-whatis">Manage the hosts in your infrastructure</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>node</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Nodes are data structures that represent hosts configured with Chef.
+Nodes have a <strong>name</strong>, a String that uniquely identifies the node,
+<strong>attributes</strong>, a nested Hash of properties that describe how the host
+should be configured, a <strong>chef_environment</strong>, a String representing the
+environment to which the node belongs, and a <strong>run_list</strong>, an ordered
+list of <strong>recipes</strong> or <strong>roles</strong> that chef-client should apply when
+configuring a host.</p>
+
+<p>When a host communicates with a Chef Server, it authenticates using its
+<strong>node_name</strong> for identification and signs its reqests with a private
+key. The Server validates the request by looking up a <strong>client</strong> object
+with a name identical to the <strong>node_name</strong> submitted with the request
+and verifes the signature using the public key for that <strong>client</strong>
+object. <strong>NOTE</strong> that the <strong>client</strong> is a different object in the
+system. It is associated with a node by virtue of having a matching
+name.</p>
+
+<p>By default <strong>chef-client</strong>(8) will create a node using the FQDN of the
+host for the node name, though this may be overridden by configuration
+settings.</p>
+
+<h2 id="NODE-SUB-COMMANDS">NODE SUB-COMMANDS</h2>
+
+<p>The following <code>node</code> subcommands are available:</p>
+
+<h2 id="BULK-DELETE">BULK DELETE</h2>
+
+<p><strong>knife node bulk delete</strong> <em>regex</em> <em>(options)</em></p>
+
+<p>Deletes nodes for which the name matches the regular expression <em>regex</em>
+on the Chef Server. The regular expression should be given in quotes,
+and should not be surrounded with forward slashes (as is typical of
+regular expression literals in scripting languages).</p>
+
+<h2 id="CREATE">CREATE</h2>
+
+<p><strong>knife node create</strong> <em>name</em> <em>(options)</em></p>
+
+<p>Create a new node. Unless the --disable-editing option is given, an empty node
+object will be created and displayed in your text editor. If the editor
+exits with a successful exit status, the node data will be posted to the
+Chef Server to create the node.</p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife node delete</strong> <em>name</em> <em>(options)</em></p>
+
+<p>Deletes the node identified by <em>name</em> on the Chef Server.</p>
+
+<h2 id="EDIT">EDIT</h2>
+
+<p><strong>knife node edit</strong> <em>name</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--all</code></dt><dd>Display all node data in the editor. By default, default, override,
+and automatic attributes are not shown.</dd>
+</dl>
+
+
+<p>Edit the node identified by <em>name</em>. Like <strong>knife node create</strong>, the node
+will be displayed in your text editor unless the -n option is present.</p>
+
+<h2 id="FROM-FILE">FROM FILE</h2>
+
+<p><strong>knife node from file</strong> <em>file</em> <em>(options)</em></p>
+
+<p>Create a node from a JSON format <em>file</em>.</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife node list</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd>Show corresponding URIs</dd>
+</dl>
+
+
+<p>List all nodes.</p>
+
+<h2 id="RUN_LIST-ADD">RUN_LIST ADD</h2>
+
+<p><strong>knife node run_list add</strong> <em>name</em> <em>run list item</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--after ITEM</code></dt><dd>Place the ENTRY in the run list after ITEM</dd>
+</dl>
+
+
+<p>Add the <em>run list item</em> to the node's <code>run_list</code>. See Run list</p>
+
+<h2 id="RUN_LIST-REMOVE">RUN_LIST REMOVE</h2>
+
+<p><strong>knife node run_list remove</strong> <em>node name</em> <em>run list item</em> <em>(options)</em></p>
+
+<p>Remove the <em>run list item</em> from the node's <code>run_list</code>.</p>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>knife node show</strong> <em>node name</em> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--attribute [ATTR]</code></dt><dd>Show only one attribute</dd>
+<dt><code>-r</code>, <code>--run-list </code></dt><dd>Show only the run list</dd>
+<dt><code>-F</code>, <code>--format FORMAT</code></dt><dd>Display the node in a different format.</dd>
+<dt><code>-m</code>, <code>--medium</code></dt><dd>Display more, but not all, of the node's data when using the default
+<em>summary</em> format</dd>
+</dl>
+
+
+<p>Displays the node identified by <em>node name</em> on stdout.</p>
+
+<h2 id="RUN-LIST-ITEM-FORMAT">RUN LIST ITEM FORMAT</h2>
+
+<p>Run list items may be either roles or recipes. When adding a role to a
+run list, the correct syntax is "role[ROLE_NAME]"</p>
+
+<p>When adding a recipe to a run list, there are several valid formats:</p>
+
+<dl>
+<dt>Fully Qualified Format</dt><dd>"recipe[COOKBOOK::RECIPE_NAME]", for example, "recipe[chef::client]"</dd>
+<dt>Cookbook Recipe Format</dt><dd>For brevity, the recipe part of the fully qualified format may be omitted, and recipes specified as "COOKBOOK::RECIPE_NAME", e.g., "chef::client"</dd>
+<dt>Default Recipe Format</dt><dd>When adding the default recipe of a cookbook to a run list, the recipe name may be omitted as well, e.g., "chef::default" may be written as just "chef"</dd>
+</dl>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-client</strong>(1) <strong>knife-search</strong>(1) <strong>knife-role</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#109;&#64;&#x6f;&#x70;&#115;&#99;&#x6f;&#100;&#101;&#46;&#99;&#111;&#x6d;" data-bare-link="true">&#x61;&#x64;&#x61;&#x6d;&#64;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#x69;&#108;&#x74;&#111;&#58;&#x6a;&#x6f;&#115;&#x68;&#117;&#x61;&#x40;&#x6f;&#112;&#x73;&#99;&#x6f;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#106;&#111;&#x73;&#104;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-node(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-recipe.1.html b/distro/common/html/knife-recipe.1.html
new file mode 100644
index 0000000000..3f98e026a6
--- /dev/null
+++ b/distro/common/html/knife-recipe.1.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-recipe(1) - List the recipes available on a Chef Server</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-recipe(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-recipe(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-recipe</code> - <span class="man-whatis">List the recipes available on a Chef Server</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>recipe list [PATTERN]</strong></p>
+
+<p>List the recipes available on the server. The results shown can be limited with the optional PATTERN, which is a regular expression. PATTERN should be given in quotes, without slashes.</p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 0.10.0</li>
+ <li class='tc'>April 2011</li>
+ <li class='tr'>knife-recipe(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-role.1.html b/distro/common/html/knife-role.1.html
new file mode 100644
index 0000000000..18449b6269
--- /dev/null
+++ b/distro/common/html/knife-role.1.html
@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-role(1) - Group common configuration settings</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#ROLE-SUB-COMMANDS">ROLE SUB-COMMANDS</a>
+ <a href="#LIST">LIST</a>
+ <a href="#SHOW">SHOW</a>
+ <a href="#CREATE">CREATE</a>
+ <a href="#EDIT">EDIT</a>
+ <a href="#FROM-FILE">FROM FILE</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#BULK-DELETE">BULK DELETE</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-role(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-role(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-role</code> - <span class="man-whatis">Group common configuration settings</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>role</strong> <em>sub-command</em> <em>(options)</em></p>
+
+<h2 id="ROLE-SUB-COMMANDS">ROLE SUB-COMMANDS</h2>
+
+<p>The following <code>role</code> subcommands are available:</p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife role list</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-w</code>, <code>--with-uri</code></dt><dd>Show corresponding URIs</dd>
+</dl>
+
+
+<p>List roles.</p>
+
+<h2 id="SHOW">SHOW</h2>
+
+<p><strong>knife role show ROLE</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--attribute ATTR</code></dt><dd>Show only one attribute</dd>
+</dl>
+
+
+<p>Show a specific role.</p>
+
+<h2 id="CREATE">CREATE</h2>
+
+<p><strong>knife role create ROLE</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-d</code>, <code>--description</code></dt><dd>The role description</dd>
+</dl>
+
+
+<p>Create a new role.</p>
+
+<h2 id="EDIT">EDIT</h2>
+
+<p><strong>knife role edit ROLE</strong> <em>(options)</em></p>
+
+<p>Edit a role.</p>
+
+<h2 id="FROM-FILE">FROM FILE</h2>
+
+<p><strong>knife role from file FILE</strong> <em>(options)</em></p>
+
+<p>Create or update a role from a role Ruby DSL (<code>.rb</code>) or JSON file.</p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife role delete ROLE</strong> <em>(options)</em></p>
+
+<p>Delete a role.</p>
+
+<h2 id="BULK-DELETE">BULK DELETE</h2>
+
+<p><strong>knife role bulk delete REGEX</strong> <em>(options)</em></p>
+
+<p>Delete roles on the Chef Server based on a regular expression. The regular expression (<em>REGEX</em>) should be in quotes, not in //'s.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Roles provide a mechanism to group repeated configuration settings.
+Roles are data structures that contain <strong>default_attributes</strong>, and
+<strong>override_attributes</strong>, which are nested hashes of configuration
+settings, and a <strong>run_list</strong>, which is an ordered list of recipes and
+roles that should be applied to a host by chef-client.</p>
+
+<p><strong>default_attributes</strong> will be overridden if they conflict with a value
+on a node that includes the role. Conversely, <strong>override_attributes</strong>
+will override any values set on nodes that apply them.</p>
+
+<p>When <strong>chef-client</strong>(8) configures a host, it will "expand" the
+<strong>run_list</strong> included in that host's node data. The expansion process
+will recursively replace any roles in the run_list with that role's
+run_list.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">knife-node<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-environment<span class="s">(1)</span></span></strong>
+ <a href="http://wiki.opscode.com/display/chef/Roles" data-bare-link="true">http://wiki.opscode.com/display/chef/Roles</a>
+ <a href="http://wiki.opscode.com/display/chef/Attributes" data-bare-link="true">http://wiki.opscode.com/display/chef/Attributes</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#46;&#99;&#x6f;&#109;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#111;&#58;&#106;&#x6f;&#x73;&#104;&#117;&#97;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-role(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-search.1.html b/distro/common/html/knife-search.1.html
new file mode 100644
index 0000000000..5cb47d344e
--- /dev/null
+++ b/distro/common/html/knife-search.1.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-search(1) - Find objects on a Chef Server by query</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#INDEXES">INDEXES</a>
+ <a href="#QUERY-SYNTAX">QUERY SYNTAX</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#KNOWN-BUGS">KNOWN BUGS</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-search(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-search(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-search</code> - <span class="man-whatis">Find objects on a Chef Server by query</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>search INDEX QUERY</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--attribute ATTR</code></dt><dd>Show only one attribute</dd>
+<dt><code>-i</code>, <code>--id-only</code></dt><dd>Show only the ID of matching objects</dd>
+<dt><code>-q</code>, <code>--query QUERY</code></dt><dd>The search query; useful to protect queries starting with -</dd>
+<dt><code>-R</code>, <code>--rows INT</code></dt><dd>The number of rows to return</dd>
+<dt><code>-r</code>, <code>--run-list</code></dt><dd>Show only the run list</dd>
+<dt><code>-o</code>, <code>--sort SORT</code></dt><dd>The order to sort the results in</dd>
+<dt><code>-b</code>, <code>--start ROW</code></dt><dd>The row to start returning results at</dd>
+<dt><code>-m</code>, <code>--medium</code></dt><dd>Display medium sized output when searching nodes using the default
+summary format</dd>
+<dt><code>-l</code>, <code>--long</code></dt><dd>Display long output when searching nodes using the default summary
+format</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Search is a feature of the Chef Server that allows you to use a
+full-text search engine to query information about your infrastructure
+and applications. You can utilize this service via search calls in a
+recipe or the knife search command. The search syntax is based on
+Lucene.</p>
+
+<h2 id="INDEXES">INDEXES</h2>
+
+<p>Search indexes are a feature of the Chef Server and the search
+sub-command allows querying any of the available indexes using SOLR
+query syntax. The following data types are indexed for search:</p>
+
+<ul>
+<li><em>node</em></li>
+<li><em>role</em></li>
+<li><em>environment</em></li>
+<li><em>clients</em></li>
+<li><em>data bag</em></li>
+</ul>
+
+
+<p>Data bags are indexed by the data bag's name. For example, to search a
+data bag named "admins":</p>
+
+<pre><code>knife search admins "field:search_pattern"
+</code></pre>
+
+<h2 id="QUERY-SYNTAX">QUERY SYNTAX</h2>
+
+<p>Queries have the form <code>field:search_pattern</code> where <code>field</code> is a key in
+the JSON description of the relevant objects (nodes, roles,
+environments, or data bags). Both <code>field</code> and <code>search_pattern</code> are
+case-sensitive. <code>search_pattern</code> can be an exact, wildcard,
+range, or fuzzy match (see below). The <code>field</code> supports exact
+matching and limited wildcard matching.</p>
+
+<p>Searches will return the relevant objects (nodes, roles, environments,
+or data bags) where the <code>search_pattern</code> matches the object's value of
+<code>field</code>.</p>
+
+<h3 id="FIELD-NAMES">FIELD NAMES</h3>
+
+<p>Field names are the keys within the JSON description of the object
+being searched. Nested Keys can be searched by placing an underscore
+("_") between key names.</p>
+
+<h3 id="WILDCARD-MATCHING-FOR-FIELD-NAMES">WILDCARD MATCHING FOR FIELD NAMES</h3>
+
+<p>The field name also has limited support for wildcard matching. Both
+the "*" and "?" wildcards (see below) can be used within a field name;
+however, they cannot be the first character of the field name.</p>
+
+<h3 id="EXACT-MATCHES">EXACT MATCHES</h3>
+
+<p>Without any search modifiers, a search returns those fields for which
+the <code>search_pattern</code> exactly matches the value of <code>field</code> in the JSON
+description of the object.</p>
+
+<h3 id="WILDCARD-MATCHES">WILDCARD MATCHES</h3>
+
+<p>Search support both single- and multi-character wildcard searches
+within a search pattern.</p>
+
+<p>'?' matches exactly one character.</p>
+
+<p>'*' matches zero or more characters.</p>
+
+<h3 id="RANGE-MATCHES">RANGE MATCHES</h3>
+
+<p>Range searches allows one to match values between two given values. To
+match values between X and Y, inclusively, use square brackets:</p>
+
+<pre><code>knife search INDEX 'field:[X TO Y]
+</code></pre>
+
+<p>To match values between X and Y, exclusively, use curly brackets:</p>
+
+<pre><code>knife search INDEX 'field:{X TO Y}'
+</code></pre>
+
+<p>Values are sorted in lexicographic order.</p>
+
+<h3 id="FUZZY-MATCHES">FUZZY MATCHES</h3>
+
+<p>Fuzzy searches allows one to match values based on the Levenshtein
+Distance algorithm. To perform a fuzzy match, append a tilda (~) to
+the search term:</p>
+
+<pre><code>knife search INDEX 'field:term~'
+</code></pre>
+
+<p>This search would return nodes whose <code>field</code> was 'perm' or 'germ'.</p>
+
+<h3 id="BOOLEAN-OPERATORS">BOOLEAN OPERATORS</h3>
+
+<p>The boolean operators NOT, AND, and OR are supported. To find values
+of <code>field</code> that are not X:</p>
+
+<pre><code>knife search INDEX 'field:(NOT X)'
+</code></pre>
+
+<p>To find records where <code>field1</code> is X and <code>field2</code> is Y:</p>
+
+<pre><code>knife search INDEX 'field1:X AND field2:Y'
+</code></pre>
+
+<p>To find records where <code>field</code> is X or Y:</p>
+
+<pre><code>knife search INDEX 'field:X OR field:Y'
+</code></pre>
+
+<h3 id="QUOTING-AND-SPECIAL-CHARACTERS">QUOTING AND SPECIAL CHARACTERS</h3>
+
+<p>In order to avoid having special characters and escape sequences
+within your search term interpreted by either Ruby or the shell,
+enclose them in single quotes.</p>
+
+<p>Search terms that include spaces should be enclosed in double-quotes:</p>
+
+<pre><code>knife search INDEX 'field:"term with spaces"'
+</code></pre>
+
+<p>The following characters must be escaped:</p>
+
+<pre><code>+ - &amp;&amp; || ! ( ) { } [ ] ^ " ~ * ? : \
+</code></pre>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<p>Find the nodes with the fully-qualified domain name (FQDN)
+www.example.com:</p>
+
+<pre><code>knife search node 'fqdn:www.example.com'
+</code></pre>
+
+<p>Find the nodes running a version of Ubuntu:</p>
+
+<pre><code>knife search node 'platform:ubuntu*'
+</code></pre>
+
+<p>Find all nodes running CentOS in the production environment:</p>
+
+<pre><code>knife search node 'chef_environment:production AND platform:centos'
+</code></pre>
+
+<h2 id="KNOWN-BUGS">KNOWN BUGS</h2>
+
+<ul>
+<li>Searches against the client index return no results in most cases. (CHEF-2477)</li>
+<li>Searches using the fuzzy match operator (~) produce an error. (CHEF-2478)</li>
+</ul>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-ssh</strong>(1)
+ <a href="http://wiki.opscode.com/display/chef/Attributes" data-bare-link="true">http://wiki.opscode.com/display/chef/Attributes</a>
+ <a href="http://lucene.apache.org/java/2_3_2/queryparsersyntax.html">Lucene Query Parser Syntax</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#46;&#99;&#x6f;&#109;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#111;&#58;&#106;&#x6f;&#x73;&#104;&#117;&#97;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-search(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-ssh.1.html b/distro/common/html/knife-ssh.1.html
new file mode 100644
index 0000000000..693406c43d
--- /dev/null
+++ b/distro/common/html/knife-ssh.1.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-ssh(1) - Run a command or interactive session on multiple remote hosts</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#TERMINAL-MULTIPLEXING-AND-TERMINAL-TAB-SUPPORT">TERMINAL MULTIPLEXING AND TERMINAL TAB SUPPORT</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-ssh(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-ssh(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-ssh</code> - <span class="man-whatis">Run a command or interactive session on multiple remote hosts</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>ssh QUERY COMMAND</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-a</code>, <code>--attribute ATTR </code></dt><dd>The attribute to use for opening the connection - default is fqdn</dd>
+<dt><code>-C</code>, <code>--concurrency NUM </code></dt><dd>The number of concurrent connections</dd>
+<dt><code>-m</code>, <code>--manual-list </code></dt><dd>QUERY is a space separated list of servers</dd>
+<dt><code>-P</code>, <code>--ssh-password PASSWORD</code></dt><dd>The ssh password</dd>
+<dt><code>-x</code>, <code>--ssh-user USERNAME </code></dt><dd>The ssh username</dd>
+<dt><code>-i</code>, <code>--identity-file IDENTITY_FILE</code></dt><dd>The SSH identity file used for authentication</dd>
+<dt><code>-p</code>, <code>--ssh-port PORT</code></dt><dd>The ssh port</dd>
+<dt><code>--[no-]host-key-verify</code></dt><dd>Verify host key, enabled by default.</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The <em>ssh</em> sub-command opens an ssh session to each of the nodes in the
+search results of the <em>QUERY</em>. This sub-command requires that the
+net-ssh-multi and highline Ruby libraries are installed. On Debian
+systems, these are the libnet-ssh-multi-ruby and libhighline-ruby
+packages. They can also be installed as RubyGems (net-ssh-multi and
+highline, respectively).</p>
+
+<h2 id="TERMINAL-MULTIPLEXING-AND-TERMINAL-TAB-SUPPORT">TERMINAL MULTIPLEXING AND TERMINAL TAB SUPPORT</h2>
+
+<p><code>knife ssh</code> integrates with several terminal multiplexer programs to
+provide a more convenient means of managing multiple ssh sessions. When
+the <em>COMMAND</em> option matches one of these, <code>knife ssh</code> will create
+multiple interactive ssh sessions running locally in the terminal
+multiplexer instead of invoking the command on the remote host.</p>
+
+<p>The available multiplexers are:</p>
+
+<dl>
+<dt><code>interactive</code></dt><dd>A built-in multiplexer. <code>interactive</code> supports running commands on a
+subset of the connected hosts in parallel</dd>
+<dt><strong>screen</strong>(1)</dt><dd>Runs ssh interactively inside <code>screen</code>. ~/.screenrc will be sourced
+if it exists.</dd>
+<dt class="flush"><strong>tmux</strong>(1)</dt><dd>Runs ssh interactively inside tmux.</dd>
+<dt><code>macterm</code> (Mac OS X only)</dt><dd>Opens a Terminal.app window and creates a tab for each ssh session.
+You must install the rb-appscript gem before you can use this
+option.</dd>
+</dl>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-search</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#46;&#99;&#x6f;&#109;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#111;&#58;&#106;&#x6f;&#x73;&#104;&#117;&#97;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-ssh(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-status.1.html b/distro/common/html/knife-status.1.html
new file mode 100644
index 0000000000..33aaafe5c1
--- /dev/null
+++ b/distro/common/html/knife-status.1.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-status(1) - Display status information for the nodes in your infrastructure</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-status(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-status(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-status</code> - <span class="man-whatis">Display status information for the nodes in your infrastructure</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>status</strong> <em>(options)</em></p>
+
+<dl>
+<dt><code>-r</code>, <code>--run-list RUN_LIST</code></dt><dd>Show the run list</dd>
+</dl>
+
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The <em>status</em> sub-command searches the Chef Server for all nodes and
+displays information about the last time the node checked into the
+server and executed a <code>node.save</code>. The fields displayed are the relative
+checkin time, the node name, it's operating system platform and version,
+the fully-qualified domain name and the default IP address. If the <code>-r</code>
+option is given, the node's run list will also be displayed. Note that
+depending on the configuration of the nodes, the FQDN and IP displayed
+may not be publicly reachable.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong>knife-search</strong>(1)</p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#46;&#99;&#x6f;&#109;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#111;&#58;&#106;&#x6f;&#x73;&#104;&#117;&#97;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-status(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife-tag.1.html b/distro/common/html/knife-tag.1.html
new file mode 100644
index 0000000000..013a296d84
--- /dev/null
+++ b/distro/common/html/knife-tag.1.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife-tag(1) - Apply tags to nodes on a Chef Server</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#TAG-SUBCOMMANDS">TAG SUBCOMMANDS</a>
+ <a href="#CREATE">CREATE</a>
+ <a href="#DELETE">DELETE</a>
+ <a href="#LIST">LIST</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife-tag(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife-tag(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife-tag</code> - <span class="man-whatis">Apply tags to nodes on a Chef Server</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <strong>tag</strong> <em>subcommand</em> <em>(options)</em></p>
+
+<h2 id="TAG-SUBCOMMANDS">TAG SUBCOMMANDS</h2>
+
+<p>The following <code>tag</code> subcommands are available:</p>
+
+<h2 id="CREATE">CREATE</h2>
+
+<p><strong>knife tag create</strong> <em>node</em> <em>tag</em> [<em>...</em>]</p>
+
+<p>Adds one or more tags to <em>node</em></p>
+
+<h2 id="DELETE">DELETE</h2>
+
+<p><strong>knife tag delete</strong> <em>node</em> <em>tag</em> [<em>...</em>]</p>
+
+<p>Removes one or more tags from <em>node</em></p>
+
+<h2 id="LIST">LIST</h2>
+
+<p><strong>knife tag list</strong> <em>node</em></p>
+
+<p>Lists the tags applied to <em>node</em></p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">knife-node<span class="s">(1)</span></span></strong></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#x6c;&#116;&#x6f;&#x3a;&#97;&#x64;&#97;&#109;&#x40;&#111;&#x70;&#115;&#99;&#x6f;&#100;&#101;&#46;&#x63;&#x6f;&#109;" data-bare-link="true">&#97;&#x64;&#97;&#x6d;&#x40;&#x6f;&#112;&#115;&#99;&#x6f;&#x64;&#x65;&#x2e;&#99;&#x6f;&#x6d;</a> with many contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Daniel DeLeo <a href="&#x6d;&#x61;&#x69;&#108;&#x74;&#111;&#x3a;&#100;&#x61;&#x6e;&#64;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#100;&#x65;&#46;&#x63;&#x6f;&#109;" data-bare-link="true">&#x64;&#x61;&#x6e;&#64;&#111;&#112;&#115;&#x63;&#x6f;&#x64;&#x65;&#46;&#99;&#111;&#109;</a>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife-tag(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/html/knife.1.html b/distro/common/html/knife.1.html
new file mode 100644
index 0000000000..bebaf89a87
--- /dev/null
+++ b/distro/common/html/knife.1.html
@@ -0,0 +1,320 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
+ <title>knife(1) - Chef Server API client utility</title>
+ <style type='text/css' media='all'>
+ /* style: man */
+ body#manpage {margin:0}
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
+ .mp h2 {margin:10px 0 0 0}
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
+ .mp h3 {margin:0 0 0 4ex}
+ .mp dt {margin:0;clear:left}
+ .mp dt.flush {float:left;width:8ex}
+ .mp dd {margin:0 0 0 9ex}
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
+ .mp pre {margin-bottom:20px}
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
+ .mp img {display:block;margin:auto}
+ .mp h1.man-title {display:none}
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
+ .mp h2 {font-size:16px;line-height:1.25}
+ .mp h1 {font-size:20px;line-height:2}
+ .mp {text-align:justify;background:#fff}
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
+ .mp u {text-decoration:underline}
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
+ .mp b.man-ref {font-weight:normal;color:#434241}
+ .mp pre {padding:0 4ex}
+ .mp pre code {font-weight:normal;color:#434241}
+ .mp h2+pre,h3+pre {padding-left:0}
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
+ ol.man-decor {width:100%}
+ ol.man-decor li.tl {text-align:left}
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
+ ol.man-decor li.tr {text-align:right;float:right}
+ </style>
+ <style type='text/css' media='all'>
+ /* style: toc */
+ .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
+ .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
+ .man-navigation a:hover {color:#111;text-decoration:underline}
+ </style>
+</head>
+<!--
+ The following styles are deprecated and will be removed at some point:
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
+
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
+ .man-navigation should be used instead.
+-->
+<body id='manpage'>
+ <div class='mp' id='man'>
+
+ <div class='man-navigation' style='display:none'>
+ <a href="#NAME">NAME</a>
+ <a href="#SYNOPSIS">SYNOPSIS</a>
+ <a href="#DESCRIPTION">DESCRIPTION</a>
+ <a href="#OPTIONS">OPTIONS</a>
+ <a href="#SUB-COMMANDS">SUB-COMMANDS</a>
+ <a href="#CONFIGURATION">CONFIGURATION</a>
+ <a href="#FILES">FILES</a>
+ <a href="#FORMATS">FORMATS</a>
+ <a href="#CHEF-WORKFLOW">CHEF WORKFLOW</a>
+ <a href="#EXAMPLES">EXAMPLES</a>
+ <a href="#ENVIRONMENT">ENVIRONMENT</a>
+ <a href="#SEE-ALSO">SEE ALSO</a>
+ <a href="#AUTHOR">AUTHOR</a>
+ <a href="#DOCUMENTATION">DOCUMENTATION</a>
+ <a href="#LICENSE">LICENSE</a>
+ <a href="#CHEF">CHEF</a>
+ </div>
+
+ <ol class='man-decor man-head man head'>
+ <li class='tl'>knife(1)</li>
+ <li class='tc'>Chef Manual</li>
+ <li class='tr'>knife(1)</li>
+ </ol>
+
+ <h2 id="NAME">NAME</h2>
+<p class="man-name">
+ <code>knife</code> - <span class="man-whatis">Chef Server API client utility</span>
+</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p><strong>knife</strong> <em>sub-command</em> [<em>argument</em>...] <em>(options)</em></p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Knife is a command-line utility used to manage data on a Chef server
+through the HTTP(S) API. Knife is organized into groups of subcommands
+centered around the various object types in Chef. Each category of
+subcommand is documented in its own manual page. Available topics are:</p>
+
+<ul>
+<li>bootstrap</li>
+<li>client</li>
+<li>configure</li>
+<li>cookbook-site</li>
+<li>cookbook</li>
+<li>data-bag</li>
+<li>environment</li>
+<li>exec</li>
+<li>index</li>
+<li>node</li>
+<li>recipe</li>
+<li>role</li>
+<li>search</li>
+<li>ssh</li>
+<li>status</li>
+<li>tag</li>
+</ul>
+
+
+<p>If the knife manuals are in your <code>MANPATH</code>, you can access help for the
+above topics using <code>man knife-TOPIC</code>; otherwise, you can view the
+documentation using <code>knife help TOPIC</code>.</p>
+
+<h2 id="OPTIONS">OPTIONS</h2>
+
+<dl>
+<dt><code>-s</code>, <code>--server-url</code> URL</dt><dd>Chef Server URL, corresponds to <code>Chef::Config</code> <code>chef_server_url</code>.</dd>
+<dt><code>-k</code>, <code>--key</code> KEY</dt><dd>API Client Key, corresponds to <code>Chef::Config</code> <code>client_key</code>.</dd>
+<dt><code>-c</code>, <code>--config</code> CONFIG</dt><dd>The configuration file to use</dd>
+<dt><code>-E</code>, <code>--environment ENVIRONMENT</code></dt><dd>Set the Chef environment</dd>
+<dt><code>-e</code>, <code>--editor</code> EDITOR</dt><dd>Set the editor to use for interactive commands</dd>
+<dt><code>-F</code>, <code>--format</code> FORMAT</dt><dd>Which format to use for output. See FORMATS for details.</dd>
+<dt><code>-d</code>, <code>--disable-editing</code></dt><dd>Do not open EDITOR, just accept the data as is</dd>
+<dt><code>-u</code>, <code>--user</code> USER</dt><dd>API Client Username, corresponds to <code>Chef::Config</code> <code>node_name</code>.</dd>
+<dt><code>-p</code>, <code>--print-after</code></dt><dd>Show the data after a destructive operation</dd>
+<dt><code>-v</code>, <code>--version</code></dt><dd>Show chef version</dd>
+<dt><code>-V</code>, <code>--verbose</code></dt><dd>More verbose output. Use twice for max verbosity.</dd>
+<dt><code>-y</code>, <code>--yes</code></dt><dd>Say yes to all prompts for confirmation</dd>
+<dt><code>--defaults</code></dt><dd>Accept default values for all questions</dd>
+<dt><code>--[no-]color</code></dt><dd>Use colored output. Color enabled by default.</dd>
+<dt><code>-h</code>, <code>--help</code></dt><dd>Show the available options for a command.</dd>
+</dl>
+
+
+<h2 id="SUB-COMMANDS">SUB-COMMANDS</h2>
+
+<p>Sub-commands that operate on the basic Chef data types are structured as
+<em>NOUN verb NOUN (options)</em>. For all data types, the following commands
+are available:</p>
+
+<ul>
+<li>create (create)</li>
+<li>list and show (read)</li>
+<li>edit (update)</li>
+<li>delete (destroy)</li>
+</ul>
+
+
+<p>Knife also includes commands that take actions other than displaying or
+modifying data on the Chef Server, such as <strong><span class="man-ref">knife-ssh<span class="s">(1)</span></span></strong>.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<p>The knife configuration file is a Ruby DSL to set configuration
+parameters for Knife's <strong>GENERAL OPTIONS</strong>. The default location for the
+config file is <code>~/.chef/knife.rb</code>. If managing multiple Chef
+repositories, per-repository config files can be created. The file must
+be <code>.chef/knife.rb</code> in the current directory of the repository.</p>
+
+<p>If the config file exists, knife uses these settings for <strong>GENERAL OPTIONS</strong> defaults.</p>
+
+<ul>
+<li><code>node_name</code>:
+User or client identity (i.e., <em>name</em>) to use for authenticating
+requests to the Chef Server.</li>
+<li><code>client_key</code>:
+Private key file to authenticate to the Chef server. Corresponds to the
+<code>-k</code> or <code>--key</code> option.</li>
+<li><code>chef_server_url</code>:
+URL of the Chef server. Corresponds to the <code>-s</code> or <code>--server-url</code>
+option. This is requested from the user when running this sub-command.</li>
+<li><code>cache_type</code>:
+The type of cache to use. Default is BasicFile. This can be any type of
+Cache that moneta supports: BasicFile, Berkeley, Couch, DataMapper,
+File, LMC, Memcache, Memory, MongoDB, Redis, Rufus, S3, SDBM, Tyrant,
+Xattr, YAML.</li>
+<li><code>cache_options</code>:
+Specifies various options to use for caching. These options are
+dependent on the <code>cache_type</code>.</li>
+<li><code>validation_client_name</code>:
+Specifies the name of the client used to validate new clients.</li>
+<li><code>validation_key</code>:
+Specifies the private key file to use when bootstrapping new hosts.
+See <span class="man-ref">knife-client<span class="s">(1)</span></span> for more information about the validation
+client.</li>
+<li><code>cookbook_copyright</code>, <code>cookbook_email</code>, <code>cookbook_license</code>, <code>readme_format</code>
+Used by <code>knife cookbook create</code> sub-command to specify the copyright
+holder, maintainer email, license and readme format (respectively) for new cookbooks.
+The copyright holder is listed as the maintainer in the cookbook's
+metadata and as the Copyright in the comments of the default recipe. The
+maintainer email is used in the cookbook metadata. The license
+determines what preamble to put in the comment of the default recipe,
+and is listed as the license in the cookbook metadata. Currently
+supported licenses are "apachev2" and "none". Any other values will
+result in an empty license in the metadata (needs to be filled in by the
+author), and no comment preamble in the default recipe. Currently supported
+readme formats are "md", "mkd", "txt", and "rdoc". Any other value will
+result in an unformatted README.</li>
+</ul>
+
+
+<h2 id="FILES">FILES</h2>
+
+<p><em>~/.chef/knife.rb</em></p>
+
+<p>Ruby DSL configuration file for knife. See <strong>CONFIGURATION</strong>.</p>
+
+<h2 id="FORMATS">FORMATS</h2>
+
+<p>The amount of content displayed and the output format are
+modified by the <code>--format</code> option. If no alternate format is selected,
+the default is summary.</p>
+
+<p>Valid formats are:</p>
+
+<dl>
+<dt class="flush"><code>summary</code></dt><dd>displays the node in a custom, summarized format (default)</dd>
+<dt class="flush"><code>text</code></dt><dd>displays the node data in its entirety using the colorized tree display</dd>
+<dt class="flush"><code>json</code></dt><dd>displays the node in JSON format</dd>
+<dt class="flush"><code>yaml</code></dt><dd>displays the node in YAML format</dd>
+<dt class="flush"><code>pp</code></dt><dd>displays the node using Ruby's pretty printer.</dd>
+</dl>
+
+
+<p>For brevity, only the first character of the format is required, for
+example, -Fj will produce JSON format output.</p>
+
+<h2 id="CHEF-WORKFLOW">CHEF WORKFLOW</h2>
+
+<p>When working with Chef and Knife in the local repository, the recommended workflow outline looks like:</p>
+
+<ul>
+<li>Create repository. A skeleton sample is provided at <em>http://github.com/opscode/chef-repo/</em>.</li>
+<li>Configure knife, see <strong>CONFIGURATION</strong>.</li>
+<li>Download cookbooks from the Opscode cookbooks site, see <strong>COOKBOOK SITE SUB-COMMANDS</strong>.</li>
+<li>Or, create new cookbooks, see <code>cookbook create</code> sub-command.</li>
+<li>Commit changes to the version control system. See your tool's documentation.</li>
+<li>Upload cookbooks to the Chef Server, see <strong>COOKBOOK SUB-COMMANDS</strong>.</li>
+<li>Launch instances in the Cloud, OR provision new hosts; see <strong>CLOUD COMPUTING SUB-COMMANDS</strong> and <strong>BOOTSTRAP SUB-COMMANDS</strong>.</li>
+<li>Watch Chef configure systems!</li>
+</ul>
+
+
+<p>A note about git: Opscode and many folks in the Chef community use git,
+but it is not required, except in the case of the <code>cookbook site vendor</code>
+sub-command, as it uses git directly. Version control is strongly
+recommended though, and git fits with a lot of the workflow paradigms.</p>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<h2 id="ENVIRONMENT">ENVIRONMENT</h2>
+
+<dl>
+<dt class="flush"><code>EDITOR</code></dt><dd>The text editor to use for editing data. The --editor option takes
+precedence over this value, and the --disable-editing option supresses
+data editing entirely.</dd>
+</dl>
+
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p> <strong><span class="man-ref">chef-client<span class="s">(8)</span></span></strong> <strong><span class="man-ref">chef-server<span class="s">(8)</span></span></strong> <strong><span class="man-ref">chef-shell<span class="s">(1)</span></span></strong></p>
+
+<p> <strong><span class="man-ref">knife-bootstrap<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-client<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-configure<span class="s">(1)</span></span></strong>
+ <strong><span class="man-ref">knife-cookbook-site<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-cookbook<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-data-bag<span class="s">(1)</span></span></strong>
+ <strong><span class="man-ref">knife-environment<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-exec<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-index<span class="s">(1)</span></span></strong>
+ <strong><span class="man-ref">knife-node<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-recipe<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-role<span class="s">(1)</span></span></strong>
+ <strong><span class="man-ref">knife-search<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-ssh<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-tag<span class="s">(1)</span></span></strong></p>
+
+<p> Complete Chef documentation is available online: <a href="http://wiki.opscode.com/display/chef/Home/" data-bare-link="true">http://wiki.opscode.com/display/chef/Home/</a></p>
+
+<p> JSON is JavaScript Object Notation <a href="http://json.org/" data-bare-link="true">http://json.org/</a></p>
+
+<p> SOLR is an open source search engine. <a href="http://lucene.apache.org/solr/" data-bare-link="true">http://lucene.apache.org/solr/</a></p>
+
+<p> <strong><span class="man-ref">git<span class="s">(1)</span></span></strong> is a version control system <a href="http://git-scm.com/" data-bare-link="true">http://git-scm.com/</a></p>
+
+<p> This manual page was generated from Markdown with <strong><span class="man-ref">ronn<span class="s">(1)</span></span></strong> <a href="http://rtomayko.github.com/ronn/ronn.1.html" data-bare-link="true">http://rtomayko.github.com/ronn/ronn.1.html</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p> Chef was written by Adam Jacob <a href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#111;&#x3a;&#x61;&#100;&#97;&#109;&#x40;&#111;&#112;&#x73;&#x63;&#x6f;&#100;&#x65;&#x2e;&#x63;&#111;&#109;" data-bare-link="true">&#97;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#100;&#101;&#46;&#x63;&#x6f;&#x6d;</a> of Opscode
+ (<a href="http://www.opscode.com" data-bare-link="true">http://www.opscode.com</a>), with contributions from the community.</p>
+
+<h2 id="DOCUMENTATION">DOCUMENTATION</h2>
+
+<p> This manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#111;&#58;&#106;&#111;&#115;&#x68;&#x75;&#97;&#64;&#x6f;&#112;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#109;" data-bare-link="true">&#x6a;&#111;&#115;&#104;&#117;&#97;&#64;&#111;&#112;&#115;&#99;&#111;&#100;&#101;&#46;&#x63;&#111;&#x6d;</a>.</p>
+
+<h2 id="LICENSE">LICENSE</h2>
+
+<p> Both Chef and this documentation are released under the terms of the
+ Apache 2.0 License. You may view the license online: <a href="http://www.apache.org/licenses/LICENSE-2.0.html" data-bare-link="true">http://www.apache.org/licenses/LICENSE-2.0.html</a>
+ On some systems, the complete text of the Apache 2.0 License may be found in <code>/usr/share/common-licenses/Apache-2.0</code>.</p>
+
+<h2 id="CHEF">CHEF</h2>
+
+<p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
+
+
+ <ol class='man-decor man-foot man foot'>
+ <li class='tl'>Chef 11.0.0.alpha</li>
+ <li class='tc'>September 2012</li>
+ <li class='tr'>knife(1)</li>
+ </ol>
+
+ </div>
+</body>
+</html>
diff --git a/distro/common/man/man1/chef-shell.1 b/distro/common/man/man1/chef-shell.1
new file mode 100644
index 0000000000..05cb735470
--- /dev/null
+++ b/distro/common/man/man1/chef-shell.1
@@ -0,0 +1,220 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-SHELL" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-shell\fR \- Interactive Chef Console
+.
+.SH "SYNOPSIS"
+\fBchef\-shell\fR [\fInamed configuration\fR] \fI(options)\fR
+.
+.TP
+\fB\-S\fR, \fB\-\-server CHEF_SERVER_URL\fR
+The chef server URL
+.
+.TP
+\fB\-z\fR, \fB\-\-client\fR
+chef\-client mode
+.
+.TP
+\fB\-c\fR, \fB\-\-config CONFIG\fR
+The configuration file to use
+.
+.TP
+\fB\-j\fR, \fB\-\-json\-attributes JSON_ATTRIBS\fR
+Load attributes from a JSON file or URL
+.
+.TP
+\fB\-l\fR, \fB\-\-log\-level LOG_LEVEL\fR
+Set the logging level
+.
+.TP
+\fB\-s\fR, \fB\-\-solo\fR
+chef\-solo session
+.
+.TP
+\fB\-a\fR, \fB\-\-standalone\fR
+standalone session
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Show chef version
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show command options
+.
+.P
+When no \-\-config option is specified, chef\-shell attempts to load a default configuration file:
+.
+.IP "\(bu" 4
+If a \fInamed configuration\fR is given, chef\-shell will load ~/\.chef/\fInamed configuration\fR/chef_shell\.rb
+.
+.IP "\(bu" 4
+If no \fInamed configuration\fR is given chef\-shell will load ~/\.chef/chef_shell\.rb if it exists
+.
+.IP "\(bu" 4
+chef\-shell falls back to loading /etc/chef/client\.rb or /etc/chef/solo\.rb if \-z or \-s options are given and no chef_shell\.rb can be found\.
+.
+.IP "\(bu" 4
+The \-\-config option takes precedence over implicit configuration paths\.
+.
+.IP "" 0
+.
+.SH "DESCRIPTION"
+\fBchef\-shell\fR is an irb(1) (interactive ruby) session customized for Chef\. \fBchef\-shell\fR serves two primary functions: it provides a means to interact with a Chef Server interactively using a convenient DSL; it allows you to define and run Chef recipes interactively\.
+.
+.SH "SYNTAX"
+chef\-shell uses irb\'s subsession feature to provide multiple modes of interaction\. In addition to the primary mode which is entered on start, \fBrecipe\fR and \fBattributes\fR modes are available\.
+.
+.SH "PRIMARY MODE"
+The following commands are available in the primary session:
+.
+.TP
+\fBhelp\fR
+Prints a list of available commands
+.
+.TP
+\fBversion\fR
+Prints the Chef version
+.
+.TP
+\fBrecipe\fR
+Switches to \fBrecipe\fR mode
+.
+.TP
+\fBattributes\fR
+Switches to \fBattributes\fR mode
+.
+.TP
+\fBrun_chef\fR
+Initiates a chef run
+.
+.TP
+\fBreset\fR
+reinitializes chef\-shell session
+.
+.TP
+\fBecho :on|:off\fR
+Turns irb\'s echo function on or off\. Echo is \fIon\fR by default\.
+.
+.TP
+\fBtracing :on|:off\fR
+Turns irb\'s function tracing feature on or off\. Tracing is extremely verbose and expected to be of interest primarily to developers\.
+.
+.TP
+\fBnode\fR
+Returns the \fInode\fR object for the current host\. See knife\-node(1) for more information about nodes\.
+.
+.TP
+\fBohai\fR
+Prints the attributes of \fInode\fR
+.
+.P
+In addition to these commands, chef\-shell provides a DSL for accessing data on the Chef Server\. When working with remote data in chef\-shell, you chain method calls in the form \fIobject type\fR\.\fIoperation\fR, where \fIobject type\fR is in plural form\. The following object types are available:
+.
+.IP "\(bu" 4
+\fBnodes\fR
+.
+.IP "\(bu" 4
+\fBroles\fR
+.
+.IP "\(bu" 4
+\fBdata_bags\fR
+.
+.IP "\(bu" 4
+\fBclients\fR
+.
+.IP "\(bu" 4
+\fBcookbooks\fR
+.
+.IP "" 0
+.
+.P
+For each \fIobject type\fR the following operations are available:
+.
+.TP
+\fIobject type\fR\.all(\fI&block\fR)
+Loads all items from the server\. If the optional code \fIblock\fR is given, each item will be passed to the block and the results returned, similar to ruby\'s \fBEnumerable#map\fR method\.
+.
+.TP
+\fIobject type\fR\.show(\fIobject name\fR)
+Aliased as \fIobject type\fR\.load
+.
+.IP
+Loads the singular item identified by \fIobject name\fR\.
+.
+.TP
+\fIobject type\fR\.search(\fIquery\fR, \fI&block\fR)
+Aliased as \fIobject type\fR\.find
+.
+.IP
+Runs a search against the server and returns the matching items\. If the optional code \fIblock\fR is given each item will be passed to the block and the results returned\.
+.
+.IP
+The \fIquery\fR may be a Solr/Lucene format query given as a String, or a Hash of conditions\. If a Hash is given, the options will be ANDed together\. To join conditions with OR, use negative queries, or any advanced search syntax, you must provide give the query in String form\.
+.
+.TP
+\fIobject type\fR\.transform(:all|\fIquery\fR, \fI&block\fR)
+Aliased as \fIobject type\fR\.bulk_edit
+.
+.IP
+Bulk edit objects by processing them with the (required) code \fIblock\fR\. You can edit all objects of the given type by passing the Symbol \fB:all\fR as the argument, or only a subset by passing a \fIquery\fR as the argument\. The \fIquery\fR is evaluated in the same way as with \fBsearch\fR\.
+.
+.IP
+The return value of the code \fIblock\fR is used to alter the behavior of \fBtransform\fR\. If the value returned from the block is \fBnil\fR or \fBfalse\fR, the object will not be saved\. Otherwise, the object is saved after being passed to the block\. This behavior can be exploited to create a dry run to test a data transformation\.
+.
+.SH "RECIPE MODE"
+Recipe mode implements Chef\'s recipe DSL\. Exhaustively documenting this DSL is outside the scope of this document\. See the following pages in the Chef documentation for more information:
+.
+.IP "\(bu" 4
+\fIhttp://wiki\.opscode\.com/display/chef/Resources\fR
+.
+.IP "\(bu" 4
+\fIhttp://wiki\.opscode\.com/display/chef/Recipes\fR
+.
+.IP "" 0
+.
+.P
+Once you have defined resources in the recipe, you can trigger a convergence run via \fBrun_chef\fR
+.
+.SH "EXAMPLES"
+.
+.IP "\(bu" 4
+A "Hello World" interactive recipe
+.
+.IP
+chef > recipe chef:recipe > echo :off chef:recipe > file "/tmp/hello_world" chef:recipe > run_chef [Sat, 09 Apr 2011 08:56:56 \-0700] INFO: Processing file[/tmp/hello_world] action create ((irb#1) line 2) [Sat, 09 Apr 2011 08:56:56 \-0700] INFO: file[/tmp/hello_world] created file /tmp/hello_world chef:recipe > pp ls \'/tmp\' ["\.", "\.\.", "hello_world"]
+.
+.IP "\(bu" 4
+Search for \fInodes\fR by role, and print their IP addresses
+.
+.IP
+chef > nodes\.find(:roles => \'monitoring\-server\') {|n| n[:ipaddress] } => ["10\.254\.199\.5"]
+.
+.IP "\(bu" 4
+Remove the role \fIobsolete\fR from every node in the system
+.
+.IP
+chef > nodes\.transform(:all) {|n| n\.run_list\.delete(\'role[obsolete]\') } => [node[chef098b2\.opschef\.com], node[ree\-woot], node[graphite\-dev], node[fluke\.localdomain], node[ghost\.local], node[kallistec]]
+.
+.IP "" 0
+.
+.SH "BUGS"
+\fBchef\-shell\fR often does not perfectly replicate the context in which chef\-client(8) configures a host, which may lead to discrepancies in observed behavior\.
+.
+.P
+\fBchef\-shell\fR has to duplicate much code from chef\-client\'s internal libraries and may become out of sync with the behavior of those libraries\.
+.
+.SH "SEE ALSO"
+chef\-client(8) knife(1) \fIhttp://wiki\.opscode\.com/display/chef/Chef+Shell\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\. chef\-shell was written by Daniel DeLeo\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Daniel DeLeo \fIdan@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+chef\-shell is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-bootstrap.1 b/distro/common/man/man1/knife-bootstrap.1
new file mode 100644
index 0000000000..da5283c63d
--- /dev/null
+++ b/distro/common/man/man1/knife-bootstrap.1
@@ -0,0 +1,201 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-BOOTSTRAP" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-bootstrap\fR \- Install Chef Client on a remote host
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBbootstrap\fR \fI(options)\fR
+.
+.TP
+\fB\-i\fR, \fB\-\-identity\-file IDENTITY_FILE\fR
+The SSH identity file used for authentication
+.
+.TP
+\fB\-N\fR, \fB\-\-node\-name NAME\fR
+The Chef node name for your new node
+.
+.TP
+\fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
+The ssh password
+.
+.TP
+\fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
+The ssh username
+.
+.TP
+\fB\-p\fR, \fB\-\-ssh\-port PORT\fR
+The ssh port
+.
+.TP
+\fB\-\-bootstrap\-version VERSION\fR
+The version of Chef to install
+.
+.TP
+\fB\-\-bootstrap\-proxy PROXY_URL\fR
+\fBThe proxy server for the node being bootstrapped\fR
+.
+.TP
+\fB\-\-prerelease\fR
+Install pre\-release Chef gems
+.
+.TP
+\fB\-r\fR, \fB\-\-run\-list RUN_LIST\fR
+Comma separated list of roles/recipes to apply
+.
+.TP
+\fB\-\-template\-file TEMPLATE\fR
+Full path to location of template to use
+.
+.TP
+\fB\-\-sudo\fR
+Execute the bootstrap via sudo
+.
+.TP
+\fB\-d\fR, \fB\-\-distro DISTRO\fR
+Bootstrap a distro using a template
+.
+.TP
+\fB\-\-[no\-]host\-key\-verify\fR
+Enable host key verification, which is the default behavior\.
+.
+.TP
+\fB\-\-hint HINT_NAME[=HINT_FILE]\fR
+Provide the name of a hint (with option JSON file) to set for use by Ohai plugins\.
+.
+.SH "DESCRIPTION"
+Performs a Chef Bootstrap on the target node\. The goal of the bootstrap is to get Chef installed on the target system so it can run Chef Client with a Chef Server\. The main assumption is a baseline OS installation exists\. This sub\-command is used internally by some cloud computing plugins\.
+.
+.P
+The bootstrap sub\-command supports supplying a template to perform the bootstrap steps\. If the distro is not specified (via \fB\-d\fR or \fB\-\-distro\fR option), an Ubuntu 10\.04 host bootstrapped with RubyGems is assumed\. The \fBDISTRO\fR value corresponds to the base filename of the template, in other words \fBDISTRO\fR\.erb\. A template file can be specified with the \fB\-\-template\-file\fR option in which case the \fBDISTRO\fR is not used\. The sub\-command looks in the following locations for the template to use:
+.
+.IP "\(bu" 4
+\fBbootstrap\fR directory in the installed Chef Knife library\.
+.
+.IP "\(bu" 4
+\fBbootstrap\fR directory in the \fB$PWD/\.chef\fR\.
+.
+.IP "\(bu" 4
+\fBbootstrap\fR directory in the users \fB$HOME/\.chef\fR\.
+.
+.IP "" 0
+.
+.P
+The default bootstrap templates are scripts that get copied to the target node (FQDN)\. The following distros are supported:
+.
+.IP "\(bu" 4
+centos5\-gems
+.
+.IP "\(bu" 4
+fedora13\-gems
+.
+.IP "\(bu" 4
+ubuntu10\.04\-gems
+.
+.IP "\(bu" 4
+ubuntu10\.04\-apt
+.
+.IP "" 0
+.
+.P
+The gems installations will use RubyGems 1\.3\.6 and Chef installed as a gem\. The apt installation will use the Opscode APT repository\.
+.
+.P
+In addition to handling the software installation, these bootstrap templates do the following:
+.
+.IP "\(bu" 4
+Write the validation\.pem per the local knife configuration\.
+.
+.IP "\(bu" 4
+Write a default config file for Chef (\fB/etc/chef/client\.rb\fR) using values from the \fBknife\.rb\fR\.
+.
+.IP "\(bu" 4
+Create a JSON attributes file containing the specified run list and run Chef\.
+.
+.IP "" 0
+.
+.P
+In the case of the RubyGems, the \fBclient\.rb\fR will be written from scratch with a minimal set of values; see \fBEXAMPLES\fR\. In the case of APT Package installation, \fBclient\.rb\fR will have the \fBvalidation_client_name\fR appended if it is not set to \fBchef\-validator\fR (default config value), and the \fBnode_name\fR will be added if \fBchef_node_name\fR option is specified\.
+.
+.P
+When this is complete, the bootstrapped node will have:
+.
+.IP "\(bu" 4
+Latest Chef version installed from RubyGems or APT Packages from Opscode\. This may be a later version than the local system\.
+.
+.IP "\(bu" 4
+Be validated with the configured Chef Server\.
+.
+.IP "\(bu" 4
+Have run Chef with its default run list if one is specfied\.
+.
+.IP "" 0
+.
+.P
+Additional custom bootstrap templates can be created and stored in \fB\.chef/bootstrap/DISTRO\.erb\fR, replacing \fBDISTRO\fR with the value passed with the \fB\-d\fR or \fB\-\-distro\fR option\. See \fBEXAMPLES\fR for more information\.
+.
+.SH "EXAMPLES"
+Setting up a custom bootstrap is fairly straightforward\. Create a \fB\.chef/bootstrap\fR directory in your Chef Repository or in \fB$HOME/\.chef/bootstrap\fR\. Then create the ERB template file\.
+.
+.IP "" 4
+.
+.nf
+
+mkdir ~/\.chef/bootstrap
+vi ~/\.chef/bootstrap/debian5\.0\-apt\.erb
+.
+.fi
+.
+.IP "" 0
+.
+.P
+For example, to create a new bootstrap template that should be used when setting up a new Debian node\. Edit the template to run the commands, set up the validation certificate and the client configuration file, and finally to run chef\-client on completion\. The bootstrap template can be called with:
+.
+.IP "" 4
+.
+.nf
+
+knife bootstrap mynode\.example\.com \-\-template\-file ~/\.chef/bootstrap/debian5\.0\-apt\.erb
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Or,
+.
+.IP "" 4
+.
+.nf
+
+knife bootstrap mynode\.example\.com \-\-distro debian5\.0\-apt
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fB\-\-distro\fR parameter will automatically look in the \fB~/\.chef/bootstrap\fR directory for a file named \fBdebian5\.0\-apt\.erb\fR\.
+.
+.P
+Templates provided by the Chef installation are located in \fBBASEDIR/lib/chef/knife/bootstrap/*\.erb\fR, where \fIBASEDIR\fR is the location where the package or Gem installed the Chef client libraries\.
+.
+.SH "BUGS"
+\fBknife bootstrap\fR is not capable of bootstrapping multiple hosts in parallel\.
+.
+.P
+The bootstrap script is passed as an argument to sh(1) on the remote system, so sensitive information contained in the script will be visible to other users via the process list using tools such as ps(1)\.
+.
+.SH "SEE ALSO"
+\fBknife\-ssh\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-client.1 b/distro/common/man/man1/knife-client.1
new file mode 100644
index 0000000000..977688871b
--- /dev/null
+++ b/distro/common/man/man1/knife-client.1
@@ -0,0 +1,99 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-CLIENT" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-client\fR \- Manage Chef API Clients
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBclient\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "SUB\-COMMANDS"
+Client subcommands follow a basic create, read, update, delete (CRUD) pattern\. The Following subcommands are available:
+.
+.SH "BULK DELETE"
+\fBknife client bulk delete\fR \fIregex\fR \fI(options)\fR
+.
+.P
+Delete clients where the client name matches the regular expression \fIregex\fR on the Chef Server\. The regular expression should be given as a quoted string, and not surrounded by forward slashes\.
+.
+.SH "CREATE"
+\fBknife client create\fR \fIclient name\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-admin\fR
+Create the client as an admin
+.
+.TP
+\fB\-f\fR, \fB\-\-file FILE\fR
+Write the key to a file
+.
+.P
+Create a new client\. This generates an RSA keypair\. The private key will be displayed on \fISTDOUT\fR or written to the named file\. The public half will be stored on the Server\. For \fIchef\-client\fR systems, the private key should be copied to the system as \fB/etc/chef/client\.pem\fR\.
+.
+.P
+Admin clients should be created for users that will use \fIknife\fR to access the API as an administrator\. The private key will generally be copied to \fB~/\.chef/client\e_name\.pem\fR and referenced in the \fBknife\.rb\fR configuration file\.
+.
+.SH "DELETE"
+\fBknife client delete\fR \fIclient name\fR \fI(options)\fR
+.
+.P
+Deletes a registered client\.
+.
+.SH "EDIT"
+\fBclient edit\fR \fIclient name\fR \fI(options)\fR
+.
+.P
+Edit a registered client\.
+.
+.SH "LIST"
+\fBclient list\fR \fI(options)\fR
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+Show corresponding URIs
+.
+.P
+List all registered clients\.
+.
+.SH "REREGISTER"
+\fBclient reregister\fR \fIclient name\fR \fI(options)\fR
+.
+.TP
+\fB\-f\fR, \fB\-\-file FILE\fR
+Write the key to a file
+.
+.P
+Regenerate the RSA keypair for a client\. The public half will be stored on the server and the private key displayed on \fISTDOUT\fR or written to the named file\. This operation will invalidate the previous keypair used by the client, preventing it from authenticating with the Chef Server\. Use care when reregistering the validator client\.
+.
+.SH "SHOW"
+\fBclient show\fR \fIclient name\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-attribute ATTR\fR
+Show only one attribute
+.
+.P
+Show a client\. Output format is determined by the \-\-format option\.
+.
+.SH "DESCRIPTION"
+Clients are identities used for communication with the Chef Server API, roughly equivalent to user accounts on the Chef Server, except that clients only communicate with the Chef Server API and are authenticated via request signatures\.
+.
+.P
+In the typical case, there will be one client object on the server for each node, and the corresponding client and node will have identical names\.
+.
+.P
+In the Chef authorization model, there is one special client, the "validator", which is authorized to create new non\-administrative clients but has minimal privileges otherwise\. This identity is used as a sort of "guest account" to create a client identity when initially setting up a host for management with Chef\.
+.
+.SH "SEE ALSO"
+\fBknife\-node\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-configure.1 b/distro/common/man/man1/knife-configure.1
new file mode 100644
index 0000000000..fd828ca966
--- /dev/null
+++ b/distro/common/man/man1/knife-configure.1
@@ -0,0 +1,88 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-CONFIGURE" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-configure\fR \- Generate configuration files for knife or Chef Client
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBconfigure\fR [client] \fI(options)\fR
+.
+.SH "DESCRIPTION"
+Generates a knife\.rb configuration file interactively\. When given the \-\-initial option, also creates a new administrative user\.
+.
+.SH "CONFIGURE SUBCOMMANDS"
+\fBknife configure\fR \fI(options)\fR
+.
+.TP
+\fB\-i\fR, \fB\-\-initial\fR
+Create an initial API Client
+.
+.TP
+\fB\-r\fR, \fB\-\-repository REPO\fR
+The path to your chef\-repo
+.
+.P
+Create a configuration file for knife\. This will prompt for values to enter into the file\. Default values are listed in square brackets if no other entry is typed\. See \fBknife\fR(1) for a description of configuration options\.
+.
+.P
+\fBknife configure client\fR \fIdirectory\fR
+.
+.P
+Read the \fIknife\.rb\fR config file and generate a config file suitable for use in \fI/etc/chef/client\.rb\fR and copy the validation certificate into the specified \fIdirectory\fR\.
+.
+.SH "EXAMPLES"
+.
+.IP "\(bu" 4
+On a freshly installed Chef Server, use \fIknife configure \-i\fR to create an administrator and knife configuration file\. Leave the field blank to accept the default value\. On most systems, the default values are acceptable\.
+.
+.IP
+user@host$ knife configure \-i
+.
+.br
+Please enter the chef server URL: [http://localhost:4000]
+.
+.br
+Please enter a clientname for the new client: [username]
+.
+.br
+Please enter the existing admin clientname: [chef\-webui]
+.
+.br
+Please enter the location of the existing admin client\'s private key: [/etc/chef/webui\.pem]
+.
+.br
+Please enter the validation clientname: [chef\-validator]
+.
+.br
+Please enter the location of the validation key: [/etc/chef/validation\.pem]
+.
+.br
+Please enter the path to a chef repository (or leave blank):
+.
+.br
+Creating initial API user\.\.\.
+.
+.br
+Created (or updated) client[username]
+.
+.br
+Configuration file written to /home/username/\.chef/knife\.rb
+.
+.IP
+This creates a new administrator client named \fIusername\fR, writes a configuration file to \fI/home/username/\.chef/knife\.rb\fR, and the private key to \fI/home/username/\.chef/username\.pem\fR\. The configuration file and private key may be copied to another system to facilitate administration of the Chef Server from a remote system\. Depending on the value given for the Chef Server URL, you may need to modify that setting after copying to a remote host\.
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+\fBknife\fR(1) \fBknife\-client\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-cookbook-site.1 b/distro/common/man/man1/knife-cookbook-site.1
new file mode 100644
index 0000000000..7f17119787
--- /dev/null
+++ b/distro/common/man/man1/knife-cookbook-site.1
@@ -0,0 +1,145 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-COOKBOOK\-SITE" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-cookbook\-site\fR \- Install and update open source cookbooks
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBcookbook site\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "COOKBOOK SITE SUB\-COMMANDS"
+\fBknife cookbook site\fR provides the following subcommands:
+.
+.SH "INSTALL"
+\fBcookbook site install COOKBOOK [VERSION]\fR \fI(options)\fR
+.
+.TP
+\fB\-D\fR, \fB\-\-skip\-dependencies\fR
+Skip automatic installation of dependencies\.
+.
+.TP
+\fB\-o\fR, \fB\-\-cookbook\-path PATH\fR
+Install cookbooks to PATH
+.
+.TP
+\fB\-B\fR, \fB\-\-branch BRANCH\fR
+Default branch to work with [defaults to master]
+.
+.P
+Uses git(1) version control in conjunction with the cookbook site to install community contributed cookbooks to your local cookbook repository\. Running \fBknife cookbook site install\fR does the following:
+.
+.IP "1." 4
+A new "pristine copy" branch is created in git for tracking the upstream;
+.
+.IP "2." 4
+All existing cookbooks are removed from the branch;
+.
+.IP "3." 4
+The cookbook is downloaded from the cookbook site in tarball form;
+.
+.IP "4." 4
+The downloaded cookbook is untarred, and its contents commited via git;
+.
+.IP "5." 4
+The pristine copy branch is merged into the master branch\.
+.
+.IP "" 0
+.
+.P
+By installing cookbook with this process, you can locally modify the upstream cookbook in your master branch and let git maintain your changes as a separate patch\. When an updated upstream version becomes available, you will be able to merge the upstream changes while maintaining your local modifications\.
+.
+.P
+Unless \fI\-\-skip\-dependencies\fR is specified, the process is applied recursively to all the cookbooks \fICOOKBOOK\fR depends on (via metadata \fIdependencies\fR)\.
+.
+.SH "DOWNLOAD"
+\fBknife cookbook site download COOKBOOK [VERSION]\fR \fI(options)\fR
+.
+.TP
+\fB\-f\fR, \fB\-\-file FILE\fR
+The filename to write to
+.
+.TP
+\fB\-\-force\fR
+Force download deprecated cookbook
+.
+.P
+Downloads a specific cookbook from the Community site, optionally specifying a certain version\.
+.
+.SH "LIST"
+\fBknife cookbook site list\fR \fI(options)\fR
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+Show corresponding URIs
+.
+.P
+Lists available cookbooks from the Community site\.
+.
+.SH "SEARCH"
+\fBknife cookbook site search QUERY\fR \fI(options)\fR
+.
+.P
+Searches for available cookbooks matching the specified query\.
+.
+.SH "SHARE"
+\fBknife cookbook site share COOKBOOK CATEGORY\fR \fI(options)\fR
+.
+.TP
+\fB\-k\fR, \fB\-\-key KEY\fR
+API Client Key
+.
+.TP
+\fB\-u\fR, \fB\-\-user USER\fR
+API Client Username
+.
+.TP
+\fB\-o\fR, \fB\-\-cookbook\-path PATH:PATH\fR
+A colon\-separated path to look for cookbooks in
+.
+.P
+Uploads the specified cookbook using the given category to the Opscode cookbooks site\. Requires a login user and certificate for the Opscode Cookbooks site\. By default, knife will use the username and API key you\'ve configured in your configuration file; otherwise you must explicitly set these values on the command line or use an alternate configuration file\.
+.
+.SH "UNSHARE"
+\fBknife cookbook site unshare COOKBOOK\fR
+.
+.P
+Stops sharing the specified cookbook on the Opscode cookbooks site\.
+.
+.SH "SHOW"
+\fBknife cookbook site show COOKBOOK [VERSION]\fR \fI(options)\fR
+.
+.P
+Shows information from the site about a particular cookbook\.
+.
+.SH "DESCRIPTION"
+The cookbook site, \fIhttp://community\.opscode\.com/\fR, is a cookbook distribution service operated by Opscode\. This service provides users with a central location to publish cookbooks for sharing with other community members\.
+.
+.P
+\fBknife cookbook site\fR commands provide an interface to the cookbook site\'s HTTP API\. For commands that read data from the API, no account is required\. In order to upload cookbooks using the \fBknife cookbook site share\fR command, you must create an account on the cookbook site and configure your credentials via command line option or in your knife configuration file\.
+.
+.SH "EXAMPLES"
+Uploading cookbooks to the Opscode cookbooks site:
+.
+.IP "" 4
+.
+.nf
+
+knife cookbook site share example Other \-k ~/\.chef/USERNAME\.pem \-u USERNAME
+.
+.fi
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+\fBknife\-cookbook(1)\fR \fIhttp://community\.opscode\.com/cookbooks\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-cookbook.1 b/distro/common/man/man1/knife-cookbook.1
new file mode 100644
index 0000000000..270e23db77
--- /dev/null
+++ b/distro/common/man/man1/knife-cookbook.1
@@ -0,0 +1,345 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-COOKBOOK" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-cookbook\fR \- upload and manage chef cookbooks
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBcookbook\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "SUB\-COMMANDS"
+\fBknife cookbook\fR supports the following sub commands:
+.
+.SH "LIST"
+\fBknife cookbook list\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+show all versions of a cookbook instead of just the most recent
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+show corresponding uris
+.
+.P
+Lists the cookbooks available on the Chef server\.
+.
+.SH "SHOW"
+\fBknife cookbook show cookbook [version] [part] [filename]\fR \fI(options)\fR
+.
+.TP
+\fB\-f\fR, \fB\-\-fqdn fqdn\fR
+the fqdn of the host to see the file for
+.
+.TP
+\fB\-p\fR, \fB\-\-platform platform\fR
+the platform to see the file for
+.
+.TP
+\fB\-v\fR, \fB\-\-platform\-version version\fR
+the platform version to see the file for
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+Show corresponding URIs
+.
+.P
+show a particular part of a \fIcookbook\fR for the specified \fIversion\fR\. \fIpart\fR can be one of:
+.
+.IP "\(bu" 4
+\fIattributes\fR
+.
+.IP "\(bu" 4
+\fIdefinitions\fR
+.
+.IP "\(bu" 4
+\fIfiles\fR
+.
+.IP "\(bu" 4
+\fIlibraries\fR
+.
+.IP "\(bu" 4
+\fIproviders\fR
+.
+.IP "\(bu" 4
+\fIrecipes\fR
+.
+.IP "\(bu" 4
+\fIresources\fR
+.
+.IP "\(bu" 4
+\fItemplates\fR
+.
+.IP "" 0
+.
+.SH "UPLOAD"
+\fBknife cookbook upload [cookbooks\.\.\.]\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+upload all cookbooks, rather than just a single cookbook
+.
+.TP
+\fB\-o\fR, \fB\-\-cookbook\-path path:path\fR
+a colon\-separated path to look for cookbooks in
+.
+.TP
+\fB\-d\fR, \fB\-\-upload\-dependencies\fR
+Uploads additional cookbooks that this cookbook lists in as dependencies in its metadata\.
+.
+.TP
+\fB\-E\fR, \fB\-\-environment ENVIRONMENT\fR
+An \fIENVIRONMENT\fR to apply the uploaded cookbooks to\. Specifying this option will cause knife to edit the \fIENVIRONMENT\fR to place a strict version constraint on the cookbook version(s) uploaded\.
+.
+.TP
+\fB\-\-freeze\fR
+Sets the frozen flag on the uploaded cookbook(s) Any future attempt to modify the cookbook without changing the version number will return an error unless \-\-force is specified\.
+.
+.TP
+\fB\-\-force\fR
+Overrides the frozen flag on a cookbook, allowing you to overwrite a cookbook version that has previously been uploaded with the \-\-freeze option\.
+.
+.P
+Uploads one or more cookbooks from your local cookbook repository(ies) to the Chef Server\. Only files that don\'t yet exist on the server will be uploaded\.
+.
+.P
+As the command parses the name args as 1\.\.n cookbook names:
+.
+.IP "" 4
+.
+.nf
+
+`knife cookbook upload COOKBOOK COOKBOOK \.\.\.`
+.
+.fi
+.
+.IP "" 0
+.
+.P
+works for one to many cookbooks\.
+.
+.SH "DOWNLOAD"
+\fBknife cookbook download cookbook [version]\fR \fI(options)\fR
+.
+.TP
+\fB\-d\fR, \fB\-\-dir download_directory\fR
+the directory to download the cookbook into
+.
+.TP
+\fB\-f\fR, \fB\-\-force\fR
+overwrite an existing directory with the download
+.
+.TP
+\fB\-n\fR, \fB\-\-latest\fR
+download the latest version of the cookbook
+.
+.P
+download a cookbook from the chef server\. if no version is specified and only one version exists on the server, that version will be downloaded\. if no version is specified and multiple versions are available on the server, you will be prompted for a version to download\.
+.
+.SH "DELETE"
+\fBknife cookbook delete cookbook [version]\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+delete all versions
+.
+.TP
+\fB\-p\fR, \fB\-\-purge\fR
+purge files from backing store\. this will disable any cookbook that contains any of the same files as the cookbook being purged\.
+.
+.P
+delete the specified \fIversion\fR of the named \fIcookbook\fR\. if no version is specified, and only one version exists on the server, that version will be deleted\. if multiple versions are available on the server, you will be prompted for a version to delete\.
+.
+.SH "BULK DELETE"
+\fBknife cookbook bulk delete regex\fR \fI(options)\fR
+.
+.TP
+\fB\-p\fR, \fB\-\-purge\fR
+purge files from backing store\. this will disable any cookbook that contains any of the same files as the cookbook being purged\.
+.
+.P
+delete cookbooks on the chef server based on a regular expression\. the regular expression (\fIregex\fR) should be in quotes, not in //\'s\.
+.
+.SH "COOKBOOK CREATE"
+\fBknife cookbook create cookbook\fR \fI(options)\fR
+.
+.TP
+\fB\-o\fR, \fB\-\-cookbook\-path path\fR
+the directory where the cookbook will be created
+.
+.TP
+\fB\-r\fR, \fB\-\-readme\-format format\fR
+format of the readme file md, mkd, txt, rdoc
+.
+.TP
+\fB\-c\fR, \fB\-\-copyright copyright\fR
+name of copyright holder
+.
+.TP
+\fB\-i\fR, \fB\-\-license license\fR
+license for cookbook, apachev2 or none
+.
+.TP
+\fB\-e\fR, \fB\-\-email email\fR
+email address of cookbook maintainer
+.
+.P
+this is a helper command that creates a new cookbook directory in the \fBcookbook_path\fR\. the following directories and files are created for the named cookbook\.
+.
+.IP "\(bu" 4
+cookbook/attributes
+.
+.IP "\(bu" 4
+cookbook/definitions
+.
+.IP "\(bu" 4
+cookbook/files/default
+.
+.IP "\(bu" 4
+cookbook/libraries
+.
+.IP "\(bu" 4
+cookbook/metadata\.rb
+.
+.IP "\(bu" 4
+cookbook/providers
+.
+.IP "\(bu" 4
+cookbook/readme\.md
+.
+.IP "\(bu" 4
+cookbook/recipes/default\.rb
+.
+.IP "\(bu" 4
+cookbook/resources
+.
+.IP "\(bu" 4
+cookbook/templates/default
+.
+.IP "" 0
+.
+.P
+supported readme formats are \'md\' (default), \'mkd\', \'txt\', \'rdoc\'\. the readme file will be written with the specified extension and a set of helpful starting headers\.
+.
+.P
+specify \fB\-c\fR or \fB\-\-copyright\fR with the name of the copyright holder as your name or your company/organization name in a quoted string\. if this value is not specified an all\-caps string \fByour_company_name\fR is used which can be easily changed with find/replace\.
+.
+.P
+specify \fB\-i\fR or \fB\-\-license\fR with the license that the cookbook is distributed under for sharing with other people or posting to the opscode cookbooks site\. be aware of the licenses of files you put inside the cookbook and follow any restrictions they describe\. when using \fBnone\fR (default) or \fBapachev2\fR, comment header text and metadata file are pre\-filled\. the \fBnone\fR license will be treated as non\-redistributable\.
+.
+.P
+specify \fB\-e\fR or \fB\-\-email\fR with the email address of the cookbook\'s maintainer\. if this value is not specified, an all\-caps string \fByour_email\fR is used which can easily be changed with find/replace\.
+.
+.P
+the cookbook copyright, license, email and readme_format settings can be filled in the \fBknife\.rb\fR, for example with default values:
+.
+.IP "" 4
+.
+.nf
+
+cookbook_copyright "your_company_name"
+cookbook_license "none"
+cookbook_email "your_email"
+readme_format "md"
+.
+.fi
+.
+.IP "" 0
+.
+.SH "METADATA"
+\fBknife cookbook metadata cookbook\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+generate metadata for all cookbooks, rather than just a single cookbook
+.
+.TP
+\fB\-o\fR, \fB\-\-cookbook\-path path:path\fR
+a colon\-separated path to look for cookbooks in
+.
+.P
+generate cookbook metadata for the named \fIcookbook\fR\. the \fIpath\fR used here specifies where the cookbooks directory is located and corresponds to the \fBcookbook_path\fR configuration option\.
+.
+.SH "METADATA FROM FILE"
+\fBknife cookbook metadata from file\fR \fI(options)\fR
+.
+.P
+load the cookbook metadata from a specified file\.
+.
+.SH "TEST"
+\fBknife cookbook test [cookbooks\.\.\.]\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+test all cookbooks, rather than just a single cookbook
+.
+.TP
+\fB\-o\fR, \fB\-\-cookbook\-path path:path\fR
+a colon\-separated path to look for cookbooks in
+.
+.P
+test the specified cookbooks for syntax errors\. this uses the built\-in ruby syntax checking option for files in the cookbook ending in \fB\.rb\fR, and the erb syntax check for files ending in \fB\.erb\fR (templates)\.
+.
+.SH "RECIPE LIST"
+\fBknife recipe list [PATTERN]\fR
+.
+.P
+List available recipes from the server\. Specify \fIPATTERN\fR as a regular expression to limit the results\.
+.
+.SH "DESCRIPTION"
+Cookbooks are the fundamental unit of distribution in Chef\. They encapsulate all recipes of resources and assets used to configure a particular aspect of the infrastructure\. The following sub\-commands can be used to manipulate the cookbooks stored on the Chef Server\.
+.
+.P
+On disk, cookbooks are directories with a defined structure\. The following directories may appear within a cookbook:
+.
+.TP
+COOKBOOK/attributes/
+Ruby files that define default parameters to be used in recipes
+.
+.TP
+COOKBOOK/definitions/
+Ruby files that contain \fIresource definitions\fR
+.
+.TP
+COOKBOOK/files/SPECIFICITY
+Files of arbitrary type\. These files may be downloaded by chef\-client(8) when configuring a host\.
+.
+.TP
+COOKBOOK/libraries/
+Ruby files that contain library code needed for recipes
+.
+.TP
+COOKBOOK/providers/
+Ruby files that contain Lightweight Provider definitions
+.
+.TP
+COOKBOOK/recipes/
+Ruby files that use Chef\'s recipe DSL to describe the desired configuration of a system
+.
+.TP
+COOKBOOK/resources/
+Ruby files that contain Lightweight Resource definitions
+.
+.TP
+COOKBOOK/templates/SPECIFICITY
+ERuby (ERb) template files\. These are referenced by \fIrecipes\fR and evaluated to dynamically generate configuration files\.
+.
+.P
+\fBSPECIFICITY\fR is a feature of \fIfiles\fR and \fItemplates\fR that allow you to specify alternate files to be used on a specific OS platform or host\. The default specificity setting is \fIdefault\fR, that is files in \fBCOOKBOOK/files/default\fR will be used when a more specific copy is not available\. Further documentation for this feature is available on the Chef wiki: \fIhttp://wiki\.opscode\.com/display/chef/File+Distribution#FileDistribution\-FileSpecificity\fR
+.
+.P
+Cookbooks also contain a metadata file that defines various properties of the cookbook\. The most important of these are the \fIversion\fR and the \fIdependencies\fR\. The \fIversion\fR is used in combination with environments to select which copy of a given cookbook is distributed to a node\. The \fIdependencies\fR are used by the server to determine which additional cookbooks must be distributed to a given host when it requires a cookbook\.
+.
+.SH "SEE ALSO"
+\fBknife\-environment(1)\fR \fBknife\-cookbook\-site(1)\fR \fIhttp://wiki\.opscode\.com/display/chef/Cookbooks\fR \fIhttp://wiki\.opscode\.com/display/chef/Metadata\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-data-bag.1 b/distro/common/man/man1/knife-data-bag.1
new file mode 100644
index 0000000000..1a7bc0c398
--- /dev/null
+++ b/distro/common/man/man1/knife-data-bag.1
@@ -0,0 +1,136 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-DATA\-BAG" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-data\-bag\fR \- Store arbitrary data on a Chef Server
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBdata bag\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "DESCRIPTION"
+Data bags are stores of arbitrary JSON data\. Each data bag is a collection that may contain many items\. Data Bag Items are indexed by the Chef Server and can be searched via \fBknife\-search\fR(1)\.
+.
+.P
+Data bags are available to all nodes configured by \fBchef\-client\fR(8), and are therefore a convenient mechanism to store global information, such as lists of administrative accounts that should be configured on all hosts\.
+.
+.SH "DATA BAG SUB\-COMMANDS"
+.
+.SH "CREATE"
+\fBknife data bag create\fR \fIbag name\fR [item id] \fI(options)\fR
+.
+.TP
+\fB\-s\fR, \fB\-\-secret SECRET\fR
+A secret key used to encrypt the data bag item\. See \fBencryption support\fR below\.
+.
+.TP
+\fB\-\-secret\-file SECRET_FILE\fR
+The path to a file containing the secret key to be used to encrypt the data bag item\.
+.
+.P
+If \fIitem id\fR is given, creates a new, empty data bag item and opens it for editing in your editor\. The data bag will be created if it does not exist\.
+.
+.P
+If \fIitem id\fR is not given, the data bag will be created\.
+.
+.SH "DELETE"
+\fBknife data bag delete\fR \fIbag name\fR [item id] \fI(options)\fR
+.
+.P
+Delete a data bag, or an item from a data bag\.
+.
+.SH "EDIT"
+\fBknife data bag edit\fR \fIbag name\fR \fIitem id\fR \fI(options)\fR
+.
+.TP
+\fB\-s\fR, \fB\-\-secret SECRET\fR
+A secret key used to encrypt the data bag item\. See \fBencryption support\fR below\.
+.
+.TP
+\fB\-\-secret\-file SECRET_FILE\fR
+The path to a file containing the secret key to be used to encrypt the data bag item\.
+.
+.P
+Edit an item in a data bag\.
+.
+.SH "FROM FILE"
+\fBknife data bag from file\fR \fIbag name\fR \fIfile\fR \fI(options)\fR
+.
+.P
+\fBknife data bag from file\fR \fIbag name\fR \fIfile1\fR \fIfile2\fR \fIfile3\fR \fI(options)\fR
+.
+.P
+\fBknife data bag from file\fR \fIbag name\fR \fIfolder\fR \fI(options)\fR
+.
+.TP
+\fB\-s\fR, \fB\-\-secret SECRET\fR
+A secret key used to encrypt the data bag item\. See \fBencryption support\fR below\.
+.
+.TP
+\fB\-\-secret\-file SECRET_FILE\fR
+The path to a file containing the secret key to be used to encrypt the data bag item\.
+.
+.P
+Load a data bag item from a JSON file\. If \fIfile\fR is a relative or absolute path to the file, that file will be used\. Otherwise, the \fIfile\fR parameter is treated as the base name of a data bag file in a Chef repository, and \fBknife\fR will search for the file in \fB\./data_bags/bag_name/file\fR\. For example \fBknife data bag from file users dan\.json\fR would attempt to load the file \fB\./data_bags/users/dan\.json\fR\.
+.
+.SH "LIST"
+\fBknife data bag list\fR \fI(options)\fR
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+Show corresponding URIs
+.
+.P
+Lists the data bags that exist on the Chef Server\.
+.
+.SH "SHOW"
+\fBknife data bag show BAG [ITEM]\fR \fI(options)\fR
+.
+.TP
+\fB\-s\fR, \fB\-\-secret SECRET\fR
+A secret key used to encrypt the data bag item\. See \fBencryption support\fR below\.
+.
+.TP
+\fB\-\-secret\-file SECRET_FILE\fR
+The path to a file containing the secret key to be used to encrypt the data bag item\.
+.
+.P
+Show a specific data bag or an item in a data bag\. The output will be formatted according to the \-\-format option\.
+.
+.SH "ENCRYPTION SUPPORT"
+Data Bag Items may be encrypted to keep their contents secret\. This may be desireable when storing sensitive information such as database passwords, API keys, etc\.
+.
+.P
+Data Bag Item encryption uses the AES\-256 CBC symmetric key algorithm\.
+.
+.P
+\fBCAVEATS:\fR Keys are not encrypted; only values are encrypted\. The "id" of a Data Bag Item is not encrypted, since it is used by Chef Server to store the item in its database\. For example, given the following data bag item:
+.
+.IP "" 4
+.
+.nf
+
+{"id": "important_passwords", "secret_password": "opensesame"}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The key "secret_password" will be visible to an evesdropper, but the value "opensesame" will be protected\. Both the key "id" and its value "important_passwords" will be visible to an evesdropper\.
+.
+.P
+Chef Server does not provide a secure mechanism for distributing encryption keys\.
+.
+.SH "SEE ALSO"
+\fBknife\-search\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. http://wiki\.opscode\.com/display/chef/Home
diff --git a/distro/common/man/man1/knife-environment.1 b/distro/common/man/man1/knife-environment.1
new file mode 100644
index 0000000000..07050a87fe
--- /dev/null
+++ b/distro/common/man/man1/knife-environment.1
@@ -0,0 +1,178 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-ENVIRONMENT" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-environment\fR \- Define cookbook policies for the environments in your infrastructure
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBenvironment\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "SUBCOMMANDS"
+Environment subcommands follow a basic create, read, update, delete (CRUD) pattern\. The following subcommands are available:
+.
+.SH "CREATE"
+\fBknife environment create\fR \fIenvironment\fR \fI(options)\fR
+.
+.TP
+\fB\-d\fR, \fB\-\-description DESCRIPTION\fR
+The value of the description field\.
+.
+.P
+Create a new environment object on the Chef Server\. The envrionment will be opened in the text editor for editing prior to creation if the \-n option is not present\.
+.
+.SH "DELETE"
+\fBknife environment delete\fR \fIenvironment\fR \fI(options)\fR
+.
+.P
+Destroy an environment on the Chef Server\. A prompt for confirmation will be displayed if the \-y options is not given\.
+.
+.SH "EDIT"
+\fBknife environment edit\fR \fIenvironment\fR \fI(options)\fR
+.
+.P
+Fetch \fIenvironment\fR and display it in the text editor for editing\. The environment will be saved to the Chef Server when the editing session exits\.
+.
+.SH "FROM FILE"
+\fBknife environment from file\fR \fIfile\fR \fI(options)\fR
+.
+.P
+Create or update an environment from the JSON or Ruby format \fIfile\fR\. See \fBformat\fR for the proper format of this file\.
+.
+.SH "LIST"
+\fBknife environment list\fR \fI(options)\fR * \fB\-w\fR, \fB\-\-with\-uri\fR:
+.
+.IP "" 4
+.
+.nf
+
+Show the resource URI for each environment
+.
+.fi
+.
+.IP "" 0
+.
+.SH "SHOW"
+\fBknife environment show\fR \fIenvironment\fR \fI(options)\fR
+.
+.SH "DESCRIPTION"
+Environments provide a means to apply policies to hosts in your infrastructure based on business function\. For example, you may have a separate copy of your infrastructure called "dev" that runs the latest version of your application and should use the newest versions of your cookbooks when configuring systems, and a production instance of your infrastructure where you wish to update code and cookbooks in a more controlled fashion\. In Chef, this function is implemented with \fIenvironments\fR\.
+.
+.P
+Environments contain two major components: a set of cookbook version constraints and environment attributes\.
+.
+.SH "SYNTAX"
+A cookbook version constraint is comprised of a \fIcookbook name\fR and a \fIversion constraint\fR\. The \fIcookbook name\fR is the name of a cookbook in your system, and the \fIversion constraint\fR is a String describing the version(s) of that cookbook allowed in the environment\. Only one \fIversion constraint\fR is supported for a given \fIcookbook name\fR\.
+.
+.P
+The exact syntax used to define a cookbook version constraint varies depending on whether you use the JSON format or the Ruby format\. In the JSON format, the cookbook version constraints for an environment are represented as a single JSON object, like this:
+.
+.IP "" 4
+.
+.nf
+
+{"apache2": ">= 1\.5\.0"}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+In the Ruby format, the cookbook version contraints for an environment are represented as a Ruby Hash, like this:
+.
+.IP "" 4
+.
+.nf
+
+{"apache2" => ">= 1\.5\.0"}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+A \fIversion number\fR is a String comprised of two or three digits separated by a dot (\.) character, or in other words, strings of the form "major\.minor" or "major\.minor\.patch"\. "1\.2" and "1\.2\.3" are examples of valid version numbers\. Version numbers containing more than three digits or alphabetic characters are not supported\.
+.
+.P
+A \fIversion constraint\fR String is composed of an \fIoperator\fR and a \fIversion number\fR\. The following operators are available:
+.
+.TP
+\fB= VERSION\fR
+Equality\. Only the exact version specified may be used\.
+.
+.TP
+\fB> VERSION\fR
+Greater than\. Only versions greater than \fBVERSION\fR may be used\.
+.
+.TP
+\fB>= VERSION\fR
+Greater than or equal to\. Only versions equal to VERSION or greater may be used\.
+.
+.TP
+\fB< VERSION\fR
+Less than\. Only versions less than VERSION may be used\.
+.
+.TP
+\fB<= VERSION\fR
+Less than or equal to\. Only versions lesser or equal to VERSION may be used\.
+.
+.TP
+\fB~> VERSION\fR
+Pessimistic greater than\. Depending on the number of components in the given VERSION, the constraint will be optimistic about future minor or patch revisions only\. For example, \fB~> 1\.1\fR will match any version less than \fB2\.0\fR and greater than or equal to \fB1\.1\.0\fR, whereas \fB~> 2\.0\.5\fR will match any version less than \fB2\.1\.0\fR and greater than or equal to \fB2\.0\.5\fR\.
+.
+.SH "FORMAT"
+The JSON format of an envioronment is as follows:
+.
+.IP "" 4
+.
+.nf
+
+{
+ "name": "dev",
+ "description": "The development environment",
+ "cookbook_versions": {
+ "couchdb": "= 11\.0\.0"
+ },
+ "json_class": "Chef::Environment",
+ "chef_type": "environment",
+ "default_attributes": {
+ "apache2": { "listen_ports": [ "80", "443" ] }
+ },
+ "override_attributes": {
+ "aws_s3_bucket": "production"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The Ruby format of an environment is as follows:
+.
+.IP "" 4
+.
+.nf
+
+name "dev"
+description "The development environment"
+cookbook_versions "couchdb" => "= 11\.0\.0"
+default_attributes "apache2" => { "listen_ports" => [ "80", "443" ] }
+override_attributes "aws_s3_bucket" => "production"
+.
+.fi
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+\fBknife\-node(1)\fR \fBknife\-cookbook(1)\fR \fBknife\-role(1)\fR \fIhttp://wiki\.opscode\.com/display/chef/Environments\fR \fIhttp://wiki\.opscode\.com/display/chef/Version+Constraints\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Daniel DeLeo \fIdan@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-exec.1 b/distro/common/man/man1/knife-exec.1
new file mode 100644
index 0000000000..829d58ff09
--- /dev/null
+++ b/distro/common/man/man1/knife-exec.1
@@ -0,0 +1,43 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-EXEC" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-exec\fR \- Run user scripts using the Chef API DSL
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBexec\fR \fI(options)\fR
+.
+.TP
+\fB\-E\fR, \fB\-\-exec CODE\fR
+Provide a snippet of code to evaluate on the command line
+.
+.SH "DESCRIPTION"
+\fBknife exec\fR runs arbitrary ruby scripts in a context similar to that of the chef\-shell(1) DSL\. See the chef\-shell documentation for a description of the commands available\.
+.
+.SH "EXAMPLES"
+.
+.TP
+Make an API call against an arbitrary endpoint
+knife exec \-E \'api\.get("nodes/fluke\.localdomain/cookbooks")\' => list of cookbooks for the node \fIfluke\.localdomain\fR
+.
+.TP
+Remove the role \fIobsolete\fR from all nodes
+knife exec \-E \'nodes\.transform(:all){|n| n\.run_list\.delete("role[obsolete]")}\'
+.
+.TP
+Generate the expanded run list for hosts in the \fBwebserver\fR role
+knife exec \-E \'nodes\.find(:roles => "webserver") {|n| n\.expand!; n[:recipes]}\'
+.
+.SH "SEE ALSO"
+\fBchef\-shell(1)\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-index.1 b/distro/common/man/man1/knife-index.1
new file mode 100644
index 0000000000..268d4acf95
--- /dev/null
+++ b/distro/common/man/man1/knife-index.1
@@ -0,0 +1,29 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-INDEX" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-index\fR \- Rebuild the search index on a Chef Server
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBindex rebuild\fR \fI(options)\fR
+.
+.TP
+\fB\-y\fR, \fB\-\-yes\fR
+don\'t bother to ask if I\'m sure
+.
+.SH "DESCRIPTION"
+Rebuilds all the search indexes on the server\. This is accomplished by deleting all objects from the search index, and then forwarding each item in the database to \fBchef\-expander\fR(8) via \fBrabbitmq\-server\fR(1)\. Depending on the number of objects in the database, it may take some time for all objects to be indexed and available for search\.
+.
+.SH "SEE ALSO"
+\fBknife\-search\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-node.1 b/distro/common/man/man1/knife-node.1
new file mode 100644
index 0000000000..4796822f6d
--- /dev/null
+++ b/distro/common/man/man1/knife-node.1
@@ -0,0 +1,134 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-NODE" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-node\fR \- Manage the hosts in your infrastructure
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBnode\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "DESCRIPTION"
+Nodes are data structures that represent hosts configured with Chef\. Nodes have a \fBname\fR, a String that uniquely identifies the node, \fBattributes\fR, a nested Hash of properties that describe how the host should be configured, a \fBchef_environment\fR, a String representing the environment to which the node belongs, and a \fBrun_list\fR, an ordered list of \fBrecipes\fR or \fBroles\fR that chef\-client should apply when configuring a host\.
+.
+.P
+When a host communicates with a Chef Server, it authenticates using its \fBnode_name\fR for identification and signs its reqests with a private key\. The Server validates the request by looking up a \fBclient\fR object with a name identical to the \fBnode_name\fR submitted with the request and verifes the signature using the public key for that \fBclient\fR object\. \fBNOTE\fR that the \fBclient\fR is a different object in the system\. It is associated with a node by virtue of having a matching name\.
+.
+.P
+By default \fBchef\-client\fR(8) will create a node using the FQDN of the host for the node name, though this may be overridden by configuration settings\.
+.
+.SH "NODE SUB\-COMMANDS"
+The following \fBnode\fR subcommands are available:
+.
+.SH "BULK DELETE"
+\fBknife node bulk delete\fR \fIregex\fR \fI(options)\fR
+.
+.P
+Deletes nodes for which the name matches the regular expression \fIregex\fR on the Chef Server\. The regular expression should be given in quotes, and should not be surrounded with forward slashes (as is typical of regular expression literals in scripting languages)\.
+.
+.SH "CREATE"
+\fBknife node create\fR \fIname\fR \fI(options)\fR
+.
+.P
+Create a new node\. Unless the \-\-disable\-editing option is given, an empty node object will be created and displayed in your text editor\. If the editor exits with a successful exit status, the node data will be posted to the Chef Server to create the node\.
+.
+.SH "DELETE"
+\fBknife node delete\fR \fIname\fR \fI(options)\fR
+.
+.P
+Deletes the node identified by \fIname\fR on the Chef Server\.
+.
+.SH "EDIT"
+\fBknife node edit\fR \fIname\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-all\fR
+Display all node data in the editor\. By default, default, override, and automatic attributes are not shown\.
+.
+.P
+Edit the node identified by \fIname\fR\. Like \fBknife node create\fR, the node will be displayed in your text editor unless the \-n option is present\.
+.
+.SH "FROM FILE"
+\fBknife node from file\fR \fIfile\fR \fI(options)\fR
+.
+.P
+Create a node from a JSON format \fIfile\fR\.
+.
+.SH "LIST"
+\fBknife node list\fR \fI(options)\fR
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+Show corresponding URIs
+.
+.P
+List all nodes\.
+.
+.SH "RUN_LIST ADD"
+\fBknife node run_list add\fR \fIname\fR \fIrun list item\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-after ITEM\fR
+Place the ENTRY in the run list after ITEM
+.
+.P
+Add the \fIrun list item\fR to the node\'s \fBrun_list\fR\. See Run list
+.
+.SH "RUN_LIST REMOVE"
+\fBknife node run_list remove\fR \fInode name\fR \fIrun list item\fR \fI(options)\fR
+.
+.P
+Remove the \fIrun list item\fR from the node\'s \fBrun_list\fR\.
+.
+.SH "SHOW"
+\fBknife node show\fR \fInode name\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-attribute [ATTR]\fR
+Show only one attribute
+.
+.TP
+\fB\-r\fR, \fB\-\-run\-list\fR
+Show only the run list
+.
+.TP
+\fB\-F\fR, \fB\-\-format FORMAT\fR
+Display the node in a different format\.
+.
+.TP
+\fB\-m\fR, \fB\-\-medium\fR
+Display more, but not all, of the node\'s data when using the default \fIsummary\fR format
+.
+.P
+Displays the node identified by \fInode name\fR on stdout\.
+.
+.SH "RUN LIST ITEM FORMAT"
+Run list items may be either roles or recipes\. When adding a role to a run list, the correct syntax is "role[ROLE_NAME]"
+.
+.P
+When adding a recipe to a run list, there are several valid formats:
+.
+.TP
+Fully Qualified Format
+"recipe[COOKBOOK::RECIPE_NAME]", for example, "recipe[chef::client]"
+.
+.TP
+Cookbook Recipe Format
+For brevity, the recipe part of the fully qualified format may be omitted, and recipes specified as "COOKBOOK::RECIPE_NAME", e\.g\., "chef::client"
+.
+.TP
+Default Recipe Format
+When adding the default recipe of a cookbook to a run list, the recipe name may be omitted as well, e\.g\., "chef::default" may be written as just "chef"
+.
+.SH "SEE ALSO"
+\fBknife\-client\fR(1) \fBknife\-search\fR(1) \fBknife\-role\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-role.1 b/distro/common/man/man1/knife-role.1
new file mode 100644
index 0000000000..c9fee15c19
--- /dev/null
+++ b/distro/common/man/man1/knife-role.1
@@ -0,0 +1,88 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-ROLE" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-role\fR \- Group common configuration settings
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBrole\fR \fIsub\-command\fR \fI(options)\fR
+.
+.SH "ROLE SUB\-COMMANDS"
+The following \fBrole\fR subcommands are available:
+.
+.SH "LIST"
+\fBknife role list\fR \fI(options)\fR
+.
+.TP
+\fB\-w\fR, \fB\-\-with\-uri\fR
+Show corresponding URIs
+.
+.P
+List roles\.
+.
+.SH "SHOW"
+\fBknife role show ROLE\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-attribute ATTR\fR
+Show only one attribute
+.
+.P
+Show a specific role\.
+.
+.SH "CREATE"
+\fBknife role create ROLE\fR \fI(options)\fR
+.
+.TP
+\fB\-d\fR, \fB\-\-description\fR
+The role description
+.
+.P
+Create a new role\.
+.
+.SH "EDIT"
+\fBknife role edit ROLE\fR \fI(options)\fR
+.
+.P
+Edit a role\.
+.
+.SH "FROM FILE"
+\fBknife role from file FILE\fR \fI(options)\fR
+.
+.P
+Create or update a role from a role Ruby DSL (\fB\.rb\fR) or JSON file\.
+.
+.SH "DELETE"
+\fBknife role delete ROLE\fR \fI(options)\fR
+.
+.P
+Delete a role\.
+.
+.SH "BULK DELETE"
+\fBknife role bulk delete REGEX\fR \fI(options)\fR
+.
+.P
+Delete roles on the Chef Server based on a regular expression\. The regular expression (\fIREGEX\fR) should be in quotes, not in //\'s\.
+.
+.SH "DESCRIPTION"
+Roles provide a mechanism to group repeated configuration settings\. Roles are data structures that contain \fBdefault_attributes\fR, and \fBoverride_attributes\fR, which are nested hashes of configuration settings, and a \fBrun_list\fR, which is an ordered list of recipes and roles that should be applied to a host by chef\-client\.
+.
+.P
+\fBdefault_attributes\fR will be overridden if they conflict with a value on a node that includes the role\. Conversely, \fBoverride_attributes\fR will override any values set on nodes that apply them\.
+.
+.P
+When \fBchef\-client\fR(8) configures a host, it will "expand" the \fBrun_list\fR included in that host\'s node data\. The expansion process will recursively replace any roles in the run_list with that role\'s run_list\.
+.
+.SH "SEE ALSO"
+\fBknife\-node(1)\fR \fBknife\-environment(1)\fR \fIhttp://wiki\.opscode\.com/display/chef/Roles\fR \fIhttp://wiki\.opscode\.com/display/chef/Attributes\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-search.1 b/distro/common/man/man1/knife-search.1
new file mode 100644
index 0000000000..6e16e3b7d1
--- /dev/null
+++ b/distro/common/man/man1/knife-search.1
@@ -0,0 +1,280 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-SEARCH" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-search\fR \- Find objects on a Chef Server by query
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBsearch INDEX QUERY\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-attribute ATTR\fR
+Show only one attribute
+.
+.TP
+\fB\-i\fR, \fB\-\-id\-only\fR
+Show only the ID of matching objects
+.
+.TP
+\fB\-q\fR, \fB\-\-query QUERY\fR
+The search query; useful to protect queries starting with \-
+.
+.TP
+\fB\-R\fR, \fB\-\-rows INT\fR
+The number of rows to return
+.
+.TP
+\fB\-r\fR, \fB\-\-run\-list\fR
+Show only the run list
+.
+.TP
+\fB\-o\fR, \fB\-\-sort SORT\fR
+The order to sort the results in
+.
+.TP
+\fB\-b\fR, \fB\-\-start ROW\fR
+The row to start returning results at
+.
+.TP
+\fB\-m\fR, \fB\-\-medium\fR
+Display medium sized output when searching nodes using the default summary format
+.
+.TP
+\fB\-l\fR, \fB\-\-long\fR
+Display long output when searching nodes using the default summary format
+.
+.SH "DESCRIPTION"
+Search is a feature of the Chef Server that allows you to use a full\-text search engine to query information about your infrastructure and applications\. You can utilize this service via search calls in a recipe or the knife search command\. The search syntax is based on Lucene\.
+.
+.SH "INDEXES"
+Search indexes are a feature of the Chef Server and the search sub\-command allows querying any of the available indexes using SOLR query syntax\. The following data types are indexed for search:
+.
+.IP "\(bu" 4
+\fInode\fR
+.
+.IP "\(bu" 4
+\fIrole\fR
+.
+.IP "\(bu" 4
+\fIenvironment\fR
+.
+.IP "\(bu" 4
+\fIclients\fR
+.
+.IP "\(bu" 4
+\fIdata bag\fR
+.
+.IP "" 0
+.
+.P
+Data bags are indexed by the data bag\'s name\. For example, to search a data bag named "admins":
+.
+.IP "" 4
+.
+.nf
+
+knife search admins "field:search_pattern"
+.
+.fi
+.
+.IP "" 0
+.
+.SH "QUERY SYNTAX"
+Queries have the form \fBfield:search_pattern\fR where \fBfield\fR is a key in the JSON description of the relevant objects (nodes, roles, environments, or data bags)\. Both \fBfield\fR and \fBsearch_pattern\fR are case\-sensitive\. \fBsearch_pattern\fR can be an exact, wildcard, range, or fuzzy match (see below)\. The \fBfield\fR supports exact matching and limited wildcard matching\.
+.
+.P
+Searches will return the relevant objects (nodes, roles, environments, or data bags) where the \fBsearch_pattern\fR matches the object\'s value of \fBfield\fR\.
+.
+.SS "FIELD NAMES"
+Field names are the keys within the JSON description of the object being searched\. Nested Keys can be searched by placing an underscore ("_") between key names\.
+.
+.SS "WILDCARD MATCHING FOR FIELD NAMES"
+The field name also has limited support for wildcard matching\. Both the "*" and "?" wildcards (see below) can be used within a field name; however, they cannot be the first character of the field name\.
+.
+.SS "EXACT MATCHES"
+Without any search modifiers, a search returns those fields for which the \fBsearch_pattern\fR exactly matches the value of \fBfield\fR in the JSON description of the object\.
+.
+.SS "WILDCARD MATCHES"
+Search support both single\- and multi\-character wildcard searches within a search pattern\.
+.
+.P
+\'?\' matches exactly one character\.
+.
+.P
+\'*\' matches zero or more characters\.
+.
+.SS "RANGE MATCHES"
+Range searches allows one to match values between two given values\. To match values between X and Y, inclusively, use square brackets:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field:[X TO Y]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+To match values between X and Y, exclusively, use curly brackets:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field:{X TO Y}\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Values are sorted in lexicographic order\.
+.
+.SS "FUZZY MATCHES"
+Fuzzy searches allows one to match values based on the Levenshtein Distance algorithm\. To perform a fuzzy match, append a tilda (~) to the search term:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field:term~\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This search would return nodes whose \fBfield\fR was \'perm\' or \'germ\'\.
+.
+.SS "BOOLEAN OPERATORS"
+The boolean operators NOT, AND, and OR are supported\. To find values of \fBfield\fR that are not X:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field:(NOT X)\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+To find records where \fBfield1\fR is X and \fBfield2\fR is Y:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field1:X AND field2:Y\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+To find records where \fBfield\fR is X or Y:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field:X OR field:Y\'
+.
+.fi
+.
+.IP "" 0
+.
+.SS "QUOTING AND SPECIAL CHARACTERS"
+In order to avoid having special characters and escape sequences within your search term interpreted by either Ruby or the shell, enclose them in single quotes\.
+.
+.P
+Search terms that include spaces should be enclosed in double\-quotes:
+.
+.IP "" 4
+.
+.nf
+
+knife search INDEX \'field:"term with spaces"\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The following characters must be escaped:
+.
+.IP "" 4
+.
+.nf
+
++ \- && || ! ( ) { } [ ] ^ " ~ * ? : \e
+.
+.fi
+.
+.IP "" 0
+.
+.SH "EXAMPLES"
+Find the nodes with the fully\-qualified domain name (FQDN) www\.example\.com:
+.
+.IP "" 4
+.
+.nf
+
+knife search node \'fqdn:www\.example\.com\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Find the nodes running a version of Ubuntu:
+.
+.IP "" 4
+.
+.nf
+
+knife search node \'platform:ubuntu*\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Find all nodes running CentOS in the production environment:
+.
+.IP "" 4
+.
+.nf
+
+knife search node \'chef_environment:production AND platform:centos\'
+.
+.fi
+.
+.IP "" 0
+.
+.SH "KNOWN BUGS"
+.
+.IP "\(bu" 4
+Searches against the client index return no results in most cases\. (CHEF\-2477)
+.
+.IP "\(bu" 4
+Searches using the fuzzy match operator (~) produce an error\. (CHEF\-2478)
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+\fBknife\-ssh\fR(1) \fIhttp://wiki\.opscode\.com/display/chef/Attributes\fR Lucene Query Parser Syntax \fIhttp://lucene\.apache\.org/java/2_3_2/queryparsersyntax\.html\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-ssh.1 b/distro/common/man/man1/knife-ssh.1
new file mode 100644
index 0000000000..bb2abeb8c2
--- /dev/null
+++ b/distro/common/man/man1/knife-ssh.1
@@ -0,0 +1,79 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-SSH" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-ssh\fR \- Run a command or interactive session on multiple remote hosts
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBssh QUERY COMMAND\fR \fI(options)\fR
+.
+.TP
+\fB\-a\fR, \fB\-\-attribute ATTR\fR
+The attribute to use for opening the connection \- default is fqdn
+.
+.TP
+\fB\-C\fR, \fB\-\-concurrency NUM\fR
+The number of concurrent connections
+.
+.TP
+\fB\-m\fR, \fB\-\-manual\-list\fR
+QUERY is a space separated list of servers
+.
+.TP
+\fB\-P\fR, \fB\-\-ssh\-password PASSWORD\fR
+The ssh password
+.
+.TP
+\fB\-x\fR, \fB\-\-ssh\-user USERNAME\fR
+The ssh username
+.
+.TP
+\fB\-i\fR, \fB\-\-identity\-file IDENTITY_FILE\fR
+The SSH identity file used for authentication
+.
+.TP
+\fB\-p\fR, \fB\-\-ssh\-port PORT\fR
+The ssh port
+.
+.TP
+\fB\-\-[no\-]host\-key\-verify\fR
+Verify host key, enabled by default\.
+.
+.SH "DESCRIPTION"
+The \fIssh\fR sub\-command opens an ssh session to each of the nodes in the search results of the \fIQUERY\fR\. This sub\-command requires that the net\-ssh\-multi and highline Ruby libraries are installed\. On Debian systems, these are the libnet\-ssh\-multi\-ruby and libhighline\-ruby packages\. They can also be installed as RubyGems (net\-ssh\-multi and highline, respectively)\.
+.
+.SH "TERMINAL MULTIPLEXING AND TERMINAL TAB SUPPORT"
+\fBknife ssh\fR integrates with several terminal multiplexer programs to provide a more convenient means of managing multiple ssh sessions\. When the \fICOMMAND\fR option matches one of these, \fBknife ssh\fR will create multiple interactive ssh sessions running locally in the terminal multiplexer instead of invoking the command on the remote host\.
+.
+.P
+The available multiplexers are:
+.
+.TP
+\fBinteractive\fR
+A built\-in multiplexer\. \fBinteractive\fR supports running commands on a subset of the connected hosts in parallel
+.
+.TP
+\fBscreen\fR(1)
+Runs ssh interactively inside \fBscreen\fR\. ~/\.screenrc will be sourced if it exists\.
+.
+.TP
+\fBtmux\fR(1)
+Runs ssh interactively inside tmux\.
+.
+.TP
+\fBmacterm\fR (Mac OS X only)
+Opens a Terminal\.app window and creates a tab for each ssh session\. You must install the rb\-appscript gem before you can use this option\.
+.
+.SH "SEE ALSO"
+\fBknife\-search\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-status.1 b/distro/common/man/man1/knife-status.1
new file mode 100644
index 0000000000..69bf949259
--- /dev/null
+++ b/distro/common/man/man1/knife-status.1
@@ -0,0 +1,29 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-STATUS" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-status\fR \- Display status information for the nodes in your infrastructure
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBstatus\fR \fI(options)\fR
+.
+.TP
+\fB\-r\fR, \fB\-\-run\-list RUN_LIST\fR
+Show the run list
+.
+.SH "DESCRIPTION"
+The \fIstatus\fR sub\-command searches the Chef Server for all nodes and displays information about the last time the node checked into the server and executed a \fBnode\.save\fR\. The fields displayed are the relative checkin time, the node name, it\'s operating system platform and version, the fully\-qualified domain name and the default IP address\. If the \fB\-r\fR option is given, the node\'s run list will also be displayed\. Note that depending on the configuration of the nodes, the FQDN and IP displayed may not be publicly reachable\.
+.
+.SH "SEE ALSO"
+\fBknife\-search\fR(1)
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife-tag.1 b/distro/common/man/man1/knife-tag.1
new file mode 100644
index 0000000000..1846ee0794
--- /dev/null
+++ b/distro/common/man/man1/knife-tag.1
@@ -0,0 +1,43 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE\-TAG" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\-tag\fR \- Apply tags to nodes on a Chef Server
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fBtag\fR \fIsubcommand\fR \fI(options)\fR
+.
+.SH "TAG SUBCOMMANDS"
+The following \fBtag\fR subcommands are available:
+.
+.SH "CREATE"
+\fBknife tag create\fR \fInode\fR \fItag\fR [\fI\.\.\.\fR]
+.
+.P
+Adds one or more tags to \fInode\fR
+.
+.SH "DELETE"
+\fBknife tag delete\fR \fInode\fR \fItag\fR [\fI\.\.\.\fR]
+.
+.P
+Removes one or more tags from \fInode\fR
+.
+.SH "LIST"
+\fBknife tag list\fR \fInode\fR
+.
+.P
+Lists the tags applied to \fInode\fR
+.
+.SH "SEE ALSO"
+\fBknife\-node(1)\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR with many contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Daniel DeLeo \fIdan@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man1/knife.1 b/distro/common/man/man1/knife.1
new file mode 100644
index 0000000000..2c33bd6c2d
--- /dev/null
+++ b/distro/common/man/man1/knife.1
@@ -0,0 +1,288 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "KNIFE" "1" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBknife\fR \- Chef Server API client utility
+.
+.SH "SYNOPSIS"
+\fBknife\fR \fIsub\-command\fR [\fIargument\fR\.\.\.] \fI(options)\fR
+.
+.SH "DESCRIPTION"
+Knife is a command\-line utility used to manage data on a Chef server through the HTTP(S) API\. Knife is organized into groups of subcommands centered around the various object types in Chef\. Each category of subcommand is documented in its own manual page\. Available topics are:
+.
+.IP "\(bu" 4
+bootstrap
+.
+.IP "\(bu" 4
+client
+.
+.IP "\(bu" 4
+configure
+.
+.IP "\(bu" 4
+cookbook\-site
+.
+.IP "\(bu" 4
+cookbook
+.
+.IP "\(bu" 4
+data\-bag
+.
+.IP "\(bu" 4
+environment
+.
+.IP "\(bu" 4
+exec
+.
+.IP "\(bu" 4
+index
+.
+.IP "\(bu" 4
+node
+.
+.IP "\(bu" 4
+recipe
+.
+.IP "\(bu" 4
+role
+.
+.IP "\(bu" 4
+search
+.
+.IP "\(bu" 4
+ssh
+.
+.IP "\(bu" 4
+status
+.
+.IP "\(bu" 4
+tag
+.
+.IP "" 0
+.
+.P
+If the knife manuals are in your \fBMANPATH\fR, you can access help for the above topics using \fBman knife\-TOPIC\fR; otherwise, you can view the documentation using \fBknife help TOPIC\fR\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-s\fR, \fB\-\-server\-url\fR URL
+Chef Server URL, corresponds to \fBChef::Config\fR \fBchef_server_url\fR\.
+.
+.TP
+\fB\-k\fR, \fB\-\-key\fR KEY
+API Client Key, corresponds to \fBChef::Config\fR \fBclient_key\fR\.
+.
+.TP
+\fB\-c\fR, \fB\-\-config\fR CONFIG
+The configuration file to use
+.
+.TP
+\fB\-E\fR, \fB\-\-environment ENVIRONMENT\fR
+Set the Chef environment
+.
+.TP
+\fB\-e\fR, \fB\-\-editor\fR EDITOR
+Set the editor to use for interactive commands
+.
+.TP
+\fB\-F\fR, \fB\-\-format\fR FORMAT
+Which format to use for output\. See FORMATS for details\.
+.
+.TP
+\fB\-d\fR, \fB\-\-disable\-editing\fR
+Do not open EDITOR, just accept the data as is
+.
+.TP
+\fB\-u\fR, \fB\-\-user\fR USER
+API Client Username, corresponds to \fBChef::Config\fR \fBnode_name\fR\.
+.
+.TP
+\fB\-p\fR, \fB\-\-print\-after\fR
+Show the data after a destructive operation
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Show chef version
+.
+.TP
+\fB\-V\fR, \fB\-\-verbose\fR
+More verbose output\. Use twice for max verbosity\.
+.
+.TP
+\fB\-y\fR, \fB\-\-yes\fR
+Say yes to all prompts for confirmation
+.
+.TP
+\fB\-\-defaults\fR
+Accept default values for all questions
+.
+.TP
+\fB\-\-[no\-]color\fR
+Use colored output\. Color enabled by default\.
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show the available options for a command\.
+.
+.SH "SUB\-COMMANDS"
+Sub\-commands that operate on the basic Chef data types are structured as \fINOUN verb NOUN (options)\fR\. For all data types, the following commands are available:
+.
+.IP "\(bu" 4
+create (create)
+.
+.IP "\(bu" 4
+list and show (read)
+.
+.IP "\(bu" 4
+edit (update)
+.
+.IP "\(bu" 4
+delete (destroy)
+.
+.IP "" 0
+.
+.P
+Knife also includes commands that take actions other than displaying or modifying data on the Chef Server, such as \fBknife\-ssh(1)\fR\.
+.
+.SH "CONFIGURATION"
+The knife configuration file is a Ruby DSL to set configuration parameters for Knife\'s \fBGENERAL OPTIONS\fR\. The default location for the config file is \fB~/\.chef/knife\.rb\fR\. If managing multiple Chef repositories, per\-repository config files can be created\. The file must be \fB\.chef/knife\.rb\fR in the current directory of the repository\.
+.
+.P
+If the config file exists, knife uses these settings for \fBGENERAL OPTIONS\fR defaults\.
+.
+.IP "\(bu" 4
+\fBnode_name\fR: User or client identity (i\.e\., \fIname\fR) to use for authenticating requests to the Chef Server\.
+.
+.IP "\(bu" 4
+\fBclient_key\fR: Private key file to authenticate to the Chef server\. Corresponds to the \fB\-k\fR or \fB\-\-key\fR option\.
+.
+.IP "\(bu" 4
+\fBchef_server_url\fR: URL of the Chef server\. Corresponds to the \fB\-s\fR or \fB\-\-server\-url\fR option\. This is requested from the user when running this sub\-command\.
+.
+.IP "\(bu" 4
+\fBcache_type\fR: The type of cache to use\. Default is BasicFile\. This can be any type of Cache that moneta supports: BasicFile, Berkeley, Couch, DataMapper, File, LMC, Memcache, Memory, MongoDB, Redis, Rufus, S3, SDBM, Tyrant, Xattr, YAML\.
+.
+.IP "\(bu" 4
+\fBcache_options\fR: Specifies various options to use for caching\. These options are dependent on the \fBcache_type\fR\.
+.
+.IP "\(bu" 4
+\fBvalidation_client_name\fR: Specifies the name of the client used to validate new clients\.
+.
+.IP "\(bu" 4
+\fBvalidation_key\fR: Specifies the private key file to use when bootstrapping new hosts\. See knife\-client(1) for more information about the validation client\.
+.
+.IP "\(bu" 4
+\fBcookbook_copyright\fR, \fBcookbook_email\fR, \fBcookbook_license\fR, \fBreadme_format\fR Used by \fBknife cookbook create\fR sub\-command to specify the copyright holder, maintainer email, license and readme format (respectively) for new cookbooks\. The copyright holder is listed as the maintainer in the cookbook\'s metadata and as the Copyright in the comments of the default recipe\. The maintainer email is used in the cookbook metadata\. The license determines what preamble to put in the comment of the default recipe, and is listed as the license in the cookbook metadata\. Currently supported licenses are "apachev2" and "none"\. Any other values will result in an empty license in the metadata (needs to be filled in by the author), and no comment preamble in the default recipe\. Currently supported readme formats are "md", "mkd", "txt", and "rdoc"\. Any other value will result in an unformatted README\.
+.
+.IP "" 0
+.
+.SH "FILES"
+\fI~/\.chef/knife\.rb\fR
+.
+.P
+Ruby DSL configuration file for knife\. See \fBCONFIGURATION\fR\.
+.
+.SH "FORMATS"
+The amount of content displayed and the output format are modified by the \fB\-\-format\fR option\. If no alternate format is selected, the default is summary\.
+.
+.P
+Valid formats are:
+.
+.TP
+\fBsummary\fR
+displays the node in a custom, summarized format (default)
+.
+.TP
+\fBtext\fR
+displays the node data in its entirety using the colorized tree display
+.
+.TP
+\fBjson\fR
+displays the node in JSON format
+.
+.TP
+\fByaml\fR
+displays the node in YAML format
+.
+.TP
+\fBpp\fR
+displays the node using Ruby\'s pretty printer\.
+.
+.P
+For brevity, only the first character of the format is required, for example, \-Fj will produce JSON format output\.
+.
+.SH "CHEF WORKFLOW"
+When working with Chef and Knife in the local repository, the recommended workflow outline looks like:
+.
+.IP "\(bu" 4
+Create repository\. A skeleton sample is provided at \fIhttp://github\.com/opscode/chef\-repo/\fR\.
+.
+.IP "\(bu" 4
+Configure knife, see \fBCONFIGURATION\fR\.
+.
+.IP "\(bu" 4
+Download cookbooks from the Opscode cookbooks site, see \fBCOOKBOOK SITE SUB\-COMMANDS\fR\.
+.
+.IP "\(bu" 4
+Or, create new cookbooks, see \fBcookbook create\fR sub\-command\.
+.
+.IP "\(bu" 4
+Commit changes to the version control system\. See your tool\'s documentation\.
+.
+.IP "\(bu" 4
+Upload cookbooks to the Chef Server, see \fBCOOKBOOK SUB\-COMMANDS\fR\.
+.
+.IP "\(bu" 4
+Launch instances in the Cloud, OR provision new hosts; see \fBCLOUD COMPUTING SUB\-COMMANDS\fR and \fBBOOTSTRAP SUB\-COMMANDS\fR\.
+.
+.IP "\(bu" 4
+Watch Chef configure systems!
+.
+.IP "" 0
+.
+.P
+A note about git: Opscode and many folks in the Chef community use git, but it is not required, except in the case of the \fBcookbook site vendor\fR sub\-command, as it uses git directly\. Version control is strongly recommended though, and git fits with a lot of the workflow paradigms\.
+.
+.SH "EXAMPLES"
+.
+.SH "ENVIRONMENT"
+.
+.TP
+\fBEDITOR\fR
+The text editor to use for editing data\. The \-\-editor option takes precedence over this value, and the \-\-disable\-editing option supresses data editing entirely\.
+.
+.SH "SEE ALSO"
+\fBchef\-client(8)\fR \fBchef\-server(8)\fR \fBchef\-shell(1)\fR
+.
+.P
+\fBknife\-bootstrap(1)\fR \fBknife\-client(1)\fR \fBknife\-configure(1)\fR \fBknife\-cookbook\-site(1)\fR \fBknife\-cookbook(1)\fR \fBknife\-data\-bag(1)\fR \fBknife\-environment(1)\fR \fBknife\-exec(1)\fR \fBknife\-index(1)\fR \fBknife\-node(1)\fR \fBknife\-recipe(1)\fR \fBknife\-role(1)\fR \fBknife\-search(1)\fR \fBknife\-ssh(1)\fR \fBknife\-tag(1)\fR
+.
+.P
+Complete Chef documentation is available online: \fIhttp://wiki\.opscode\.com/display/chef/Home/\fR
+.
+.P
+JSON is JavaScript Object Notation \fIhttp://json\.org/\fR
+.
+.P
+SOLR is an open source search engine\. \fIhttp://lucene\.apache\.org/solr/\fR
+.
+.P
+\fBgit(1)\fR is a version control system \fIhttp://git\-scm\.com/\fR
+.
+.P
+This manual page was generated from Markdown with \fBronn(1)\fR \fIhttp://rtomayko\.github\.com/ronn/ronn\.1\.html\fR
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@opscode\.com\fR of Opscode (\fIhttp://www\.opscode\.com\fR), with contributions from the community\.
+.
+.SH "DOCUMENTATION"
+This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR\.
+.
+.SH "LICENSE"
+Both Chef and this documentation are released under the terms of the Apache 2\.0 License\. You may view the license online: \fIhttp://www\.apache\.org/licenses/LICENSE\-2\.0\.html\fR On some systems, the complete text of the Apache 2\.0 License may be found in \fB/usr/share/common\-licenses/Apache\-2\.0\fR\.
+.
+.SH "CHEF"
+Knife is distributed with Chef\. \fIhttp://wiki\.opscode\.com/display/chef/Home\fR
diff --git a/distro/common/man/man8/chef-client.8 b/distro/common/man/man8/chef-client.8
new file mode 100644
index 0000000000..c8ecd58284
--- /dev/null
+++ b/distro/common/man/man8/chef-client.8
@@ -0,0 +1,104 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-CLIENT" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-client\fR \- Runs a client node connecting to a chef\-server\.
+.
+.SH "SYNOPSIS"
+\fBchef\-client\fR \fI(options)\fR
+.
+.TP
+\fB\-S\fR, \fB\-\-server CHEFSERVERURL\fR
+The chef server URL
+.
+.TP
+\fB\-c\fR, \fB\-\-config CONFIG\fR
+The configuration file to use
+.
+.TP
+\fB\-d\fR, \fB\-\-daemonize\fR
+Daemonize the process
+.
+.TP
+\fB\-g\fR, \fB\-\-group GROUP\fR
+Group to set privilege to
+.
+.TP
+\fB\-i\fR, \fB\-\-interval SECONDS\fR
+Run chef\-client periodically, in seconds
+.
+.TP
+\fB\-j\fR, \fB\-\-json\-attributes JSON_ATTRIBS\fR
+Load attributes from a JSON file or URL
+.
+.TP
+\fB\-E\fR, \fB\-\-environment ENVIRONMENT\fR
+Set the Chef Environment on the node
+.
+.TP
+\fB\-l\fR, \fB\-\-log_level LEVEL\fR
+Set the log level (debug, info, warn, error, fatal)
+.
+.TP
+\fB\-L\fR, \fB\-\-logfile LOGLOCATION\fR
+Set the log file location, defaults to STDOUT \- recommended for daemonizing
+.
+.TP
+\fB\-N\fR, \fB\-\-node\-name NODE_NAME\fR
+The node name for this client
+.
+.TP
+\fB\-o\fR, \fB\-\-override\-runlist\fR
+Replace current run list with specified items
+.
+.TP
+\fB\-K\fR, \fB\-\-validation_key KEY_FILE\fR
+Set the validation key file location, used for registering new clients
+.
+.TP
+\fB\-k\fR, \fB\-\-client_key KEY_FILE\fR
+Set the client key file location
+.
+.TP
+\fB\-s\fR, \fB\-\-splay SECONDS\fR
+The splay time for running at intervals, in seconds
+.
+.TP
+\fB\-u\fR, \fB\-\-user USER\fR
+User to set privilege to
+.
+.TP
+\fB\-P\fR, \fB\-\-pid PIDFILE\fR
+Set the PID file location, defaults to /tmp/chef\-client\.pid
+.
+.TP
+\fB\-\-once\fR
+Cancel any interval or splay options, run chef once and exit
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Show chef version
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show this message
+.
+.SH "DESCRIPTION"
+The Chef Client is where almost all of the work in Chef is done\. It communicates with the Chef Server via REST, authenticates via Signed Header Authentication, and compiles and executes Cookbooks\.
+.
+.P
+A Chef Client does work on behalf of a Node\. A single Chef Client can run recipes for multiple Nodes\.
+.
+.P
+Clients are where all the action happens \- the Chef Server and Chef Expander are largely services that exist only to provide the Client with information\.
+.
+.SH "SEE ALSO"
+Full documentation for Chef and chef\-client is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR with help2man\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/man/man8/chef-expander.8 b/distro/common/man/man8/chef-expander.8
new file mode 100644
index 0000000000..31d8f36b51
--- /dev/null
+++ b/distro/common/man/man8/chef-expander.8
@@ -0,0 +1,97 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-EXPANDER" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-expander\fR \- fetches messages from RabbitMQ, processes, and loads into chef\-solr
+.
+.SH "SYNOPSIS"
+\fBchef\-expander\fR \fI(options)\fR
+.
+.TP
+\fB\-c\fR, \fB\-\-config CONFIG_FILE\fR
+a configuration file to use
+.
+.TP
+\fB\-i\fR, \fB\-\-index INDEX\fR
+the slot this node will occupy in the ring
+.
+.TP
+\fB\-n\fR, \fB\-\-node\-count NUMBER\fR
+the number of nodes in the ring
+.
+.TP
+\fB\-l\fR, \fB\-\-log\-level LOG_LEVEL\fR
+set the log level
+.
+.TP
+\fB\-L\fR, \fB\-\-logfile LOG_LOCATION\fR
+Logfile to use
+.
+.TP
+\fB\-d\fR, \fB\-\-daemonize\fR
+fork into the background
+.
+.TP
+\fB\-P\fR, \fB\-\-pid PIDFILE\fR
+PID file
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+show help message
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+show the version and exit
+.
+.SH "DESCRIPTION"
+Chef Expander fetches messages from RabbitMQ, processes them into the correct format to be loaded into Solr and loads them into Solr\.
+.
+.P
+\fBRunning Chef Expander\fR
+.
+.P
+Chef Expander is designed for clustered operation, though small installations will only need one worker process\. To run Chef Expander with one worker process, run chef\-expander \-n 1\. You will then have a master and worker process, which looks like this in ps:
+.
+.IP "" 4
+.
+.nf
+
+your\-shell> ps aux|grep expander
+you 52110 0\.1 0\.7 2515476 62748 s003 S+ 3:49PM 0:00\.80 chef\-expander worker #1 (vnodes 0\-1023)
+you 52108 0\.1 0\.5 2492880 41696 s003 S+ 3:49PM 0:00\.91 ruby bin/chef\-expander \-n 1
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Workers are single threaded and therefore cannot use more than 100% of a single CPU\. If you find that your queues are getting backlogged, increase the number of workers
+.
+.P
+\fBDesign\fR
+.
+.P
+Chef Expander uses 1024 queues (called vnodes in some places) to allow you to scale the number of Chef Expander workers to meet the needs of your infrastructure\. When objects are saved in the API server, they are added to queues based on their database IDs\. These queues can be assigned to different Chef Expander workers to distribute the load of processing the index updates\.
+.
+.P
+\fBChef Expander Operation and Troubleshooting\fR
+.
+.P
+Chef Expander includes chef\-expanderctl, a management program that allows you to get status information or change the logging verbosity (without restarting)\.
+.
+.P
+See \fBchef\-expanderctl\fR(8) for details\.
+.
+.SH "SEE ALSO"
+\fBchef\-expanderctl\fR(8) \fBchef\-solr\fR(8)
+.
+.P
+Full documentation for Chef and chef\-server is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was created by Nuo Yan \fInuo@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/man/man8/chef-expanderctl.8 b/distro/common/man/man8/chef-expanderctl.8
new file mode 100644
index 0000000000..d210ddaa9f
--- /dev/null
+++ b/distro/common/man/man8/chef-expanderctl.8
@@ -0,0 +1,62 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-EXPANDERCTL" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-expanderctl\fR \- management program for chef\-expander
+.
+.SH "SYNOPSIS"
+\fBchef\-expanderctl\fR \fICOMMAND\fR
+.
+.P
+\fBCommands:\fR
+.
+.TP
+\fBhelp\fR
+Show help message
+.
+.TP
+\fBqueue\-depth\fR
+display the aggregate queue backlog
+.
+.TP
+\fBqueue\-status\fR
+show the backlog and consumer count for each vnode queue
+.
+.TP
+\fBnode\-status\fR
+show the status of the nodes in the cluster
+.
+.TP
+\fBlog\-level\fR
+sets the log level of all nodes in the cluster
+.
+.SH "DESCRIPTION"
+Chef\-expanderctl is a management program that allows you to get status information or change the logging verbosity (without restarting)\. chef\-expanderctl has the following commands:
+.
+.IP "\(bu" 4
+\fBchef\-expanderctl help\fR prints usage\.
+.
+.IP "\(bu" 4
+\fBchef\-expanderctl queue\-depth\fR Shows the total number of messages in the queues\.
+.
+.IP "\(bu" 4
+\fBchef\-expanderctl queue\-status\fR Show the number of messages in each queue\. This is mainly of use when debugging a Chef Expander cluster\.
+.
+.IP "\(bu" 4
+\fBchef\-expanderctl log\-level LEVEL\fR Sets the log level on a running Chef Expander or cluster\. If you suspect that a worker process is stuck, as long as you are using clustered operation, you can simply kill the worker process and it will be restarted by the master process\.
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+\fBchef\-expander\-cluster\fR(8) \fBchef\-solr\fR(8)
+.
+.P
+Full documentation for Chef and chef\-server is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was created by Nuo Yan \fInuo@opscode\.com\fR\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/man/man8/chef-server-webui.8 b/distro/common/man/man8/chef-server-webui.8
new file mode 100644
index 0000000000..c5c22c3110
--- /dev/null
+++ b/distro/common/man/man8/chef-server-webui.8
@@ -0,0 +1,155 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-SERVER\-WEBUI" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-server\-webui\fR \- Start the Chef Server merb application slice providing Web User Interface (Management Console)\.
+.
+.SH "SYNOPSIS"
+\fBchef\-server\-webui\fR \fI(options)\fR
+.
+.TP
+\fB\-u\fR, \fB\-\-user USER\fR
+This flag is for having chef\-server\-webui run as a user other than the one currently logged in\. Note: if you set this you must also provide a \-\-group option for it to take effect\.
+.
+.TP
+\fB\-G\fR, \fB\-\-group GROUP\fR
+This flag is for having chef\-server\-webui run as a group other than the one currently logged in\. Note: if you set this you must also provide a \-\-user option for it to take effect\.
+.
+.TP
+\fB\-d\fR, \fB\-\-daemonize\fR
+This will run a single chef\-server\-webui in the background\.
+.
+.TP
+\fB\-N\fR, \fB\-\-no\-daemonize\fR
+This will allow you to run a cluster in console mode\.
+.
+.TP
+\fB\-c\fR, \fB\-\-cluster\-nodes NUM_MERBS\fR
+Number of merb daemons to run for chef\-server\-webui\.
+.
+.TP
+\fB\-I\fR, \fB\-\-init\-file FILE\fR
+File to use for initialization on load, defaults to config/init\.rb\.
+.
+.TP
+\fB\-p\fR, \fB\-\-port PORTNUM\fR
+Port to run chef\-server\-webui on, defaults to 4040\. Additional nodes (\-c) listen on incrementing port numbers\.
+.
+.TP
+\fB\-o\fR, \fB\-\-socket\-file FILE\fR
+Socket file to run chef\-server\-webui on, defaults to [Merb\.root]/log/merb\.sock\. This is for web servers, like thin, that use sockets\. Specify this \fIonly\fR if you \fImust\fR\.
+.
+.TP
+\fB\-s\fR, \fB\-\-socket SOCKNUM\fR
+Socket number to run chef\-server\-webui on, defaults to 0\.
+.
+.TP
+\fB\-n\fR, \fB\-\-name NAME\fR
+Set the name of the application\. This is used in the process title and log file names\.
+.
+.TP
+\fB\-P\fR, \fB\-\-pid PIDFILE\fR
+PID file, defaults to [Merb\.root]/log/merb\.main\.pid for the master process and[Merb\.root]/log/merb\.[port number]\.pid for worker processes\. For clusters, use %s to specify where in the file chef\-server\-webui should place the port number\. For instance: \-P myapp\.%s\.pid\.
+.
+.TP
+\fB\-h\fR, \fB\-\-host HOSTNAME\fR
+Host to bind to (default is 0\.0\.0\.0)\.
+.
+.TP
+\fB\-m\fR, \fB\-\-merb\-root PATH_TO_APP_ROOT\fR
+The path to the Merb\.root for the app you want to run (default is current working directory)\.
+.
+.TP
+\fB\-a\fR, \fB\-\-adapter ADAPTER\fR
+The rack adapter to use to run chef\-server\-webui (default is mongrel) [mongrel, emongrel, thin, ebb, fastcgi, webrick]\.
+.
+.TP
+\fB\-R\fR, \fB\-\-rackup FILE\fR
+Load an alternate Rack config file (default is config/rack\.rb)\.
+.
+.TP
+\fB\-i\fR, \fB\-\-irb\-console\fR
+This flag will start chef\-server\-webui in irb console mode\. All your models and other classes will be available for you in an irb session\.
+.
+.TP
+\fB\-S\fR, \fB\-\-sandbox\fR
+This flag will enable a sandboxed irb console\. If your ORM supports transactions, all edits will be rolled back on exit\.
+.
+.TP
+\fB\-l\fR, \fB\-\-log\-level LEVEL\fR
+Log levels can be set to any of these options: debug < info < warn < error < fatal (default is info)\.
+.
+.TP
+\fB\-L\fR, \fB\-\-log LOGFILE\fR
+A string representing the logfile to use\. Defaults to [Merb\.root]/log/merb\.[main]\.log for the master process and [Merb\.root]/log/merb[port number]\.logfor worker processes\.
+.
+.TP
+\fB\-e\fR, \fB\-\-environment STRING\fR
+Environment to run Merb under [development, production, testing] (default is development)\.
+.
+.TP
+\fB\-r\fR, \fB\-\-script\-runner [\'RUBY CODE\'| FULL_SCRIPT_PATH]\fR
+Command\-line option to run scripts and/or code in the chef\-server\-webui app\.
+.
+.TP
+\fB\-K\fR, \fB\-graceful PORT or all\fR
+Gracefully kill chef\-server\-webui proceses by port number\. Use chef\-server \-K all to gracefully kill all merbs\.
+.
+.TP
+\fB\-k\fR, \fB\-\-kill PORT\fR
+Force kill one merb worker by port number\. This will cause the worker to be respawned\.
+.
+.TP
+\fB\-\-fast\-deploy\fR
+Reload the code, but not yourinit\.rb or gems\.
+.
+.TP
+\fB\-X\fR, \fB\-\-mutex on/off\fR
+This flag is for turning the mutex lock on and off\.
+.
+.TP
+\fB\-D\fR, \fB\-\-debugger\fR
+Run chef\-server\-webui using rDebug\.
+.
+.TP
+\fB\-V\fR, \fB\-\-verbose\fR
+Print extra information\.
+.
+.TP
+\fB\-C\fR, \fB\-\-console\-trap\fR
+Enter an irb console on ^C\.
+.
+.TP
+\fB\-?\fR, \fB\-H\fR, \fB\-\-help\fR
+Show this help message\.
+.
+.SH "DESCRIPTION"
+The Chef Server WebUI (Management Console) is a Merb application slice\. The default listen port is 4040\.
+.
+.P
+The Management Console is Chef Server\'s web interface\. Nodes, roles, cookbooks, data bags, and API clients can be managed through the Management Console\. Search can also be done on the console\.
+.
+.P
+In order to start using the Management Console, you need to first create a user or change the default password on the "admin" user\.
+.
+.P
+The default credentials are:
+.
+.IP "\(bu" 4
+\fBUsername\fR: admin
+.
+.IP "\(bu" 4
+\fBPassword\fR: p@ssw0rd1
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+Full documentation for Chef and chef\-server\-webui (Management Console) is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR with help2man for the Debian project (but may be used by others)\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/man/man8/chef-server.8 b/distro/common/man/man8/chef-server.8
new file mode 100644
index 0000000000..5928f7b7a1
--- /dev/null
+++ b/distro/common/man/man8/chef-server.8
@@ -0,0 +1,147 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-SERVER" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-server\fR \- Start the Chef Server merb application slice\.
+.
+.SH "SYNOPSIS"
+\fBchef\-server\fR \fI(options)\fR
+.
+.TP
+\fB\-u\fR, \fB\-\-user USER\fR
+This flag is for having chef\-server\-webui run as a user other than the one currently logged in\. Note: if you set this you must also provide a \-\-group option for it to take effect\.
+.
+.TP
+\fB\-G\fR, \fB\-\-group GROUP\fR
+This flag is for having chef\-server\-webui run as a group other than the one currently logged in\. Note: if you set this you must also provide a \-\-user option for it to take effect\.
+.
+.TP
+\fB\-d\fR, \fB\-\-daemonize\fR
+This will run a single chef\-server\-webui in the background\.
+.
+.TP
+\fB\-N\fR, \fB\-\-no\-daemonize\fR
+This will allow you to run a cluster in console mode\.
+.
+.TP
+\fB\-c\fR, \fB\-\-cluster\-nodes NUM_MERBS\fR
+Number of merb daemons to run for chef\-server\-webui\.
+.
+.TP
+\fB\-I\fR, \fB\-\-init\-file FILE\fR
+File to use for initialization on load, defaults to config/init\.rb\.
+.
+.TP
+\fB\-p\fR, \fB\-\-port PORTNUM\fR
+Port to run chef\-server\-webui on, defaults to 4040\. Additional nodes (\-c) listen on incrementing port numbers\.
+.
+.TP
+\fB\-o\fR, \fB\-\-socket\-file FILE\fR
+Socket file to run chef\-server\-webui on, defaults to [Merb\.root]/log/merb\.sock\. This is for web servers, like thin, that use sockets\. Specify this \fIonly\fR if you \fImust\fR\.
+.
+.TP
+\fB\-s\fR, \fB\-\-socket SOCKNUM\fR
+Socket number to run chef\-server\-webui on, defaults to 0\.
+.
+.TP
+\fB\-n\fR, \fB\-\-name NAME\fR
+Set the name of the application\. This is used in the process title and log file names\.
+.
+.TP
+\fB\-P\fR, \fB\-\-pid PIDFILE\fR
+PID file, defaults to [Merb\.root]/log/merb\.main\.pid for the master process and[Merb\.root]/log/merb\.[port number]\.pid for worker processes\. For clusters, use %s to specify where in the file chef\-server\-webui should place the port number\. For instance: \-P myapp\.%s\.pid\.
+.
+.TP
+\fB\-h\fR, \fB\-\-host HOSTNAME\fR
+Host to bind to (default is 0\.0\.0\.0)\.
+.
+.TP
+\fB\-m\fR, \fB\-\-merb\-root PATH_TO_APP_ROOT\fR
+The path to the Merb\.root for the app you want to run (default is current working directory)\.
+.
+.TP
+\fB\-a\fR, \fB\-\-adapter ADAPTER\fR
+The rack adapter to use to run chef\-server\-webui (default is mongrel) [mongrel, emongrel, thin, ebb, fastcgi, webrick]\.
+.
+.TP
+\fB\-R\fR, \fB\-\-rackup FILE\fR
+Load an alternate Rack config file (default is config/rack\.rb)\.
+.
+.TP
+\fB\-i\fR, \fB\-\-irb\-console\fR
+This flag will start chef\-server\-webui in irb console mode\. All your models and other classes will be available for you in an irb session\.
+.
+.TP
+\fB\-S\fR, \fB\-\-sandbox\fR
+This flag will enable a sandboxed irb console\. If your ORM supports transactions, all edits will be rolled back on exit\.
+.
+.TP
+\fB\-l\fR, \fB\-\-log\-level LEVEL\fR
+Log levels can be set to any of these options: debug < info < warn < error < fatal (default is info)\.
+.
+.TP
+\fB\-L\fR, \fB\-\-log LOGFILE\fR
+A string representing the logfile to use\. Defaults to [Merb\.root]/log/merb\.[main]\.log for the master process and [Merb\.root]/log/merb[port number]\.logfor worker processes\.
+.
+.TP
+\fB\-e\fR, \fB\-\-environment STRING\fR
+Environment to run Merb under [development, production, testing] (default is development)\.
+.
+.TP
+\fB\-r\fR, \fB\-\-script\-runner [\'RUBY CODE\'| FULL_SCRIPT_PATH]\fR
+Command\-line option to run scripts and/or code in the chef\-server\-webui app\.
+.
+.TP
+\fB\-K\fR, \fB\-graceful PORT or all\fR
+Gracefully kill chef\-server\-webui proceses by port number\. Use chef\-server \-K all to gracefully kill all merbs\.
+.
+.TP
+\fB\-k\fR, \fB\-\-kill PORT\fR
+Force kill one merb worker by port number\. This will cause the worker to be respawned\.
+.
+.TP
+\fB\-\-fast\-deploy\fR
+Reload the code, but not yourinit\.rb or gems\.
+.
+.TP
+\fB\-X\fR, \fB\-\-mutex on/off\fR
+This flag is for turning the mutex lock on and off\.
+.
+.TP
+\fB\-D\fR, \fB\-\-debugger\fR
+Run chef\-server\-webui using rDebug\.
+.
+.TP
+\fB\-V\fR, \fB\-\-verbose\fR
+Print extra information\.
+.
+.TP
+\fB\-C\fR, \fB\-\-console\-trap\fR
+Enter an irb console on ^C\.
+.
+.TP
+\fB\-?\fR, \fB\-H\fR, \fB\-\-help\fR
+Show this help message\.
+.
+.SH "DESCRIPTION"
+The Chef Server provides a central point for the distribution of Cookbooks, management and authentication of Nodes, and the use of Search\. It provides a REST API\.
+.
+.P
+The API service is what clients use to interact with the server to manage node configuration in Chef\. By default, the service is started on port 4000 as a Merb application slice running with the thin server adapter\.
+.
+.P
+The two methods of interaction with the API for humans are the command\-line tool Knife and the Management Console\. The Chef Client library is used for interacting with the API for client nodes\.
+.
+.SH "SEE ALSO"
+\fBchef\-client\fR(8) \fBchef\-server\-webui\fR(8) \fBknife\fR(1)
+.
+.P
+Full documentation for Chef and chef\-server is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR with help2man\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/man/man8/chef-solo.8 b/distro/common/man/man8/chef-solo.8
new file mode 100644
index 0000000000..332fb1a4f0
--- /dev/null
+++ b/distro/common/man/man8/chef-solo.8
@@ -0,0 +1,158 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-SOLO" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-solo\fR \- Runs chef in solo mode against a specified cookbook location\.
+.
+.SH "SYNOPSIS"
+\fBchef\-solo\fR \fI(options)\fR
+.
+.TP
+\fB\-c\fR, \fB\-\-config CONFIG\fR
+The configuration file to use
+.
+.TP
+\fB\-d\fR, \fB\-\-daemonize\fR
+Daemonize the process
+.
+.TP
+\fB\-g\fR, \fB\-\-group GROUP\fR
+Group to set privilege to
+.
+.TP
+\fB\-i\fR, \fB\-\-interval SECONDS\fR
+Run chef\-client periodically, in seconds
+.
+.TP
+\fB\-j\fR, \fB\-\-json\-attributes JSON_ATTRIBS\fR
+Load attributes from a JSON file or URL
+.
+.TP
+\fB\-l\fR, \fB\-\-log_level LEVEL\fR
+Set the log level (debug, info, warn, error, fatal)
+.
+.TP
+\fB\-L\fR, \fB\-\-logfile LOGLOCATION\fR
+Set the log file location, defaults to STDOUT \- recommended for daemonizing
+.
+.TP
+\fB\-N\fR, \fB\-\-node\-name NODE_NAME\fR
+The node name for this client
+.
+.TP
+\fB\-r\fR, \fB\-\-recipe\-url RECIPE_URL\fR
+Pull down a remote gzipped tarball of recipes and untar it to the cookbook cache\.
+.
+.TP
+\fB\-s\fR, \fB\-\-splay SECONDS\fR
+The splay time for running at intervals, in seconds
+.
+.TP
+\fB\-u\fR, \fB\-\-user USER\fR
+User to set privilege to
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Show chef version
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show this message
+.
+.SH "DESCRIPTION"
+Chef Solo allows you to run Chef Cookbooks in the absence of a Chef Server\. To do this, the complete cookbook needs to be present on disk\.
+.
+.P
+By default Chef Solo will look in /etc/chef/solo\.rb for its configuration\. This configuration file has two required variables: file_cache_path and cookbook_path\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+
+file_cache_path "/var/chef\-solo"
+cookbook_path "/var/chef\-solo/cookbooks"
+.
+.fi
+.
+.IP "" 0
+.
+.P
+For your own systems, you can change this to reflect any directory you like, but you\'ll need to specify absolute paths and the cookbook_path directory should be a subdirectory of the file_cache_path\.
+.
+.P
+You can also specify cookbook_path as an array, passing multiple locations to search for cookbooks\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+
+file_cache_path "/var/chef\-solo"
+cookbook_path ["/var/chef\-solo/cookbooks", "/var/chef\-solo/site\-cookbooks"]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Note that earlier entries are now overridden by later ones\.
+.
+.P
+Since chef\-solo doesn\'t have any interaction with a Chef Server, you\'ll need to specify node\-specifc attributes in a JSON file\. This can be located on the target system itself, or it can be stored on a remote server such as S3, or a web server on your network\.
+.
+.P
+Within the JSON file, you\'ll also specify the recipes that Chef should run in the "run_list"\. An example JSON file, which sets a resolv\.conf:
+.
+.IP "" 4
+.
+.nf
+
+{
+ "resolver": {
+ "nameservers": [ "10\.0\.0\.1" ],
+ "search":"int\.example\.com"
+ },
+ "run_list": [ "recipe[resolver]" ]
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Then you can run chef\-solo with \-j to specify the JSON file\. It will look for cookbooks in the cookbook_path configured in the configuration file, and apply attributes and use the run_list from the JSON file specified\.
+.
+.P
+You can use \-c to specify the path to the configuration file (if you don\'t want chef\-solo to use the default)\. You can also specify \-r for a cookbook tarball\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+
+chef\-solo \-c ~/solo\.rb \-j ~/node\.json \-r http://www\.example\.com/chef\-solo\.tar\.gz
+.
+.fi
+.
+.IP "" 0
+.
+.P
+In the above case, chef\-solo would extract the tarball to your specified cookbook_path, use ~/solo\.rb as the configuration file, and apply attributes and use the run_list from ~/node\.json\.
+.
+.SH "SEE ALSO"
+Full documentation for Chef and chef\-solo is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR with help2man\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/man/man8/chef-solr.8 b/distro/common/man/man8/chef-solr.8
new file mode 100644
index 0000000000..7f3a68f138
--- /dev/null
+++ b/distro/common/man/man8/chef-solr.8
@@ -0,0 +1,122 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "CHEF\-SOLR" "8" "September 2012" "Chef 11.0.0.alpha" "Chef Manual"
+.
+.SH "NAME"
+\fBchef\-solr\fR \- Runs as Chef\'s search server
+.
+.SH "SYNOPSIS"
+\fBchef\-solr\fR \fI(options)\fR
+.
+.TP
+\fB\-c\fR, \fB\-\-config CONFIG\fR
+The configuration file to use
+.
+.TP
+\fB\-d\fR, \fB\-\-daemonize\fR
+Daemonize the process
+.
+.TP
+\fB\-g\fR, \fB\-\-group GROUP\fR
+Group to set privilege to
+.
+.TP
+\fB\-l\fR, \fB\-\-log_level LEVEL\fR
+Set the log level (debug, info, warn, error, fatal)
+.
+.TP
+\fB\-L\fR, \fB\-\-logfile LOGLOCATION\fR
+Set the log file location, defaults to STDOUT \- recommended for daemonizing
+.
+.TP
+\fB\-P\fR, \fB\-\-pid PIDFILE\fR
+Set the PID file location, defaults to /tmp/chef\-solr\.pid
+.
+.TP
+\fB\-D\fR, \fB\-\-solr\-data\-dir PATH\fR
+Where the Solr data lives
+.
+.TP
+\fB\-x\fR, \fB\-\-solor\-heap\-size SIZE\fR
+Set the size of the Java Heap
+.
+.TP
+\fB\-H\fR, \fB\-\-solr\-home\-dir PATH\fR
+Solr home directory
+.
+.TP
+\fB\-j\fR, \fB\-\-java\-opts OPTS\fR
+Raw options passed to Java
+.
+.TP
+\fB\-x\fR, \fB\-\-solor\-heap\-size\fR
+Set the size of the Java Heap
+.
+.TP
+\fB\-W\fR, \fB\-\-solr\-jetty\-dir PATH\fR
+Where to place the Solr Jetty instance
+.
+.TP
+\fB\-u\fR, \fB\-\-user USER\fR
+User to set privilege to
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Show chef\-solr version
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show this message
+.
+.SH "DESCRIPTION"
+Chef\-solr provides search service for Chef\. You need to have both chef\-solr and chef\-expander\-cluster running in order for search to work\.
+.
+.P
+\fBInstallation\fR
+.
+.P
+Make sure you backed up your data if you are upgrading from a previous version\. Run chef\-solr\-installer to upgrade your Chef Solr installation\. Answer "yes" when prompted for confirmation\. The process should look like this:
+.
+.IP "" 4
+.
+.nf
+
+yourshell> chef\-solr\-installer
+Configuration setting solr_heap_size is unknown and will be ignored
+
+Chef Solr is already installed in /var/chef/solr
+Do you want to overwrite the current install? All existing Solr data will be lost\. [y/n] y
+Removing the existing Chef Solr installation
+ rm \-rf /var/chef/solr
+ rm \-rf /var/chef/solr\-jetty
+ rm \-rf /var/chef/solr/data
+Creating Solr Home Directory
+ mkdir \-p /var/chef/solr
+ entering /var/chef/solr
+ tar zxvf /Users/ddeleo/opscode/chef/chef\-solr/solr/solr\-home\.tar\.gz
+Creating Solr Data Directory
+ mkdir \-p /var/chef/solr/data
+Unpacking Solr Jetty
+ mkdir \-p /var/chef/solr\-jetty
+ entering /var/chef/solr\-jetty
+ tar zxvf /Users/ddeleo/opscode/chef/chef\-solr/solr/solr\-jetty\.tar\.gz
+
+Successfully installed Chef Solr\.
+You can restore your search index using `knife index rebuild`
+.
+.fi
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+\fBchef\-expander\-cluster\fR(8)
+.
+.P
+Full documentation for Chef and chef\-server is located on the Chef wiki, http://wiki\.opscode\.com/display/chef/Home\.
+.
+.SH "AUTHOR"
+Chef was written by Adam Jacob \fIadam@ospcode\.com\fR of Opscode (http://www\.opscode\.com), with contributions from the community\. This manual page was written by Joshua Timberman \fIjoshua@opscode\.com\fR with help2man\. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2\.0 License\.
+.
+.P
+On Debian systems, the complete text of the Apache 2\.0 License can be found in /usr/share/common\-licenses/Apache\-2\.0\.
diff --git a/distro/common/markdown/README b/distro/common/markdown/README
new file mode 100644
index 0000000000..0f35814baf
--- /dev/null
+++ b/distro/common/markdown/README
@@ -0,0 +1,3 @@
+This directory contains markdown documentation that is used in other places.
+For example, markdown (.mkd) documents that are generated as man pages
+with ronn.
diff --git a/distro/common/markdown/man1/chef-shell.mkd b/distro/common/markdown/man1/chef-shell.mkd
new file mode 100644
index 0000000000..5525ef8ea9
--- /dev/null
+++ b/distro/common/markdown/man1/chef-shell.mkd
@@ -0,0 +1,195 @@
+chef-shell(1) -- Interactive Chef Console
+=========================================
+
+## SYNOPSIS
+
+__chef-shell__ [_named configuration_] _(options)_
+
+ * `-S`, `--server CHEF_SERVER_URL`:
+ The chef server URL
+ * `-z`, `--client`:
+ chef-client mode
+ * `-c`, `--config CONFIG`:
+ The configuration file to use
+ * `-j`, `--json-attributes JSON_ATTRIBS`:
+ Load attributes from a JSON file or URL
+ * `-l`, `--log-level LOG_LEVEL`:
+ Set the logging level
+ * `-s`, `--solo`:
+ chef-solo session
+ * `-a`, `--standalone`:
+ standalone session
+ * `-v`, `--version`:
+ Show chef version
+ * `-h`, `--help`:
+ Show command options
+
+When no --config option is specified, chef-shell attempts to load a
+default configuration file:
+
+* If a _named configuration_ is given, chef-shell will load ~/.chef/_named
+ configuration_/chef_shell.rb
+* If no _named configuration_ is given chef-shell will load
+ ~/.chef/chef_shell.rb if it exists
+* chef-shell falls back to loading /etc/chef/client.rb or
+/etc/chef/solo.rb if -z or -s options are given and no chef_shell.rb
+can be found.
+* The --config option takes precedence over implicit configuration
+ paths.
+
+## DESCRIPTION
+
+`chef-shell` is an irb(1) (interactive ruby) session customized for Chef.
+`chef-shell` serves two primary functions: it provides a means to
+interact with a Chef Server interactively using a convenient DSL; it
+allows you to define and run Chef recipes interactively.
+
+## SYNTAX
+
+chef-shell uses irb's subsession feature to provide multiple modes of
+interaction. In addition to the primary mode which is entered on start,
+`recipe` and `attributes` modes are available.
+
+## PRIMARY MODE
+The following commands are available in the primary
+session:
+
+ * `help`:
+ Prints a list of available commands
+ * `version`:
+ Prints the Chef version
+ * `recipe`:
+ Switches to `recipe` mode
+ * `attributes`:
+ Switches to `attributes` mode
+ * `run_chef`:
+ Initiates a chef run
+ * `reset`:
+ reinitializes chef-shell session
+ * `echo :on|:off`:
+ Turns irb's echo function on or off. Echo is _on_ by default.
+ * `tracing :on|:off`:
+ Turns irb's function tracing feature on or off. Tracing is extremely
+ verbose and expected to be of interest primarily to developers.
+ * `node`:
+ Returns the _node_ object for the current host. See knife-node(1)
+ for more information about nodes.
+ * `ohai`:
+ Prints the attributes of _node_
+
+In addition to these commands, chef-shell provides a DSL for accessing
+data on the Chef Server. When working with remote data in chef-shell, you
+chain method calls in the form _object type_._operation_, where
+_object type_ is in plural form. The following object types are
+available:
+
+ * `nodes`
+ * `roles`
+ * `data_bags`
+ * `clients`
+ * `cookbooks`
+
+For each _object type_ the following operations are available:
+
+ * _object type_.all(_&block_):
+ Loads all items from the server. If the optional code _block_ is
+ given, each item will be passed to the block and the results
+ returned, similar to ruby's `Enumerable#map` method.
+ * _object type_.show(_object name_):
+ Aliased as _object type_.load
+
+ Loads the singular item identified by _object name_.
+ * _object type_.search(_query_, _&block_):
+ Aliased as _object type_.find
+
+ Runs a search against the server and returns the matching items. If
+ the optional code _block_ is given each item will be passed to the
+ block and the results returned.
+
+ The _query_ may be a Solr/Lucene format query given as a String, or
+ a Hash of conditions. If a Hash is given, the options will be ANDed
+ together. To join conditions with OR, use negative queries, or any
+ advanced search syntax, you must provide give the query in String
+ form.
+ * _object type_.transform(:all|_query_, _&block_):
+ Aliased as _object type_.bulk_edit
+
+ Bulk edit objects by processing them with the (required) code _block_.
+ You can edit all objects of the given type by passing the Symbol
+ `:all` as the argument, or only a subset by passing a _query_ as the
+ argument. The _query_ is evaluated in the same way as with
+ __search__.
+
+ The return value of the code _block_ is used to alter the behavior
+ of `transform`. If the value returned from the block is `nil` or
+ `false`, the object will not be saved. Otherwise, the object is
+ saved after being passed to the block. This behavior can be
+ exploited to create a dry run to test a data transformation.
+
+## RECIPE MODE
+Recipe mode implements Chef's recipe DSL. Exhaustively documenting this
+DSL is outside the scope of this document. See the following pages in
+the Chef documentation for more information:
+
+ * <http://wiki.opscode.com/display/chef/Resources>
+ * <http://wiki.opscode.com/display/chef/Recipes>
+
+Once you have defined resources in the recipe, you can trigger a
+convergence run via `run_chef`
+
+## EXAMPLES
+
+* A "Hello World" interactive recipe
+
+ chef > recipe
+ chef:recipe > echo :off
+ chef:recipe > file "/tmp/hello\_world"
+ chef:recipe > run\_chef
+ [Sat, 09 Apr 2011 08:56:56 -0700] INFO: Processing file[/tmp/hello\_world] action create ((irb#1) line 2)
+ [Sat, 09 Apr 2011 08:56:56 -0700] INFO: file[/tmp/hello\_world] created file /tmp/hello\_world
+ chef:recipe > pp ls '/tmp'
+ [".",
+ "..",
+ "hello\_world"]
+
+* Search for _nodes_ by role, and print their IP addresses
+
+ chef > nodes.find(:roles => 'monitoring-server') {|n| n[:ipaddress] }
+ => ["10.254.199.5"]
+
+* Remove the role _obsolete_ from every node in the system
+
+ chef > nodes.transform(:all) {|n| n.run\_list.delete('role[obsolete]') }
+ => [node[chef098b2.opschef.com], node[ree-woot], node[graphite-dev], node[fluke.localdomain], node[ghost.local], node[kallistec]]
+
+
+## BUGS
+
+`chef-shell` often does not perfectly replicate the context in which
+chef-client(8) configures a host, which may lead to discrepancies in
+observed behavior.
+
+`chef-shell` has to duplicate much code from chef-client's internal
+libraries and may become out of sync with the behavior of those
+libraries.
+
+## SEE ALSO
+
+ chef-client(8) knife(1)
+ <http://wiki.opscode.com/display/chef/Chef+Shell>
+
+## AUTHOR
+
+ Chef was written by Adam Jacob <adam@opscode.com> with many
+ contributions from the community. chef-shell was written by Daniel
+ DeLeo.
+
+## DOCUMENTATION
+
+ This manual page was written by Daniel DeLeo <dan@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this
+ document under the terms of the Apache 2.0 License.
+
+## CHEF
+
+ chef-shell is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
diff --git a/distro/common/markdown/man1/knife-bootstrap.mkd b/distro/common/markdown/man1/knife-bootstrap.mkd
new file mode 100644
index 0000000000..c466fc7f7f
--- /dev/null
+++ b/distro/common/markdown/man1/knife-bootstrap.mkd
@@ -0,0 +1,141 @@
+knife-bootstrap(1) -- Install Chef Client on a remote host
+========================================
+
+## SYNOPSIS
+
+__knife__ __bootstrap__ _(options)_
+
+ * `-i`, `--identity-file IDENTITY_FILE`:
+ The SSH identity file used for authentication
+ * `-N`, `--node-name NAME`:
+ The Chef node name for your new node
+ * `-P`, `--ssh-password PASSWORD`:
+ The ssh password
+ * `-x`, `--ssh-user USERNAME`:
+ The ssh username
+ * `-p`, `--ssh-port PORT`:
+ The ssh port
+ * `--bootstrap-version VERSION`:
+ The version of Chef to install
+ * `--bootstrap-proxy PROXY_URL`:
+ `The proxy server for the node being bootstrapped`
+ * `--prerelease`:
+ Install pre-release Chef gems
+ * `-r`, `--run-list RUN_LIST`:
+ Comma separated list of roles/recipes to apply
+ * `--template-file TEMPLATE`:
+ Full path to location of template to use
+ * `--sudo`:
+ Execute the bootstrap via sudo
+ * `-d`, `--distro DISTRO`:
+ Bootstrap a distro using a template
+ * `--[no-]host-key-verify`:
+ Enable host key verification, which is the default behavior.
+ * `--hint HINT_NAME[=HINT_FILE]`:
+ Provide the name of a hint (with option JSON file) to set for use by
+ Ohai plugins.
+
+## DESCRIPTION
+
+Performs a Chef Bootstrap on the target node. The goal of the bootstrap
+is to get Chef installed on the target system so it can run Chef Client
+with a Chef Server. The main assumption is a baseline OS installation
+exists. This sub-command is used internally by some cloud computing
+plugins.
+
+The bootstrap sub-command supports supplying a template to perform the
+bootstrap steps. If the distro is not specified (via `-d` or `--distro`
+option), an Ubuntu 10.04 host bootstrapped with RubyGems is assumed. The
+__DISTRO__ value corresponds to the base filename of the template, in
+other words `DISTRO`.erb. A template file can be specified with the
+`--template-file` option in which case the __DISTRO__ is not used. The
+sub-command looks in the following locations for the template to use:
+
+* `bootstrap` directory in the installed Chef Knife library.
+* `bootstrap` directory in the `$PWD/.chef`.
+* `bootstrap` directory in the users `$HOME/.chef`.
+
+The default bootstrap templates are scripts that get copied to the
+target node (FQDN). The following distros are supported:
+
+* centos5-gems
+* fedora13-gems
+* ubuntu10.04-gems
+* ubuntu10.04-apt
+
+The gems installations will use RubyGems 1.3.6 and Chef installed as a
+gem. The apt installation will use the Opscode APT repository.
+
+In addition to handling the software installation, these bootstrap
+templates do the following:
+
+ - Write the validation.pem per the local knife configuration.
+ - Write a default config file for Chef (`/etc/chef/client.rb`) using values from the `knife.rb`.
+ - Create a JSON attributes file containing the specified run list and run Chef.
+
+In the case of the RubyGems, the `client.rb` will be written from
+scratch with a minimal set of values; see __EXAMPLES__. In the case of
+APT Package installation, `client.rb` will have the
+`validation_client_name` appended if it is not set to `chef-validator`
+(default config value), and the `node_name` will be added if
+`chef_node_name` option is specified.
+
+When this is complete, the bootstrapped node will have:
+
+ - Latest Chef version installed from RubyGems or APT Packages from Opscode. This may be a later version than the local system.
+ - Be validated with the configured Chef Server.
+ - Have run Chef with its default run list if one is specfied.
+
+Additional custom bootstrap templates can be created and stored in
+`.chef/bootstrap/DISTRO.erb`, replacing __DISTRO__ with the value passed
+with the `-d` or `--distro` option. See __EXAMPLES__ for more
+information.
+
+## EXAMPLES
+Setting up a custom bootstrap is fairly straightforward. Create a
+`.chef/bootstrap` directory in your Chef Repository or in
+`$HOME/.chef/bootstrap`. Then create the ERB template file.
+
+ mkdir ~/.chef/bootstrap
+ vi ~/.chef/bootstrap/debian5.0-apt.erb
+
+For example, to create a new bootstrap template that should be used when
+setting up a new Debian node. Edit the template to run the commands, set
+up the validation certificate and the client configuration file, and
+finally to run chef-client on completion. The bootstrap template can be
+called with:
+
+ knife bootstrap mynode.example.com --template-file ~/.chef/bootstrap/debian5.0-apt.erb
+
+Or,
+
+ knife bootstrap mynode.example.com --distro debian5.0-apt
+
+The `--distro` parameter will automatically look in the
+`~/.chef/bootstrap` directory for a file named `debian5.0-apt.erb`.
+
+Templates provided by the Chef installation are located in
+`BASEDIR/lib/chef/knife/bootstrap/*.erb`, where _BASEDIR_ is the
+location where the package or Gem installed the Chef client libraries.
+
+## BUGS
+`knife bootstrap` is not capable of bootstrapping multiple hosts in
+parallel.
+
+The bootstrap script is passed as an argument to sh(1) on the remote
+system, so sensitive information contained in the script will be visible
+to other users via the process list using tools such as ps(1).
+
+## SEE ALSO
+ __knife-ssh__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
diff --git a/distro/common/markdown/man1/knife-client.mkd b/distro/common/markdown/man1/knife-client.mkd
new file mode 100644
index 0000000000..e7b732ef71
--- /dev/null
+++ b/distro/common/markdown/man1/knife-client.mkd
@@ -0,0 +1,103 @@
+knife-client(1) -- Manage Chef API Clients
+========================================
+
+## SYNOPSIS
+
+__knife__ __client__ _sub-command_ _(options)_
+
+## SUB-COMMANDS
+Client subcommands follow a basic create, read, update, delete (CRUD)
+pattern. The Following subcommands are available:
+
+## BULK DELETE
+__knife client bulk delete__ _regex_ _(options)_
+
+Delete clients where the client name matches the regular expression
+_regex_ on the Chef Server. The regular expression should be given as a
+quoted string, and not surrounded by forward slashes.
+
+## CREATE
+__knife client create__ _client name_ _(options)_
+
+ * `-a`, `--admin `:
+ Create the client as an admin
+ * `-f`, `--file FILE`:
+ Write the key to a file
+
+Create a new client. This generates an RSA keypair. The private key will
+be displayed on _STDOUT_ or written to the named file. The public half
+will be stored on the Server. For _chef-client_ systems, the private key
+should be copied to the system as `/etc/chef/client.pem`.
+
+Admin clients should be created for users that will use _knife_ to
+access the API as an administrator. The private key will generally be
+copied to `~/.chef/client\_name.pem` and referenced in the `knife.rb`
+configuration file.
+
+## DELETE
+__knife client delete__ _client name_ _(options)_
+
+Deletes a registered client.
+
+## EDIT
+__client edit__ _client name_ _(options)_
+
+Edit a registered client.
+
+## LIST
+__client list__ _(options)_
+
+ * `-w`, `--with-uri`:
+ Show corresponding URIs
+
+List all registered clients.
+
+## REREGISTER
+__client reregister__ _client name_ _(options)_
+
+ * `-f`, `--file FILE`:
+ Write the key to a file
+
+Regenerate the RSA keypair for a client. The public half will be stored
+on the server and the private key displayed on _STDOUT_ or written to
+the named file. This operation will invalidate the previous keypair used
+by the client, preventing it from authenticating with the Chef Server.
+Use care when reregistering the validator client.
+
+## SHOW
+__client show__ _client name_ _(options)_
+
+ * `-a`, `--attribute ATTR`:
+ Show only one attribute
+
+Show a client. Output format is determined by the --format option.
+
+## DESCRIPTION
+Clients are identities used for communication with the Chef Server API,
+roughly equivalent to user accounts on the Chef Server, except that
+clients only communicate with the Chef Server API and are authenticated
+via request signatures.
+
+In the typical case, there will be one client object on the server for
+each node, and the corresponding client and node will have identical
+names.
+
+In the Chef authorization model, there is one special client, the
+"validator", which is authorized to create new non-administrative
+clients but has minimal privileges otherwise. This identity is used as a
+sort of "guest account" to create a client identity when initially
+setting up a host for management with Chef.
+
+## SEE ALSO
+ __knife-node__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife-configure.mkd b/distro/common/markdown/man1/knife-configure.mkd
new file mode 100644
index 0000000000..cc7dd1d96e
--- /dev/null
+++ b/distro/common/markdown/man1/knife-configure.mkd
@@ -0,0 +1,70 @@
+knife-configure(1) -- Generate configuration files for knife or Chef Client
+========================================
+
+## SYNOPSIS
+
+__knife__ __configure__ [client] _(options)_
+
+## DESCRIPTION
+Generates a knife.rb configuration file interactively. When given the
+--initial option, also creates a new administrative user.
+
+## CONFIGURE SUBCOMMANDS ##
+
+__knife configure__ _(options)_
+
+ * `-i`, `--initial`:
+ Create an initial API Client
+ * `-r`, `--repository REPO`:
+ The path to your chef-repo
+
+Create a configuration file for knife. This will prompt for values to
+enter into the file. Default values are listed in square brackets if no
+other entry is typed. See __knife__(1) for a description of
+configuration options.
+
+__knife configure client__ _directory_
+
+Read the _knife.rb_ config file and generate a config file suitable for
+use in _/etc/chef/client.rb_ and copy the validation certificate into
+the specified _directory_.
+
+## EXAMPLES
+ * On a freshly installed Chef Server, use _knife configure -i_ to
+ create an administrator and knife configuration file. Leave the
+ field blank to accept the default value. On most systems, the
+ default values are acceptable.
+
+ user@host$ knife configure -i
+ Please enter the chef server URL: [http://localhost:4000]
+ Please enter a clientname for the new client: [username]
+ Please enter the existing admin clientname: [chef-webui]
+ Please enter the location of the existing admin client's private key: [/etc/chef/webui.pem]
+ Please enter the validation clientname: [chef-validator]
+ Please enter the location of the validation key: [/etc/chef/validation.pem]
+ Please enter the path to a chef repository (or leave blank):
+ Creating initial API user...
+ Created (or updated) client[username]
+ Configuration file written to /home/username/.chef/knife.rb
+
+ This creates a new administrator client named _username_, writes
+ a configuration file to _/home/username/.chef/knife.rb_, and the
+ private key to _/home/username/.chef/username.pem_. The
+ configuration file and private key may be copied to another system
+ to facilitate administration of the Chef Server from a remote
+ system. Depending on the value given for the Chef Server URL, you
+ may need to modify that setting after copying to a remote host.
+
+## SEE ALSO
+ __knife__(1) __knife-client__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife-cookbook-site.mkd b/distro/common/markdown/man1/knife-cookbook-site.mkd
new file mode 100644
index 0000000000..7c2b0fe31b
--- /dev/null
+++ b/distro/common/markdown/man1/knife-cookbook-site.mkd
@@ -0,0 +1,123 @@
+knife-cookbook-site(1) -- Install and update open source cookbooks
+========================================
+
+## SYNOPSIS
+
+__knife__ __cookbook site__ _sub-command_ _(options)_
+
+## COOKBOOK SITE SUB-COMMANDS
+`knife cookbook site` provides the following subcommands:
+
+## INSTALL
+__cookbook site install COOKBOOK [VERSION]__ _(options)_
+
+ * `-D`, `--skip-dependencies `:
+ Skip automatic installation of dependencies.
+ * `-o`, `--cookbook-path PATH`:
+ Install cookbooks to PATH
+ * `-B`, `--branch BRANCH`:
+ Default branch to work with [defaults to master]
+
+Uses git(1) version control in conjunction with the cookbook site to
+install community contributed cookbooks to your local cookbook
+repository. Running `knife cookbook site install` does the following:
+
+1. A new "pristine copy" branch is created in git for tracking the
+ upstream;
+2. All existing cookbooks are removed from the branch;
+3. The cookbook is downloaded from the cookbook site in tarball form;
+4. The downloaded cookbook is untarred, and its contents commited via git;
+5. The pristine copy branch is merged into the master branch.
+
+By installing cookbook with this process, you can locally modify the
+upstream cookbook in your master branch and let git maintain your
+changes as a separate patch. When an updated upstream version becomes
+available, you will be able to merge the upstream changes while
+maintaining your local modifications.
+
+Unless _--skip-dependencies_ is specified, the process is applied recursively to all the
+cookbooks _COOKBOOK_ depends on (via metadata _dependencies_).
+
+## DOWNLOAD
+__knife cookbook site download COOKBOOK [VERSION]__ _(options)_
+
+ * `-f`, `--file FILE`:
+ The filename to write to
+ * `--force`:
+ Force download deprecated cookbook
+
+Downloads a specific cookbook from the Community site, optionally
+specifying a certain version.
+
+## LIST
+__knife cookbook site list__ _(options)_
+
+ * `-w`, `--with-uri`:
+ Show corresponding URIs
+
+Lists available cookbooks from the Community site.
+
+## SEARCH
+__knife cookbook site search QUERY__ _(options)_
+
+Searches for available cookbooks matching the specified query.
+
+## SHARE
+__knife cookbook site share COOKBOOK CATEGORY__ _(options)_
+
+ * `-k`, `--key KEY`:
+ API Client Key
+ * `-u`, `--user USER`:
+ API Client Username
+ * `-o`, `--cookbook-path PATH:PATH`:
+ A colon-separated path to look for cookbooks in
+
+Uploads the specified cookbook using the given category to the Opscode
+cookbooks site. Requires a login user and certificate for the Opscode
+Cookbooks site. By default, knife will use the username and API key
+you've configured in your configuration file; otherwise you must
+explicitly set these values on the command line or use an alternate
+configuration file.
+
+## UNSHARE
+__knife cookbook site unshare COOKBOOK__
+
+Stops sharing the specified cookbook on the Opscode cookbooks site.
+
+## SHOW
+__knife cookbook site show COOKBOOK [VERSION]__ _(options)_
+
+Shows information from the site about a particular cookbook.
+
+## DESCRIPTION
+The cookbook site, <http://community.opscode.com/>, is a cookbook
+distribution service operated by Opscode. This service provides users
+with a central location to publish cookbooks for sharing with other
+community members.
+
+`knife cookbook site` commands provide an interface to the cookbook
+site's HTTP API. For commands that read data from the API, no account is
+required. In order to upload cookbooks using the `knife cookbook site
+share` command, you must create an account on the cookbook site and
+configure your credentials via command line option or in your knife
+configuration file.
+
+## EXAMPLES
+Uploading cookbooks to the Opscode cookbooks site:
+
+ knife cookbook site share example Other -k ~/.chef/USERNAME.pem -u USERNAME
+
+## SEE ALSO
+ __knife-cookbook(1)__
+ <http://community.opscode.com/cookbooks>
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife-cookbook.mkd b/distro/common/markdown/man1/knife-cookbook.mkd
new file mode 100644
index 0000000000..4f714c52f6
--- /dev/null
+++ b/distro/common/markdown/man1/knife-cookbook.mkd
@@ -0,0 +1,263 @@
+knife-cookbook(1) -- upload and manage chef cookbooks
+========================================
+
+## SYNOPSIS
+
+__knife__ __cookbook__ _sub-command_ _(options)_
+
+## SUB-COMMANDS
+`knife cookbook` supports the following sub commands:
+
+## LIST
+__knife cookbook list__ _(options)_
+
+ * `-a`, `--all`:
+ show all versions of a cookbook instead of just the most recent
+ * `-w`, `--with-uri`:
+ show corresponding uris
+
+Lists the cookbooks available on the Chef server.
+
+## SHOW
+__knife cookbook show cookbook [version] [part] [filename]__ _(options)_
+
+ * `-f`, `--fqdn fqdn `:
+ the fqdn of the host to see the file for
+ * `-p`, `--platform platform `:
+ the platform to see the file for
+ * `-v`, `--platform-version version`:
+ the platform version to see the file for
+ * `-w`, `--with-uri`:
+ Show corresponding URIs
+
+show a particular part of a _cookbook_ for the specified _version_. _part_ can be one of:
+
+ * _attributes_
+ * _definitions_
+ * _files_
+ * _libraries_
+ * _providers_
+ * _recipes_
+ * _resources_
+ * _templates_
+
+## UPLOAD
+__knife cookbook upload [cookbooks...]__ _(options)_
+
+ * `-a`, `--all`:
+ upload all cookbooks, rather than just a single cookbook
+ * `-o`, `--cookbook-path path:path`:
+ a colon-separated path to look for cookbooks in
+ * `-d`, `--upload-dependencies`:
+ Uploads additional cookbooks that this cookbook lists in as
+ dependencies in its metadata.
+ * `-E`, `--environment ENVIRONMENT`:
+ An _ENVIRONMENT_ to apply the uploaded cookbooks to. Specifying this
+ option will cause knife to edit the _ENVIRONMENT_ to place a strict
+ version constraint on the cookbook version(s) uploaded.
+ * `--freeze`:
+ Sets the frozen flag on the uploaded cookbook(s) Any future attempt
+ to modify the cookbook without changing the version number will
+ return an error unless --force is specified.
+ * `--force`:
+ Overrides the frozen flag on a cookbook, allowing you to overwrite a
+ cookbook version that has previously been uploaded with the --freeze
+ option.
+
+Uploads one or more cookbooks from your local cookbook repository(ies)
+to the Chef Server. Only files that don't yet exist on the server will
+be uploaded.
+
+As the command parses the name args as 1..n cookbook names:
+ `knife cookbook upload COOKBOOK COOKBOOK ...`
+works for one to many cookbooks.
+
+## DOWNLOAD
+__knife cookbook download cookbook [version]__ _(options)_
+
+ * `-d`, `--dir download_directory`:
+ the directory to download the cookbook into
+ * `-f`, `--force`:
+ overwrite an existing directory with the download
+ * `-n`, `--latest`:
+ download the latest version of the cookbook
+
+download a cookbook from the chef server. if no version is specified and
+only one version exists on the server, that version will be downloaded.
+if no version is specified and multiple versions are available on the
+server, you will be prompted for a version to download.
+
+## DELETE
+__knife cookbook delete cookbook [version]__ _(options)_
+
+ * `-a`, `--all`:
+ delete all versions
+ * `-p`, `--purge`:
+ purge files from backing store. this will disable any cookbook that contains any of the same files as the cookbook being purged.
+
+delete the specified _version_ of the named _cookbook_. if no version is
+specified, and only one version exists on the server, that version will
+be deleted. if multiple versions are available on the server, you will
+be prompted for a version to delete.
+
+## BULK DELETE
+__knife cookbook bulk delete regex__ _(options)_
+
+ * `-p`, `--purge`:
+ purge files from backing store. this will disable any cookbook that
+ contains any of the same files as the cookbook being purged.
+
+delete cookbooks on the chef server based on a regular expression. the
+regular expression (_regex_) should be in quotes, not in //'s.
+
+## COOKBOOK CREATE
+__knife cookbook create cookbook__ _(options)_
+
+ * `-o`, `--cookbook-path path`:
+ the directory where the cookbook will be created
+ * `-r`, `--readme-format format`:
+ format of the readme file md, mkd, txt, rdoc
+ * `-c`, `--copyright copyright`:
+ name of copyright holder
+ * `-i`, `--license license`:
+ license for cookbook, apachev2 or none
+ * `-e`, `--email email`:
+ email address of cookbook maintainer
+
+this is a helper command that creates a new cookbook directory in the
+`cookbook_path`. the following directories and files are created for the
+named cookbook.
+
+* cookbook/attributes
+* cookbook/definitions
+* cookbook/files/default
+* cookbook/libraries
+* cookbook/metadata.rb
+* cookbook/providers
+* cookbook/readme.md
+* cookbook/recipes/default.rb
+* cookbook/resources
+* cookbook/templates/default
+
+supported readme formats are 'md' (default), 'mkd', 'txt', 'rdoc'. the
+readme file will be written with the specified extension and a set of
+helpful starting headers.
+
+specify `-c` or `--copyright` with the name of the copyright holder as
+your name or your company/organization name in a quoted string. if this
+value is not specified an all-caps string `your_company_name` is used
+which can be easily changed with find/replace.
+
+specify `-i` or `--license` with the license that the cookbook is
+distributed under for sharing with other people or posting to the
+opscode cookbooks site. be aware of the licenses of files you put inside
+the cookbook and follow any restrictions they describe. when using
+`none` (default) or `apachev2`, comment header text and metadata file
+are pre-filled. the `none` license will be treated as
+non-redistributable.
+
+specify `-e` or `--email` with the email address of the cookbook's
+maintainer. if this value is not specified, an all-caps string
+`your_email` is used which can easily be changed with find/replace.
+
+the cookbook copyright, license, email and readme_format settings can be filled in the
+`knife.rb`, for example with default values:
+
+ cookbook_copyright "your_company_name"
+ cookbook_license "none"
+ cookbook_email "your_email"
+ readme_format "md"
+
+
+## METADATA
+__knife cookbook metadata cookbook__ _(options)_
+
+ * `-a`, `--all`:
+ generate metadata for all cookbooks, rather than just a single cookbook
+ * `-o`, `--cookbook-path path:path`:
+ a colon-separated path to look for cookbooks in
+
+generate cookbook metadata for the named _cookbook_. the _path_ used here specifies where the cookbooks directory is located and corresponds to the `cookbook_path` configuration option.
+
+## METADATA FROM FILE
+__knife cookbook metadata from file__ _(options)_
+
+load the cookbook metadata from a specified file.
+
+## TEST
+__knife cookbook test [cookbooks...]__ _(options)_
+
+ * `-a`, `--all`:
+ test all cookbooks, rather than just a single cookbook
+ * `-o`, `--cookbook-path path:path`:
+ a colon-separated path to look for cookbooks in
+
+test the specified cookbooks for syntax errors. this uses the built-in
+ruby syntax checking option for files in the cookbook ending in `.rb`,
+and the erb syntax check for files ending in `.erb` (templates).
+
+## RECIPE LIST
+__knife recipe list [PATTERN]__
+
+List available recipes from the server. Specify _PATTERN_ as a regular
+expression to limit the results.
+
+## DESCRIPTION
+Cookbooks are the fundamental unit of distribution in Chef. They
+encapsulate all recipes of resources and assets used to configure a
+particular aspect of the infrastructure. The following sub-commands can
+be used to manipulate the cookbooks stored on the Chef Server.
+
+On disk, cookbooks are directories with a defined structure. The
+following directories may appear within a cookbook:
+
+ * COOKBOOK/attributes/:
+ Ruby files that define default parameters to be used in recipes
+ * COOKBOOK/definitions/:
+ Ruby files that contain _resource definitions_
+ * COOKBOOK/files/SPECIFICITY:
+ Files of arbitrary type. These files may be downloaded by
+ chef-client(8) when configuring a host.
+ * COOKBOOK/libraries/:
+ Ruby files that contain library code needed for recipes
+ * COOKBOOK/providers/:
+ Ruby files that contain Lightweight Provider definitions
+ * COOKBOOK/recipes/:
+ Ruby files that use Chef's recipe DSL to describe the desired
+ configuration of a system
+ * COOKBOOK/resources/:
+ Ruby files that contain Lightweight Resource definitions
+ * COOKBOOK/templates/SPECIFICITY:
+ ERuby (ERb) template files. These are referenced by _recipes_ and
+ evaluated to dynamically generate configuration files.
+
+__SPECIFICITY__ is a feature of _files_ and _templates_ that allow you
+to specify alternate files to be used on a specific OS platform or host.
+The default specificity setting is _default_, that is files in
+`COOKBOOK/files/default` will be used when a more specific copy is not
+available. Further documentation for this feature is available on the
+Chef wiki: <http://wiki.opscode.com/display/chef/File+Distribution#FileDistribution-FileSpecificity>
+
+Cookbooks also contain a metadata file that defines various properties
+of the cookbook. The most important of these are the _version_ and the
+_dependencies_. The _version_ is used in combination with environments
+to select which copy of a given cookbook is distributed to a node. The
+_dependencies_ are used by the server to determine which additional
+cookbooks must be distributed to a given host when it requires a
+cookbook.
+
+## SEE ALSO
+ __knife-environment(1)__ __knife-cookbook-site(1)__
+ <http://wiki.opscode.com/display/chef/Cookbooks>
+ <http://wiki.opscode.com/display/chef/Metadata>
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
diff --git a/distro/common/markdown/man1/knife-data-bag.mkd b/distro/common/markdown/man1/knife-data-bag.mkd
new file mode 100644
index 0000000000..67ec02158c
--- /dev/null
+++ b/distro/common/markdown/man1/knife-data-bag.mkd
@@ -0,0 +1,121 @@
+knife-data-bag(1) -- Store arbitrary data on a Chef Server
+========================================
+
+## SYNOPSIS
+
+__knife__ __data bag__ _sub-command_ _(options)_
+
+## DESCRIPTION
+Data bags are stores of arbitrary JSON data. Each data bag is a
+collection that may contain many items. Data Bag Items are indexed by
+the Chef Server and can be searched via __knife-search__(1).
+
+Data bags are available to all nodes configured by __chef-client__(8),
+and are therefore a convenient mechanism to store global information,
+such as lists of administrative accounts that should be configured on
+all hosts.
+
+## DATA BAG SUB-COMMANDS
+
+## CREATE
+__knife data bag create__ _bag name_ [item id] _(options)_
+
+ * `-s`, `--secret SECRET`:
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
+ * `--secret-file SECRET_FILE`:
+ The path to a file containing the secret key to be used to encrypt
+ the data bag item.
+
+If _item id_ is given, creates a new, empty data bag item and opens it for
+editing in your editor. The data bag will be created if it does not
+exist.
+
+If _item id_ is not given, the data bag will be created.
+
+## DELETE
+__knife data bag delete__ _bag name_ [item id] _(options)_
+
+Delete a data bag, or an item from a data bag.
+
+## EDIT
+__knife data bag edit__ _bag name_ _item id_ _(options)_
+
+ * `-s`, `--secret SECRET`:
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
+ * `--secret-file SECRET_FILE`:
+ The path to a file containing the secret key to be used to encrypt
+ the data bag item.
+
+Edit an item in a data bag.
+
+## FROM FILE
+__knife data bag from file__ _bag name_ _file_ _(options)_
+
+__knife data bag from file__ _bag name_ _file1_ _file2_ _file3_ _(options)_
+
+__knife data bag from file__ _bag name_ _folder_ _(options)_
+
+ * `-s`, `--secret SECRET`:
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
+ * `--secret-file SECRET_FILE`:
+ The path to a file containing the secret key to be used to encrypt
+ the data bag item.
+
+Load a data bag item from a JSON file. If _file_ is a relative or
+absolute path to the file, that file will be used. Otherwise, the _file_
+parameter is treated as the base name of a data bag file in a Chef
+repository, and `knife` will search for the file in
+`./data_bags/bag_name/file`. For example `knife data bag from file users
+dan.json` would attempt to load the file `./data_bags/users/dan.json`.
+
+## LIST
+__knife data bag list__ _(options)_
+
+ * `-w`, `--with-uri`:
+ Show corresponding URIs
+
+Lists the data bags that exist on the Chef Server.
+
+## SHOW
+__knife data bag show BAG [ITEM]__ _(options)_
+
+ * `-s`, `--secret SECRET`:
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
+ * `--secret-file SECRET_FILE`:
+ The path to a file containing the secret key to be used to encrypt
+ the data bag item.
+
+Show a specific data bag or an item in a data bag. The output will be
+formatted according to the --format option.
+
+## ENCRYPTION SUPPORT
+Data Bag Items may be encrypted to keep their contents secret. This may
+be desireable when storing sensitive information such as database
+passwords, API keys, etc.
+
+Data Bag Item encryption uses the AES-256 CBC symmetric key algorithm.
+
+__CAVEATS:__ Keys are not encrypted; only values are encrypted. The "id"
+of a Data Bag Item is not encrypted, since it is used by Chef Server to
+store the item in its database. For example, given the following data bag item:
+ {"id": "important_passwords", "secret_password": "opensesame"}
+The key "secret\_password" will be visible to an evesdropper, but the
+value "opensesame" will be protected. Both the key "id" and its value
+"important\_passwords" will be visible to an evesdropper.
+
+Chef Server does not provide a secure mechanism for distributing
+encryption keys.
+
+## SEE ALSO
+ __knife-search__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. http://wiki.opscode.com/display/chef/Home
+
diff --git a/distro/common/markdown/man1/knife-environment.mkd b/distro/common/markdown/man1/knife-environment.mkd
new file mode 100644
index 0000000000..2eebffbce6
--- /dev/null
+++ b/distro/common/markdown/man1/knife-environment.mkd
@@ -0,0 +1,151 @@
+knife-environment(1) -- Define cookbook policies for the environments in your infrastructure
+========================================
+
+## SYNOPSIS
+
+__knife__ __environment__ _sub-command_ _(options)_
+
+## SUBCOMMANDS
+Environment subcommands follow a basic create, read, update, delete
+(CRUD) pattern. The following subcommands are available:
+
+## CREATE
+__knife environment create__ _environment_ _(options)_
+
+ * `-d`, `--description DESCRIPTION`:
+ The value of the description field.
+
+Create a new environment object on the Chef Server. The envrionment will
+be opened in the text editor for editing prior to creation if the -n
+option is not present.
+
+## DELETE
+__knife environment delete__ _environment_ _(options)_
+
+Destroy an environment on the Chef Server. A prompt for confirmation
+will be displayed if the -y options is not given.
+
+## EDIT
+__knife environment edit__ _environment_ _(options)_
+
+Fetch _environment_ and display it in the text editor for editing. The
+environment will be saved to the Chef Server when the editing session
+exits.
+
+## FROM FILE
+__knife environment from file__ _file_ _(options)_
+
+Create or update an environment from the JSON or Ruby format _file_. See
+__format__ for the proper format of this file.
+
+## LIST
+__knife environment list__ _(options)_
+ * `-w`, `--with-uri`:
+ Show the resource URI for each environment
+
+## SHOW
+__knife environment show__ _environment_ _(options)_
+
+## DESCRIPTION
+Environments provide a means to apply policies to hosts in your
+infrastructure based on business function. For example, you may have a
+separate copy of your infrastructure called "dev" that runs the latest
+version of your application and should use the newest versions of your
+cookbooks when configuring systems, and a production instance of your
+infrastructure where you wish to update code and cookbooks in a more
+controlled fashion. In Chef, this function is implemented with
+_environments_.
+
+Environments contain two major components: a set of cookbook version
+constraints and environment attributes.
+
+## SYNTAX
+A cookbook version constraint is comprised of a _cookbook name_ and a
+_version constraint_. The _cookbook name_ is the name of a cookbook in
+your system, and the _version constraint_ is a String describing the
+version(s) of that cookbook allowed in the environment. Only one
+_version constraint_ is supported for a given _cookbook name_.
+
+The exact syntax used to define a cookbook version constraint varies
+depending on whether you use the JSON format or the Ruby format. In the
+JSON format, the cookbook version constraints for an environment are
+represented as a single JSON object, like this:
+
+ {"apache2": ">= 1.5.0"}
+
+In the Ruby format, the cookbook version contraints for an environment
+are represented as a Ruby Hash, like this:
+
+ {"apache2" => ">= 1.5.0"}
+
+A _version number_ is a String comprised of two or three digits
+separated by a dot (.) character, or in other words, strings of the form
+"major.minor" or "major.minor.patch". "1.2" and "1.2.3" are examples of
+valid version numbers. Version numbers containing more than three digits
+or alphabetic characters are not supported.
+
+A _version constraint_ String is composed of an _operator_ and a
+_version number_. The following operators are available:
+
+ * `= VERSION`:
+ Equality. Only the exact version specified may be used.
+ * `> VERSION`:
+ Greater than. Only versions greater than `VERSION` may be used.
+ * `>= VERSION`:
+ Greater than or equal to. Only versions equal to VERSION or greater
+ may be used.
+ * `< VERSION`:
+ Less than. Only versions less than VERSION may be used.
+ * `<= VERSION`:
+ Less than or equal to. Only versions lesser or equal to VERSION may
+ be used.
+ * `~> VERSION`:
+ Pessimistic greater than. Depending on the number of components in
+ the given VERSION, the constraint will be optimistic about future
+ minor or patch revisions only. For example, `~> 1.1` will match any
+ version less than `2.0` and greater than or equal to `1.1.0`,
+ whereas `~> 2.0.5` will match any version less than `2.1.0` and
+ greater than or equal to `2.0.5`.
+
+## FORMAT
+The JSON format of an envioronment is as follows:
+
+ {
+ "name": "dev",
+ "description": "The development environment",
+ "cookbook_versions": {
+ "couchdb": "= 11.0.0"
+ },
+ "json_class": "Chef::Environment",
+ "chef_type": "environment",
+ "default_attributes": {
+ "apache2": { "listen_ports": [ "80", "443" ] }
+ },
+ "override_attributes": {
+ "aws_s3_bucket": "production"
+ }
+ }
+
+The Ruby format of an environment is as follows:
+
+ name "dev"
+ description "The development environment"
+ cookbook_versions "couchdb" => "= 11.0.0"
+ default_attributes "apache2" => { "listen_ports" => [ "80", "443" ] }
+ override_attributes "aws_s3_bucket" => "production"
+
+
+## SEE ALSO
+ __knife-node(1)__ __knife-cookbook(1)__ __knife-role(1)__
+ <http://wiki.opscode.com/display/chef/Environments>
+ <http://wiki.opscode.com/display/chef/Version+Constraints>
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Daniel DeLeo <dan@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
diff --git a/distro/common/markdown/man1/knife-exec.mkd b/distro/common/markdown/man1/knife-exec.mkd
new file mode 100644
index 0000000000..d4aa87ca46
--- /dev/null
+++ b/distro/common/markdown/man1/knife-exec.mkd
@@ -0,0 +1,42 @@
+knife-exec(1) -- Run user scripts using the Chef API DSL
+========================================
+
+## SYNOPSIS
+
+__knife__ __exec__ _(options)_
+
+ * `-E`, `--exec CODE`:
+ Provide a snippet of code to evaluate on the command line
+
+## DESCRIPTION
+
+`knife exec` runs arbitrary ruby scripts in a context similar to that
+of the chef-shell(1) DSL. See the chef-shell documentation for a
+description of the commands available.
+
+## EXAMPLES
+
+ * Make an API call against an arbitrary endpoint:
+ knife exec -E 'api.get("nodes/fluke.localdomain/cookbooks")'
+ => list of cookbooks for the node _fluke.localdomain_
+ * Remove the role _obsolete_ from all nodes:
+ knife exec -E 'nodes.transform(:all){|n| n.run\_list.delete("role[obsolete]")}'
+ * Generate the expanded run list for hosts in the `webserver` role:
+ knife exec -E 'nodes.find(:roles => "webserver") {|n| n.expand!; n[:recipes]}'
+
+## SEE ALSO
+
+ __chef-shell(1)__
+
+## AUTHOR
+
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
diff --git a/distro/common/markdown/man1/knife-index.mkd b/distro/common/markdown/man1/knife-index.mkd
new file mode 100644
index 0000000000..812f3fe7dd
--- /dev/null
+++ b/distro/common/markdown/man1/knife-index.mkd
@@ -0,0 +1,30 @@
+knife-index(1) -- Rebuild the search index on a Chef Server
+========================================
+
+## SYNOPSIS
+
+__knife__ __index rebuild__ _(options)_
+
+ * `-y`, `--yes`:
+ don't bother to ask if I'm sure
+
+## DESCRIPTION
+Rebuilds all the search indexes on the server. This is accomplished by
+deleting all objects from the search index, and then forwarding each
+item in the database to __chef-expander__(8) via __rabbitmq-server__(1).
+Depending on the number of objects in the database, it may take some
+time for all objects to be indexed and available for search.
+
+## SEE ALSO
+ __knife-search__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife-node.mkd b/distro/common/markdown/man1/knife-node.mkd
new file mode 100644
index 0000000000..72b7d0072f
--- /dev/null
+++ b/distro/common/markdown/man1/knife-node.mkd
@@ -0,0 +1,130 @@
+knife-node(1) -- Manage the hosts in your infrastructure
+========================================
+
+## SYNOPSIS
+
+__knife__ __node__ _sub-command_ _(options)_
+
+## DESCRIPTION
+Nodes are data structures that represent hosts configured with Chef.
+Nodes have a __name__, a String that uniquely identifies the node,
+__attributes__, a nested Hash of properties that describe how the host
+should be configured, a __chef\_environment__, a String representing the
+environment to which the node belongs, and a __run\_list__, an ordered
+list of __recipes__ or __roles__ that chef-client should apply when
+configuring a host.
+
+When a host communicates with a Chef Server, it authenticates using its
+__node\_name__ for identification and signs its reqests with a private
+key. The Server validates the request by looking up a __client__ object
+with a name identical to the __node\_name__ submitted with the request
+and verifes the signature using the public key for that __client__
+object. __NOTE__ that the __client__ is a different object in the
+system. It is associated with a node by virtue of having a matching
+name.
+
+By default __chef-client__(8) will create a node using the FQDN of the
+host for the node name, though this may be overridden by configuration
+settings.
+
+## NODE SUB-COMMANDS
+The following `node` subcommands are available:
+
+## BULK DELETE
+__knife node bulk delete__ _regex_ _(options)_
+
+Deletes nodes for which the name matches the regular expression _regex_
+on the Chef Server. The regular expression should be given in quotes,
+and should not be surrounded with forward slashes (as is typical of
+regular expression literals in scripting languages).
+
+## CREATE
+__knife node create__ _name_ _(options)_
+
+Create a new node. Unless the --disable-editing option is given, an empty node
+object will be created and displayed in your text editor. If the editor
+exits with a successful exit status, the node data will be posted to the
+Chef Server to create the node.
+
+## DELETE
+__knife node delete__ _name_ _(options)_
+
+Deletes the node identified by _name_ on the Chef Server.
+
+## EDIT
+__knife node edit__ _name_ _(options)_
+
+ * `-a`, `--all`:
+ Display all node data in the editor. By default, default, override,
+ and automatic attributes are not shown.
+
+Edit the node identified by _name_. Like __knife node create__, the node
+will be displayed in your text editor unless the -n option is present.
+
+## FROM FILE
+__knife node from file__ _file_ _(options)_
+
+Create a node from a JSON format _file_.
+
+## LIST
+__knife node list__ _(options)_
+
+ * `-w`, `--with-uri`:
+ Show corresponding URIs
+
+List all nodes.
+
+## RUN\_LIST ADD
+__knife node run_list add__ _name_ _run list item_ _(options)_
+
+ * `-a`, `--after ITEM`:
+ Place the ENTRY in the run list after ITEM
+
+Add the _run list item_ to the node's `run_list`. See Run list
+
+## RUN\_LIST REMOVE
+__knife node run_list remove__ _node name_ _run list item_ _(options)_
+
+Remove the _run list item_ from the node's `run_list`.
+
+## SHOW
+__knife node show__ _node name_ _(options)_
+
+ * `-a`, `--attribute [ATTR]`:
+ Show only one attribute
+ * `-r`, `--run-list `:
+ Show only the run list
+ * `-F`, `--format FORMAT`:
+ Display the node in a different format.
+ * `-m`, `--medium`:
+ Display more, but not all, of the node's data when using the default
+ _summary_ format
+
+Displays the node identified by _node name_ on stdout.
+
+## RUN LIST ITEM FORMAT
+Run list items may be either roles or recipes. When adding a role to a
+run list, the correct syntax is "role[ROLE\_NAME]"
+
+When adding a recipe to a run list, there are several valid formats:
+
+ * Fully Qualified Format:
+ "recipe[COOKBOOK::RECIPE\_NAME]", for example, "recipe[chef::client]"
+ * Cookbook Recipe Format:
+ For brevity, the recipe part of the fully qualified format may be omitted, and recipes specified as "COOKBOOK::RECIPE\_NAME", e.g., "chef::client"
+ * Default Recipe Format:
+ When adding the default recipe of a cookbook to a run list, the recipe name may be omitted as well, e.g., "chef::default" may be written as just "chef"
+
+## SEE ALSO
+ __knife-client__(1) __knife-search__(1) __knife-role__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife-role.mkd b/distro/common/markdown/man1/knife-role.mkd
new file mode 100644
index 0000000000..7e0dac9bc5
--- /dev/null
+++ b/distro/common/markdown/man1/knife-role.mkd
@@ -0,0 +1,85 @@
+knife-role(1) -- Group common configuration settings
+========================================
+
+## SYNOPSIS
+
+__knife__ __role__ _sub-command_ _(options)_
+
+## ROLE SUB-COMMANDS
+The following `role` subcommands are available:
+
+## LIST
+__knife role list__ _(options)_
+
+ * `-w`, `--with-uri`:
+ Show corresponding URIs
+
+List roles.
+
+## SHOW
+__knife role show ROLE__ _(options)_
+
+ * `-a`, `--attribute ATTR`:
+ Show only one attribute
+
+Show a specific role.
+
+## CREATE
+__knife role create ROLE__ _(options)_
+
+ * `-d`, `--description`:
+ The role description
+
+Create a new role.
+
+## EDIT
+__knife role edit ROLE__ _(options)_
+
+Edit a role.
+
+## FROM FILE
+__knife role from file FILE__ _(options)_
+
+Create or update a role from a role Ruby DSL (`.rb`) or JSON file.
+
+## DELETE
+__knife role delete ROLE__ _(options)_
+
+Delete a role.
+
+## BULK DELETE
+__knife role bulk delete REGEX__ _(options)_
+
+Delete roles on the Chef Server based on a regular expression. The regular expression (_REGEX_) should be in quotes, not in //'s.
+
+## DESCRIPTION
+Roles provide a mechanism to group repeated configuration settings.
+Roles are data structures that contain __default\_attributes__, and
+__override_attributes__, which are nested hashes of configuration
+settings, and a __run_list__, which is an ordered list of recipes and
+roles that should be applied to a host by chef-client.
+
+__default_attributes__ will be overridden if they conflict with a value
+on a node that includes the role. Conversely, __override_attributes__
+will override any values set on nodes that apply them.
+
+When __chef-client__(8) configures a host, it will "expand" the
+__run_list__ included in that host's node data. The expansion process
+will recursively replace any roles in the run\_list with that role's
+run\_list.
+
+## SEE ALSO
+ __knife-node(1)__ __knife-environment(1)__
+ <http://wiki.opscode.com/display/chef/Roles>
+ <http://wiki.opscode.com/display/chef/Attributes>
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife-search.mkd b/distro/common/markdown/man1/knife-search.mkd
new file mode 100644
index 0000000000..d6729be322
--- /dev/null
+++ b/distro/common/markdown/man1/knife-search.mkd
@@ -0,0 +1,180 @@
+knife-search(1) -- Find objects on a Chef Server by query
+========================================
+
+## SYNOPSIS
+
+__knife__ __search INDEX QUERY__ _(options)_
+
+ * `-a`, `--attribute ATTR`:
+ Show only one attribute
+ * `-i`, `--id-only`:
+ Show only the ID of matching objects
+ * `-q`, `--query QUERY`:
+ The search query; useful to protect queries starting with -
+ * `-R`, `--rows INT`:
+ The number of rows to return
+ * `-r`, `--run-list`:
+ Show only the run list
+ * `-o`, `--sort SORT`:
+ The order to sort the results in
+ * `-b`, `--start ROW`:
+ The row to start returning results at
+ * `-m`, `--medium`:
+ Display medium sized output when searching nodes using the default
+ summary format
+ * `-l`, `--long`:
+ Display long output when searching nodes using the default summary
+ format
+
+## DESCRIPTION
+
+Search is a feature of the Chef Server that allows you to use a
+full-text search engine to query information about your infrastructure
+and applications. You can utilize this service via search calls in a
+recipe or the knife search command. The search syntax is based on
+Lucene.
+
+
+## INDEXES
+
+Search indexes are a feature of the Chef Server and the search
+sub-command allows querying any of the available indexes using SOLR
+query syntax. The following data types are indexed for search:
+
+ * _node_
+ * _role_
+ * _environment_
+ * _clients_
+ * _data bag_
+
+Data bags are indexed by the data bag's name. For example, to search a
+data bag named "admins":
+
+ knife search admins "field:search_pattern"
+
+## QUERY SYNTAX
+
+Queries have the form `field:search_pattern` where `field` is a key in
+the JSON description of the relevant objects (nodes, roles,
+environments, or data bags). Both `field` and `search_pattern` are
+case-sensitive. `search_pattern` can be an exact, wildcard,
+range, or fuzzy match (see below). The `field` supports exact
+matching and limited wildcard matching.
+
+Searches will return the relevant objects (nodes, roles, environments,
+or data bags) where the `search_pattern` matches the object's value of
+`field`.
+
+### FIELD NAMES
+
+Field names are the keys within the JSON description of the object
+being searched. Nested Keys can be searched by placing an underscore
+("_") between key names.
+
+### WILDCARD MATCHING FOR FIELD NAMES
+
+The field name also has limited support for wildcard matching. Both
+the "*" and "?" wildcards (see below) can be used within a field name;
+however, they cannot be the first character of the field name.
+
+### EXACT MATCHES
+Without any search modifiers, a search returns those fields for which
+the `search_pattern` exactly matches the value of `field` in the JSON
+description of the object.
+
+### WILDCARD MATCHES
+
+Search support both single- and multi-character wildcard searches
+within a search pattern.
+
+'?' matches exactly one character.
+
+'*' matches zero or more characters.
+
+### RANGE MATCHES
+Range searches allows one to match values between two given values. To
+match values between X and Y, inclusively, use square brackets:
+
+ knife search INDEX 'field:[X TO Y]
+
+To match values between X and Y, exclusively, use curly brackets:
+
+ knife search INDEX 'field:{X TO Y}'
+
+Values are sorted in lexicographic order.
+
+### FUZZY MATCHES
+
+Fuzzy searches allows one to match values based on the Levenshtein
+Distance algorithm. To perform a fuzzy match, append a tilda (~) to
+the search term:
+
+ knife search INDEX 'field:term~'
+
+This search would return nodes whose `field` was 'perm' or 'germ'.
+
+### BOOLEAN OPERATORS
+
+The boolean operators NOT, AND, and OR are supported. To find values
+of `field` that are not X:
+
+ knife search INDEX 'field:(NOT X)'
+
+To find records where `field1` is X and `field2` is Y:
+
+ knife search INDEX 'field1:X AND field2:Y'
+
+To find records where `field` is X or Y:
+
+ knife search INDEX 'field:X OR field:Y'
+
+### QUOTING AND SPECIAL CHARACTERS
+
+In order to avoid having special characters and escape sequences
+within your search term interpreted by either Ruby or the shell,
+enclose them in single quotes.
+
+Search terms that include spaces should be enclosed in double-quotes:
+
+ knife search INDEX 'field:"term with spaces"'
+
+The following characters must be escaped:
+
+ + - && || ! ( ) { } [ ] ^ " ~ * ? : \
+
+## EXAMPLES
+
+Find the nodes with the fully-qualified domain name (FQDN)
+www.example.com:
+
+ knife search node 'fqdn:www.example.com'
+
+Find the nodes running a version of Ubuntu:
+
+ knife search node 'platform:ubuntu*'
+
+Find all nodes running CentOS in the production environment:
+
+ knife search node 'chef_environment:production AND platform:centos'
+
+## KNOWN BUGS
+
+ * Searches against the client index return no results in most cases. (CHEF-2477)
+ * Searches using the fuzzy match operator (~) produce an error. (CHEF-2478)
+
+## SEE ALSO
+ __knife-ssh__(1)
+ <http://wiki.opscode.com/display/chef/Attributes>
+ [Lucene Query Parser Syntax](http://lucene.apache.org/java/2_3_2/queryparsersyntax.html)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
+
diff --git a/distro/common/markdown/man1/knife-ssh.mkd b/distro/common/markdown/man1/knife-ssh.mkd
new file mode 100644
index 0000000000..07fc5940ce
--- /dev/null
+++ b/distro/common/markdown/man1/knife-ssh.mkd
@@ -0,0 +1,69 @@
+knife-ssh(1) -- Run a command or interactive session on multiple remote hosts
+========================================
+
+## SYNOPSIS
+
+__knife__ __ssh QUERY COMMAND__ _(options)_
+
+ * `-a`, `--attribute ATTR `:
+ The attribute to use for opening the connection - default is fqdn
+ * `-C`, `--concurrency NUM `:
+ The number of concurrent connections
+ * `-m`, `--manual-list `:
+ QUERY is a space separated list of servers
+ * `-P`, `--ssh-password PASSWORD`:
+ The ssh password
+ * `-x`, `--ssh-user USERNAME `:
+ The ssh username
+ * `-i`, `--identity-file IDENTITY_FILE`:
+ The SSH identity file used for authentication
+ * `-p`, `--ssh-port PORT`:
+ The ssh port
+ * `--[no-]host-key-verify`:
+ Verify host key, enabled by default.
+
+## DESCRIPTION
+
+The _ssh_ sub-command opens an ssh session to each of the nodes in the
+search results of the _QUERY_. This sub-command requires that the
+net-ssh-multi and highline Ruby libraries are installed. On Debian
+systems, these are the libnet-ssh-multi-ruby and libhighline-ruby
+packages. They can also be installed as RubyGems (net-ssh-multi and
+highline, respectively).
+
+## TERMINAL MULTIPLEXING AND TERMINAL TAB SUPPORT
+`knife ssh` integrates with several terminal multiplexer programs to
+provide a more convenient means of managing multiple ssh sessions. When
+the _COMMAND_ option matches one of these, `knife ssh` will create
+multiple interactive ssh sessions running locally in the terminal
+multiplexer instead of invoking the command on the remote host.
+
+The available multiplexers are:
+
+ * `interactive`:
+ A built-in multiplexer. `interactive` supports running commands on a
+ subset of the connected hosts in parallel
+ * __screen__(1):
+ Runs ssh interactively inside `screen`. ~/.screenrc will be sourced
+ if it exists.
+ * __tmux__(1):
+ Runs ssh interactively inside tmux.
+ * `macterm` (Mac OS X only):
+ Opens a Terminal.app window and creates a tab for each ssh session.
+ You must install the rb-appscript gem before you can use this
+ option.
+
+## SEE ALSO
+ __knife-search__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
+
diff --git a/distro/common/markdown/man1/knife-status.mkd b/distro/common/markdown/man1/knife-status.mkd
new file mode 100644
index 0000000000..07f0ff305a
--- /dev/null
+++ b/distro/common/markdown/man1/knife-status.mkd
@@ -0,0 +1,36 @@
+knife-status(1) -- Display status information for the nodes in your infrastructure
+========================================
+
+## SYNOPSIS
+
+__knife__ __status__ _(options)_
+
+ * `-r`, `--run-list RUN_LIST`:
+ Show the run list
+
+## DESCRIPTION
+
+The _status_ sub-command searches the Chef Server for all nodes and
+displays information about the last time the node checked into the
+server and executed a `node.save`. The fields displayed are the relative
+checkin time, the node name, it's operating system platform and version,
+the fully-qualified domain name and the default IP address. If the `-r`
+option is given, the node's run list will also be displayed. Note that
+depending on the configuration of the nodes, the FQDN and IP displayed
+may not be publicly reachable.
+
+
+## SEE ALSO
+ __knife-search__(1)
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
+
diff --git a/distro/common/markdown/man1/knife-tag.mkd b/distro/common/markdown/man1/knife-tag.mkd
new file mode 100644
index 0000000000..6a1a2c4b56
--- /dev/null
+++ b/distro/common/markdown/man1/knife-tag.mkd
@@ -0,0 +1,39 @@
+knife-tag(1) -- Apply tags to nodes on a Chef Server
+========================================
+
+## SYNOPSIS
+
+__knife__ __tag__ _subcommand_ _(options)_
+
+## TAG SUBCOMMANDS
+The following `tag` subcommands are available:
+
+## CREATE
+__knife tag create__ _node_ _tag_ [_..._]
+
+Adds one or more tags to _node_
+
+## DELETE
+__knife tag delete__ _node_ _tag_ [_..._]
+
+Removes one or more tags from _node_
+
+## LIST
+__knife tag list__ _node_
+
+Lists the tags applied to _node_
+
+
+## SEE ALSO
+ __knife-node(1)__
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Daniel DeLeo <dan@opscode.com>.
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man1/knife.mkd b/distro/common/markdown/man1/knife.mkd
new file mode 100644
index 0000000000..054e220cf9
--- /dev/null
+++ b/distro/common/markdown/man1/knife.mkd
@@ -0,0 +1,218 @@
+knife(1) -- Chef Server API client utility
+========================================
+
+## SYNOPSIS
+
+__knife__ _sub-command_ [_argument_...] _(options)_
+
+## DESCRIPTION
+
+Knife is a command-line utility used to manage data on a Chef server
+through the HTTP(S) API. Knife is organized into groups of subcommands
+centered around the various object types in Chef. Each category of
+subcommand is documented in its own manual page. Available topics are:
+
+ * bootstrap
+ * client
+ * configure
+ * cookbook-site
+ * cookbook
+ * data-bag
+ * environment
+ * exec
+ * index
+ * node
+ * recipe
+ * role
+ * search
+ * ssh
+ * status
+ * tag
+
+If the knife manuals are in your `MANPATH`, you can access help for the
+above topics using `man knife-TOPIC`; otherwise, you can view the
+documentation using `knife help TOPIC`.
+
+## OPTIONS
+ * `-s`, `--server-url` URL:
+ Chef Server URL, corresponds to `Chef::Config` `chef_server_url`.
+ * `-k`, `--key` KEY:
+ API Client Key, corresponds to `Chef::Config` `client_key`.
+ * `-c`, `--config` CONFIG:
+ The configuration file to use
+ * `-E`, `--environment ENVIRONMENT`:
+ Set the Chef environment
+ * `-e`, `--editor` EDITOR:
+ Set the editor to use for interactive commands
+ * `-F`, `--format` FORMAT:
+ Which format to use for output. See FORMATS for details.
+ * `-d`, `--disable-editing`:
+ Do not open EDITOR, just accept the data as is
+ * `-u`, `--user` USER:
+ API Client Username, corresponds to `Chef::Config` `node_name`.
+ * `-p`, `--print-after`:
+ Show the data after a destructive operation
+ * `-v`, `--version`:
+ Show chef version
+ * `-V`, `--verbose`:
+ More verbose output. Use twice for max verbosity.
+ * `-y`, `--yes`:
+ Say yes to all prompts for confirmation
+ * `--defaults`:
+ Accept default values for all questions
+ * `--[no-]color`:
+ Use colored output. Color enabled by default.
+ * `-h`, `--help`:
+ Show the available options for a command.
+
+## SUB-COMMANDS
+
+Sub-commands that operate on the basic Chef data types are structured as
+_NOUN verb NOUN (options)_. For all data types, the following commands
+are available:
+
+* create (create)
+* list and show (read)
+* edit (update)
+* delete (destroy)
+
+Knife also includes commands that take actions other than displaying or
+modifying data on the Chef Server, such as __knife-ssh(1)__.
+
+## CONFIGURATION
+
+The knife configuration file is a Ruby DSL to set configuration
+parameters for Knife's __GENERAL OPTIONS__. The default location for the
+config file is `~/.chef/knife.rb`. If managing multiple Chef
+repositories, per-repository config files can be created. The file must
+be `.chef/knife.rb` in the current directory of the repository.
+
+If the config file exists, knife uses these settings for __GENERAL OPTIONS__ defaults.
+
+ * `node_name`:
+ User or client identity (i.e., _name_) to use for authenticating
+ requests to the Chef Server.
+ * `client_key`:
+ Private key file to authenticate to the Chef server. Corresponds to the
+ `-k` or `--key` option.
+ * `chef_server_url`:
+ URL of the Chef server. Corresponds to the `-s` or `--server-url`
+ option. This is requested from the user when running this sub-command.
+ * `cache_type`:
+ The type of cache to use. Default is BasicFile. This can be any type of
+ Cache that moneta supports: BasicFile, Berkeley, Couch, DataMapper,
+ File, LMC, Memcache, Memory, MongoDB, Redis, Rufus, S3, SDBM, Tyrant,
+ Xattr, YAML.
+ * `cache_options`:
+ Specifies various options to use for caching. These options are
+ dependent on the `cache_type`.
+ * `validation_client_name`:
+ Specifies the name of the client used to validate new clients.
+ * `validation_key`:
+ Specifies the private key file to use when bootstrapping new hosts.
+ See knife-client(1) for more information about the validation
+ client.
+ * `cookbook_copyright`, `cookbook_email`, `cookbook_license`, `readme_format`
+ Used by `knife cookbook create` sub-command to specify the copyright
+ holder, maintainer email, license and readme format (respectively) for new cookbooks.
+ The copyright holder is listed as the maintainer in the cookbook's
+ metadata and as the Copyright in the comments of the default recipe. The
+ maintainer email is used in the cookbook metadata. The license
+ determines what preamble to put in the comment of the default recipe,
+ and is listed as the license in the cookbook metadata. Currently
+ supported licenses are "apachev2" and "none". Any other values will
+ result in an empty license in the metadata (needs to be filled in by the
+ author), and no comment preamble in the default recipe. Currently supported
+ readme formats are "md", "mkd", "txt", and "rdoc". Any other value will
+ result in an unformatted README.
+
+## FILES
+
+_~/.chef/knife.rb_
+
+Ruby DSL configuration file for knife. See __CONFIGURATION__.
+
+## FORMATS
+
+The amount of content displayed and the output format are
+modified by the `--format` option. If no alternate format is selected,
+the default is summary.
+
+Valid formats are:
+
+ * `summary`:
+ displays the node in a custom, summarized format (default)
+ * `text`:
+ displays the node data in its entirety using the colorized tree display
+ * `json`:
+ displays the node in JSON format
+ * `yaml`:
+ displays the node in YAML format
+ * `pp`:
+ displays the node using Ruby's pretty printer.
+
+For brevity, only the first character of the format is required, for
+example, -Fj will produce JSON format output.
+
+## CHEF WORKFLOW
+
+When working with Chef and Knife in the local repository, the recommended workflow outline looks like:
+
+* Create repository. A skeleton sample is provided at _http://github.com/opscode/chef-repo/_.
+* Configure knife, see __CONFIGURATION__.
+* Download cookbooks from the Opscode cookbooks site, see __COOKBOOK SITE SUB-COMMANDS__.
+* Or, create new cookbooks, see `cookbook create` sub-command.
+* Commit changes to the version control system. See your tool's documentation.
+* Upload cookbooks to the Chef Server, see __COOKBOOK SUB-COMMANDS__.
+* Launch instances in the Cloud, OR provision new hosts; see __CLOUD COMPUTING SUB-COMMANDS__ and __BOOTSTRAP SUB-COMMANDS__.
+* Watch Chef configure systems!
+
+A note about git: Opscode and many folks in the Chef community use git,
+but it is not required, except in the case of the `cookbook site vendor`
+sub-command, as it uses git directly. Version control is strongly
+recommended though, and git fits with a lot of the workflow paradigms.
+
+
+## EXAMPLES
+
+
+## ENVIRONMENT
+ * `EDITOR`:
+ The text editor to use for editing data. The --editor option takes
+ precedence over this value, and the --disable-editing option supresses
+ data editing entirely.
+
+## SEE ALSO
+ __chef-client(8)__ __chef-server(8)__ __chef-shell(1)__
+
+ __knife-bootstrap(1)__ __knife-client(1)__ __knife-configure(1)__
+ __knife-cookbook-site(1)__ __knife-cookbook(1)__ __knife-data-bag(1)__
+ __knife-environment(1)__ __knife-exec(1)__ __knife-index(1)__
+ __knife-node(1)__ __knife-recipe(1)__ __knife-role(1)__
+ __knife-search(1)__ __knife-ssh(1)__ __knife-tag(1)__
+
+ Complete Chef documentation is available online: <http://wiki.opscode.com/display/chef/Home/>
+
+ JSON is JavaScript Object Notation <http://json.org/>
+
+ SOLR is an open source search engine. <http://lucene.apache.org/solr/>
+
+ __git(1)__ is a version control system <http://git-scm.com/>
+
+ This manual page was generated from Markdown with __ronn(1)__ <http://rtomayko.github.com/ronn/ronn.1.html>
+
+## AUTHOR
+ Chef was written by Adam Jacob <adam@opscode.com> of Opscode
+ (<http://www.opscode.com>), with contributions from the community.
+
+## DOCUMENTATION
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
+
+## LICENSE
+ Both Chef and this documentation are released under the terms of the
+ Apache 2.0 License. You may view the license online: <http://www.apache.org/licenses/LICENSE-2.0.html>
+ On some systems, the complete text of the Apache 2.0 License may be found in `/usr/share/common-licenses/Apache-2.0`.
+
+## CHEF
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
+
diff --git a/distro/common/markdown/man8/chef-client.mkd b/distro/common/markdown/man8/chef-client.mkd
new file mode 100644
index 0000000000..e37d283133
--- /dev/null
+++ b/distro/common/markdown/man8/chef-client.mkd
@@ -0,0 +1,74 @@
+chef-client(8) -- Runs a client node connecting to a chef-server.
+========================================
+
+## SYNOPSIS
+
+__chef-client__ _(options)_
+
+ * `-S`, `--server CHEFSERVERURL`:
+ The chef server URL
+ * `-c`, `--config CONFIG`:
+ The configuration file to use
+ * `-d`, `--daemonize`:
+ Daemonize the process
+ * `-g`, `--group GROUP`:
+ Group to set privilege to
+ * `-i`, `--interval SECONDS`:
+ Run chef-client periodically, in seconds
+ * `-j`, `--json-attributes JSON_ATTRIBS`:
+ Load attributes from a JSON file or URL
+ * `-E`, `--environment ENVIRONMENT`:
+ Set the Chef Environment on the node
+ * `-l`, `--log_level LEVEL`:
+ Set the log level (debug, info, warn, error, fatal)
+ * `-L`, `--logfile LOGLOCATION`:
+ Set the log file location, defaults to STDOUT - recommended for
+ daemonizing
+ * `-N`, `--node-name NODE_NAME`:
+ The node name for this client
+ * `-o`, `--override-runlist`:
+ Replace current run list with specified items
+ * `-K`, `--validation_key KEY_FILE`:
+ Set the validation key file location, used for registering new clients
+ * `-k`, `--client_key KEY_FILE`:
+ Set the client key file location
+ * `-s`, `--splay SECONDS`:
+ The splay time for running at intervals, in seconds
+ * `-u`, `--user USER`:
+ User to set privilege to
+ * `-P`, `--pid PIDFILE`:
+ Set the PID file location, defaults to /tmp/chef-client.pid
+ * `--once`:
+ Cancel any interval or splay options, run chef once and exit
+ * `-v`, `--version`:
+ Show chef version
+ * `-h`, `--help`:
+ Show this message
+
+## DESCRIPTION
+
+The Chef Client is where almost all of the work in Chef is done. It
+communicates with the Chef Server via REST, authenticates via Signed
+Header Authentication, and compiles and executes Cookbooks.
+
+A Chef Client does work on behalf of a Node. A single Chef Client can
+run recipes for multiple Nodes.
+
+Clients are where all the action happens - the Chef Server and Chef Expander
+are largely services that exist only to provide the Client with information.
+
+## SEE ALSO
+
+Full documentation for Chef and chef-client is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <joshua@opscode.com> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.
diff --git a/distro/common/markdown/man8/chef-expander.mkd b/distro/common/markdown/man8/chef-expander.mkd
new file mode 100644
index 0000000000..d72ee1df9f
--- /dev/null
+++ b/distro/common/markdown/man8/chef-expander.mkd
@@ -0,0 +1,82 @@
+chef-expander(8) -- fetches messages from RabbitMQ, processes, and loads into chef-solr
+========================================
+
+## SYNOPSIS
+
+__chef-expander__ _(options)_
+
+ * `-c`, `--config CONFIG_FILE`:
+ a configuration file to use
+ * `-i`, `--index INDEX`:
+ the slot this node will occupy in the ring
+ * `-n`, `--node-count NUMBER`:
+ the number of nodes in the ring
+ * `-l`, `--log-level LOG_LEVEL`:
+ set the log level
+ * `-L`, `--logfile LOG_LOCATION`:
+ Logfile to use
+ * `-d`, `--daemonize`:
+ fork into the background
+ * `-P`, `--pid PIDFILE`:
+ PID file
+ * `-h`, `--help`:
+ show help message
+ * `-v`, `--version`:
+ show the version and exit
+
+## DESCRIPTION
+
+Chef Expander fetches messages from RabbitMQ, processes them into the
+correct format to be loaded into Solr and loads them into Solr.
+
+__Running Chef Expander__
+
+Chef Expander is designed for clustered operation, though small
+installations will only need one worker process. To run Chef
+Expander with one worker process, run chef-expander -n 1.
+You will then have a master and worker process, which looks like
+this in ps:
+
+ your-shell> ps aux|grep expander
+ you 52110 0.1 0.7 2515476 62748 s003 S+ 3:49PM 0:00.80 chef-expander worker #1 (vnodes 0-1023)
+ you 52108 0.1 0.5 2492880 41696 s003 S+ 3:49PM 0:00.91 ruby bin/chef-expander -n 1
+
+Workers are single threaded and therefore cannot use more than 100%
+of a single CPU. If you find that your queues are getting backlogged,
+increase the number of workers
+
+__Design__
+
+Chef Expander uses 1024 queues (called vnodes in some places) to allow
+you to scale the number of Chef Expander workers to meet the needs of
+your infrastructure. When objects are saved in the API server, they are
+added to queues based on their database IDs. These queues can be assigned
+to different Chef Expander workers to distribute the load of processing
+the index updates.
+
+__Chef Expander Operation and Troubleshooting__
+
+Chef Expander includes chef-expanderctl, a management program that allows
+you to get status information or change the logging verbosity (without
+restarting).
+
+See __chef-expanderctl__(8) for details.
+
+## SEE ALSO
+
+__chef-expanderctl__(8)
+__chef-solr__(8)
+
+Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was created by Nuo Yan <nuo@opscode.com>. Permission is
+granted to copy, distribute and / or modify this document under the
+terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0. \ No newline at end of file
diff --git a/distro/common/markdown/man8/chef-expanderctl.mkd b/distro/common/markdown/man8/chef-expanderctl.mkd
new file mode 100644
index 0000000000..00b34e7734
--- /dev/null
+++ b/distro/common/markdown/man8/chef-expanderctl.mkd
@@ -0,0 +1,58 @@
+chef-expanderctl(8) -- management program for chef-expander
+========================================
+
+## SYNOPSIS
+
+__chef-expanderctl__ _COMMAND_
+
+__Commands:__
+
+ * `help`:
+ Show help message
+ * `queue-depth`:
+ display the aggregate queue backlog
+ * `queue-status`:
+ show the backlog and consumer count for each vnode queue
+ * `node-status`:
+ show the status of the nodes in the cluster
+ * `log-level`:
+ sets the log level of all nodes in the cluster
+
+## DESCRIPTION
+
+Chef-expanderctl is a management program that allows
+you to get status information or change the logging
+verbosity (without restarting). chef-expanderctl has
+the following commands:
+
+* __chef-expanderctl help__
+prints usage.
+* __chef-expanderctl queue-depth__
+Shows the total number of messages in the queues.
+* __chef-expanderctl queue-status__
+Show the number of messages in each queue. This is mainly of use when
+debugging a Chef Expander cluster.
+* __chef-expanderctl log-level LEVEL__
+Sets the log level on a running Chef Expander or cluster.
+If you suspect that a worker process is stuck, as long as you are using
+clustered operation, you can simply kill the worker process and it will
+be restarted by the master process.
+
+## SEE ALSO
+
+__chef-expander-cluster__(8)
+__chef-solr__(8)
+
+Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was created by Nuo Yan <nuo@opscode.com>. Permission is
+granted to copy, distribute and / or modify this document under the
+terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0. \ No newline at end of file
diff --git a/distro/common/markdown/man8/chef-server-webui.mkd b/distro/common/markdown/man8/chef-server-webui.mkd
new file mode 100644
index 0000000000..977e1495e2
--- /dev/null
+++ b/distro/common/markdown/man8/chef-server-webui.mkd
@@ -0,0 +1,121 @@
+chef-server-webui(8) -- Start the Chef Server merb application slice providing Web User Interface (Management Console).
+========================================
+
+## SYNOPSIS
+
+__chef-server-webui__ _(options)_
+
+ * `-u`, `--user USER`:
+ This flag is for having chef-server-webui run as a user other than the
+ one currently logged in. Note: if you set this you must also provide a
+ --group option for it to take effect.
+ * `-G`, `--group GROUP`:
+ This flag is for having chef-server-webui run as a group other than the
+ one currently logged in. Note: if you set this you must also provide a
+ --user option for it to take effect.
+ * `-d`, `--daemonize`:
+ This will run a single chef-server-webui in the background.
+ * `-N`, `--no-daemonize`:
+ This will allow you to run a cluster in console mode.
+ * `-c`, `--cluster-nodes NUM_MERBS`:
+ Number of merb daemons to run for chef-server-webui.
+ * `-I`, `--init-file FILE`:
+ File to use for initialization on load, defaults to config/init.rb.
+ * `-p`, `--port PORTNUM`:
+ Port to run chef-server-webui on, defaults to 4040. Additional nodes (-c)
+ listen on incrementing port numbers.
+ * `-o`, `--socket-file FILE`:
+ Socket file to run chef-server-webui on, defaults to
+ [Merb.root]/log/merb.sock. This is for web servers, like thin, that use
+ sockets. Specify this *only* if you *must*.
+ * `-s`, `--socket SOCKNUM`:
+ Socket number to run chef-server-webui on, defaults to 0.
+ * `-n`, `--name NAME`:
+ Set the name of the application. This is used in the process title and
+ log file names.
+ * `-P`, `--pid PIDFILE`:
+ PID file, defaults to [Merb.root]/log/merb.main.pid for the master
+ process and[Merb.root]/log/merb.[port number].pid for worker processes.
+ For clusters, use %s to specify where in the file chef-server-webui
+ should place the port number. For instance: -P myapp.%s.pid.
+ * `-h`, `--host HOSTNAME`:
+ Host to bind to (default is 0.0.0.0).
+ * `-m`, `--merb-root PATH_TO_APP_ROOT`:
+ The path to the Merb.root for the app you want to run
+ (default is current working directory).
+ * `-a`, `--adapter ADAPTER`:
+ The rack adapter to use to run chef-server-webui (default is mongrel)
+ [mongrel, emongrel, thin, ebb, fastcgi, webrick].
+ * `-R`, `--rackup FILE`:
+ Load an alternate Rack config file (default is config/rack.rb).
+ * `-i`, `--irb-console`:
+ This flag will start chef-server-webui in irb console mode. All your models
+ and other classes will be available for you in an irb session.
+ * `-S`, `--sandbox`:
+ This flag will enable a sandboxed irb console. If your ORM supports
+ transactions, all edits will be rolled back on exit.
+ * `-l`, `--log-level LEVEL`:
+ Log levels can be set to any of these options:
+ debug < info < warn < error < fatal (default is info).
+ * `-L`, `--log LOGFILE`:
+ A string representing the logfile to use. Defaults to
+ [Merb.root]/log/merb.[main].log for the master process and
+ [Merb.root]/log/merb[port number].logfor worker processes.
+ * `-e`, `--environment STRING`:
+ Environment to run Merb under [development, production, testing]
+ (default is development).
+ * `-r`, `--script-runner ['RUBY CODE'| FULL_SCRIPT_PATH]`:
+ Command-line option to run scripts and/or code in the chef-server-webui
+ app.
+ * `-K`, `-graceful PORT or all`:
+ Gracefully kill chef-server-webui proceses by port number.
+ Use chef-server -K all to gracefully kill all merbs.
+ * `-k`, `--kill PORT`:
+ Force kill one merb worker by port number. This will cause the worker
+ to be respawned.
+ * `--fast-deploy`:
+ Reload the code, but not yourinit.rb or gems.
+ * `-X`, `--mutex on/off`:
+ This flag is for turning the mutex lock on and off.
+ * `-D`, `--debugger`:
+ Run chef-server-webui using rDebug.
+ * `-V`, `--verbose`:
+ Print extra information.
+ * `-C`, `--console-trap`:
+ Enter an irb console on ^C.
+ * `-?`, `-H`, `--help`:
+ Show this help message.
+
+## DESCRIPTION
+
+The Chef Server WebUI (Management Console) is a Merb application slice.
+The default listen port is 4040.
+
+The Management Console is Chef Server's web interface. Nodes, roles,
+cookbooks, data bags, and API clients can be managed through the Management
+Console. Search can also be done on the console.
+
+In order to start using the Management Console, you need to first create
+a user or change the default password on the "admin" user.
+
+The default credentials are:
+
+- `Username`: admin
+- `Password`: p@ssw0rd1
+
+## SEE ALSO
+
+Full documentation for Chef and chef-server-webui (Management Console)
+is located on the Chef wiki, http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <joshua@opscode.com> with
+help2man for the Debian project (but may be used by others). Permission
+is granted to copy, distribute and / or modify this document under the
+terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.
diff --git a/distro/common/markdown/man8/chef-server.mkd b/distro/common/markdown/man8/chef-server.mkd
new file mode 100644
index 0000000000..1b0f35eb77
--- /dev/null
+++ b/distro/common/markdown/man8/chef-server.mkd
@@ -0,0 +1,121 @@
+chef-server(8) - Start the Chef Server merb application slice.
+========================================
+
+## SYNOPSIS
+
+__chef-server__ _(options)_
+
+ * `-u`, `--user USER`:
+ This flag is for having chef-server-webui run as a user other than the
+ one currently logged in. Note: if you set this you must also provide a
+ --group option for it to take effect.
+ * `-G`, `--group GROUP`:
+ This flag is for having chef-server-webui run as a group other than the
+ one currently logged in. Note: if you set this you must also provide a
+ --user option for it to take effect.
+ * `-d`, `--daemonize`:
+ This will run a single chef-server-webui in the background.
+ * `-N`, `--no-daemonize`:
+ This will allow you to run a cluster in console mode.
+ * `-c`, `--cluster-nodes NUM_MERBS`:
+ Number of merb daemons to run for chef-server-webui.
+ * `-I`, `--init-file FILE`:
+ File to use for initialization on load, defaults to config/init.rb.
+ * `-p`, `--port PORTNUM`:
+ Port to run chef-server-webui on, defaults to 4040. Additional nodes (-c)
+ listen on incrementing port numbers.
+ * `-o`, `--socket-file FILE`:
+ Socket file to run chef-server-webui on, defaults to
+ [Merb.root]/log/merb.sock. This is for web servers, like thin, that use
+ sockets. Specify this *only* if you *must*.
+ * `-s`, `--socket SOCKNUM`:
+ Socket number to run chef-server-webui on, defaults to 0.
+ * `-n`, `--name NAME`:
+ Set the name of the application. This is used in the process title and
+ log file names.
+ * `-P`, `--pid PIDFILE`:
+ PID file, defaults to [Merb.root]/log/merb.main.pid for the master
+ process and[Merb.root]/log/merb.[port number].pid for worker processes.
+ For clusters, use %s to specify where in the file chef-server-webui
+ should place the port number. For instance: -P myapp.%s.pid.
+ * `-h`, `--host HOSTNAME`:
+ Host to bind to (default is 0.0.0.0).
+ * `-m`, `--merb-root PATH_TO_APP_ROOT`:
+ The path to the Merb.root for the app you want to run
+ (default is current working directory).
+ * `-a`, `--adapter ADAPTER`:
+ The rack adapter to use to run chef-server-webui (default is mongrel)
+ [mongrel, emongrel, thin, ebb, fastcgi, webrick].
+ * `-R`, `--rackup FILE`:
+ Load an alternate Rack config file (default is config/rack.rb).
+ * `-i`, `--irb-console`:
+ This flag will start chef-server-webui in irb console mode. All your models
+ and other classes will be available for you in an irb session.
+ * `-S`, `--sandbox`:
+ This flag will enable a sandboxed irb console. If your ORM supports
+ transactions, all edits will be rolled back on exit.
+ * `-l`, `--log-level LEVEL`:
+ Log levels can be set to any of these options:
+ debug < info < warn < error < fatal (default is info).
+ * `-L`, `--log LOGFILE`:
+ A string representing the logfile to use. Defaults to
+ [Merb.root]/log/merb.[main].log for the master process and
+ [Merb.root]/log/merb[port number].logfor worker processes.
+ * `-e`, `--environment STRING`:
+ Environment to run Merb under [development, production, testing]
+ (default is development).
+ * `-r`, `--script-runner ['RUBY CODE'| FULL_SCRIPT_PATH]`:
+ Command-line option to run scripts and/or code in the chef-server-webui
+ app.
+ * `-K`, `-graceful PORT or all`:
+ Gracefully kill chef-server-webui proceses by port number.
+ Use chef-server -K all to gracefully kill all merbs.
+ * `-k`, `--kill PORT`:
+ Force kill one merb worker by port number. This will cause the worker
+ to be respawned.
+ * `--fast-deploy`:
+ Reload the code, but not yourinit.rb or gems.
+ * `-X`, `--mutex on/off`:
+ This flag is for turning the mutex lock on and off.
+ * `-D`, `--debugger`:
+ Run chef-server-webui using rDebug.
+ * `-V`, `--verbose`:
+ Print extra information.
+ * `-C`, `--console-trap`:
+ Enter an irb console on ^C.
+ * `-?`, `-H`, `--help`:
+ Show this help message.
+
+## DESCRIPTION
+
+The Chef Server provides a central point for the distribution of Cookbooks,
+management and authentication of Nodes, and the use of Search. It provides
+a REST API.
+
+The API service is what clients use to interact with the server to manage
+node configuration in Chef. By default, the service is started on port 4000
+as a Merb application slice running with the thin server adapter.
+
+The two methods of interaction with the API for humans are the command-line
+tool Knife and the Management Console. The Chef Client library is used for
+interacting with the API for client nodes.
+
+## SEE ALSO
+
+__chef-client__(8)
+__chef-server-webui__(8)
+__knife__(1)
+
+Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <joshua@opscode.com> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.
diff --git a/distro/common/markdown/man8/chef-solo.mkd b/distro/common/markdown/man8/chef-solo.mkd
new file mode 100644
index 0000000000..861a0faa2d
--- /dev/null
+++ b/distro/common/markdown/man8/chef-solo.mkd
@@ -0,0 +1,107 @@
+chef-solo(8) -- Runs chef in solo mode against a specified cookbook location.
+========================================
+
+## SYNOPSIS
+
+__chef-solo__ _(options)_
+
+ * `-c`, `--config CONFIG`:
+ The configuration file to use
+ * `-d`, `--daemonize`:
+ Daemonize the process
+ * `-g`, `--group GROUP`:
+ Group to set privilege to
+ * `-i`, `--interval SECONDS`:
+ Run chef-client periodically, in seconds
+ * `-j`, `--json-attributes JSON_ATTRIBS`:
+ Load attributes from a JSON file or URL
+ * `-l`, `--log_level LEVEL`:
+ Set the log level (debug, info, warn, error, fatal)
+ * `-L`, `--logfile LOGLOCATION`:
+ Set the log file location, defaults to STDOUT - recommended for
+ daemonizing
+ * `-N`, `--node-name NODE_NAME`:
+ The node name for this client
+ * `-r`, `--recipe-url RECIPE_URL`:
+ Pull down a remote gzipped tarball of recipes and untar it to the
+ cookbook cache.
+ * `-s`, `--splay SECONDS`:
+ The splay time for running at intervals, in seconds
+ * `-u`, `--user USER`:
+ User to set privilege to
+ * `-v`, `--version`:
+ Show chef version
+ * `-h`, `--help`:
+ Show this message
+
+## DESCRIPTION
+
+Chef Solo allows you to run Chef Cookbooks in the absence of a Chef Server.
+To do this, the complete cookbook needs to be present on disk.
+
+By default Chef Solo will look in /etc/chef/solo.rb for its configuration.
+This configuration file has two required variables: file_cache_path and
+cookbook_path.
+
+For example:
+ file_cache_path "/var/chef-solo"
+ cookbook_path "/var/chef-solo/cookbooks"
+
+For your own systems, you can change this to reflect any directory you like,
+but you'll need to specify absolute paths and the cookbook_path directory
+should be a subdirectory of the file_cache_path.
+
+You can also specify cookbook_path as an array, passing multiple locations
+to search for cookbooks.
+
+For example:
+ file_cache_path "/var/chef-solo"
+ cookbook_path ["/var/chef-solo/cookbooks", "/var/chef-solo/site-cookbooks"]
+
+Note that earlier entries are now overridden by later ones.
+
+Since chef-solo doesn't have any interaction with a Chef Server, you'll need
+to specify node-specifc attributes in a JSON file. This can be located on the
+target system itself, or it can be stored on a remote server such as S3, or a
+web server on your network.
+
+Within the JSON file, you'll also specify the recipes that Chef should run in
+the "run_list". An example JSON file, which sets a resolv.conf:
+
+ {
+ "resolver": {
+ "nameservers": [ "10.0.0.1" ],
+ "search":"int.example.com"
+ },
+ "run_list": [ "recipe[resolver]" ]
+ }
+
+Then you can run chef-solo with -j to specify the JSON file. It will look for
+cookbooks in the cookbook_path configured in the configuration file, and apply
+attributes and use the run_list from the JSON file specified.
+
+You can use -c to specify the path to the configuration file (if you don't want
+chef-solo to use the default). You can also specify -r for a cookbook tarball.
+
+For example:
+ chef-solo -c ~/solo.rb -j ~/node.json -r http://www.example.com/chef-solo.tar.gz
+
+In the above case, chef-solo would extract the tarball to your specified
+cookbook_path, use ~/solo.rb as the configuration file, and apply attributes
+and use the run_list from ~/node.json.
+
+## SEE ALSO
+
+Full documentation for Chef and chef-solo is located on the Chef wiki,
+http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <joshua@opscode.com> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.
diff --git a/distro/common/markdown/man8/chef-solr.mkd b/distro/common/markdown/man8/chef-solr.mkd
new file mode 100644
index 0000000000..02e7d6285e
--- /dev/null
+++ b/distro/common/markdown/man8/chef-solr.mkd
@@ -0,0 +1,89 @@
+chef-solr(8) -- Runs as Chef's search server
+========================================
+
+## SYNOPSIS
+
+__chef-solr__ _(options)_
+
+ * `-c`, `--config CONFIG`:
+ The configuration file to use
+ * `-d`, `--daemonize`:
+ Daemonize the process
+ * `-g`, `--group GROUP`:
+ Group to set privilege to
+ * `-l`, `--log_level LEVEL`:
+ Set the log level (debug, info, warn, error, fatal)
+ * `-L`, `--logfile LOGLOCATION`:
+ Set the log file location, defaults to STDOUT - recommended for daemonizing
+ * `-P`, `--pid PIDFILE`:
+ Set the PID file location, defaults to /tmp/chef-solr.pid
+ * `-D`, `--solr-data-dir PATH`:
+ Where the Solr data lives
+ * `-x`, `--solor-heap-size SIZE`:
+ Set the size of the Java Heap
+ * `-H`, `--solr-home-dir PATH`:
+ Solr home directory
+ * `-j`, `--java-opts OPTS`:
+ Raw options passed to Java
+ * `-x`, `--solor-heap-size`:
+ Set the size of the Java Heap
+ * `-W`, `--solr-jetty-dir PATH`:
+ Where to place the Solr Jetty instance
+ * `-u`, `--user USER`:
+ User to set privilege to
+ * `-v`, `--version`:
+ Show chef-solr version
+ * `-h`, `--help`:
+ Show this message
+
+## DESCRIPTION
+
+Chef-solr provides search service for Chef. You need to have both
+chef-solr and chef-expander-cluster running in order for search to work.
+
+__Installation__
+
+Make sure you backed up your data if you are upgrading from a previous version.
+Run chef-solr-installer to upgrade your Chef Solr installation. Answer "yes"
+when prompted for confirmation. The process should look like this:
+
+ yourshell> chef-solr-installer
+ Configuration setting solr_heap_size is unknown and will be ignored
+
+ Chef Solr is already installed in /var/chef/solr
+ Do you want to overwrite the current install? All existing Solr data will be lost. [y/n] y
+ Removing the existing Chef Solr installation
+ rm -rf /var/chef/solr
+ rm -rf /var/chef/solr-jetty
+ rm -rf /var/chef/solr/data
+ Creating Solr Home Directory
+ mkdir -p /var/chef/solr
+ entering /var/chef/solr
+ tar zxvf /Users/ddeleo/opscode/chef/chef-solr/solr/solr-home.tar.gz
+ Creating Solr Data Directory
+ mkdir -p /var/chef/solr/data
+ Unpacking Solr Jetty
+ mkdir -p /var/chef/solr-jetty
+ entering /var/chef/solr-jetty
+ tar zxvf /Users/ddeleo/opscode/chef/chef-solr/solr/solr-jetty.tar.gz
+
+ Successfully installed Chef Solr.
+ You can restore your search index using `knife index rebuild`
+
+## SEE ALSO
+
+__chef-expander-cluster__(8)
+
+Full documentation for Chef and chef-server is located on the Chef
+wiki, http://wiki.opscode.com/display/chef/Home.
+
+## AUTHOR
+
+Chef was written by Adam Jacob <adam@ospcode.com> of Opscode
+(http://www.opscode.com), with contributions from the community. This
+manual page was written by Joshua Timberman <joshua@opscode.com> with
+help2man. Permission is granted to copy, distribute and / or modify
+this document under the terms of the Apache 2.0 License.
+
+On Debian systems, the complete text of the Apache 2.0 License can be
+found in /usr/share/common-licenses/Apache-2.0.
diff --git a/distro/debian/etc/default/chef-client b/distro/debian/etc/default/chef-client
new file mode 100644
index 0000000000..a6413a30d4
--- /dev/null
+++ b/distro/debian/etc/default/chef-client
@@ -0,0 +1,4 @@
+LOGFILE=/var/log/chef/client.log
+CONFIG=/etc/chef/client.rb
+INTERVAL=1800
+SPLAY=20
diff --git a/distro/debian/etc/default/chef-expander b/distro/debian/etc/default/chef-expander
new file mode 100644
index 0000000000..3d855705ba
--- /dev/null
+++ b/distro/debian/etc/default/chef-expander
@@ -0,0 +1,8 @@
+LOGFILE=/var/log/chef/expander.log
+CONFIG=/etc/chef/solr.rb
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+DIETIME=5
+STARTTIME=5
+CHEF_EXPANDER_ARGS="-n 1 -i 1"
diff --git a/distro/debian/etc/default/chef-server b/distro/debian/etc/default/chef-server
new file mode 100644
index 0000000000..b91a3ce81c
--- /dev/null
+++ b/distro/debian/etc/default/chef-server
@@ -0,0 +1,9 @@
+LOGFILE=/var/log/chef/server.log
+CONFIG=/etc/chef/server.rb
+ADAPTER=thin
+PORT=4000
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+STARTTIME=10
+DIETIME=5
diff --git a/distro/debian/etc/default/chef-server-webui b/distro/debian/etc/default/chef-server-webui
new file mode 100644
index 0000000000..50dd22a288
--- /dev/null
+++ b/distro/debian/etc/default/chef-server-webui
@@ -0,0 +1,9 @@
+LOGFILE=/var/log/chef/server-webui.log
+CONFIG=/etc/chef/webui.rb
+ADAPTER=thin
+PORT=4040
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+STARTTIME=10
+DIETIME=5
diff --git a/distro/debian/etc/default/chef-solr b/distro/debian/etc/default/chef-solr
new file mode 100644
index 0000000000..7f5220c058
--- /dev/null
+++ b/distro/debian/etc/default/chef-solr
@@ -0,0 +1,8 @@
+LOGFILE=/var/log/chef/solr.log
+CONFIG=/etc/chef/solr.rb
+USER=chef
+GROUP=chef
+# Sleep to give daemon enough time to fully start or stop.
+DIETIME=5
+STARTTIME=5
+MAXTRIES=20
diff --git a/distro/debian/etc/init.d/chef-client b/distro/debian/etc/init.d/chef-client
new file mode 100755
index 0000000000..8f99748f59
--- /dev/null
+++ b/distro/debian/etc/init.d/chef-client
@@ -0,0 +1,210 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: chef-client
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start a chef-client.
+### END INIT INFO
+#
+# Copyright (c) 2009-2010 Opscode, Inc, <legal@opscode.com>
+#
+# chef-client Startup script for chef-client.
+# chkconfig: - 99 02
+# description: starts up chef-client in daemon mode.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=$(which chef-client)
+NAME=chef-client
+DESC=chef-client
+PIDFILE=/var/run/chef/client.pid
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+if [ ! -d /var/run/chef ]; then
+ mkdir /var/run/chef
+fi
+
+DAEMON_OPTS="-d -P $PIDFILE -c $CONFIG -i $INTERVAL -s $SPLAY"
+
+if [ ! -z $LOGFILE ]; then
+ DAEMON_OPTS="${DAEMON_OPTS} -L $LOGFILE"
+fi
+
+running_pid() {
+ pid=$1
+ name=$2
+ [ -z "$pid" ] && return 1
+ [ ! -d /proc/$pid ] && return 1
+ cmd=`awk '/Name:/ {print $2}' /proc/$pid/status`
+ [ "$cmd" != "$name" ] && return 1
+ return 0
+}
+
+running() {
+ [ ! -f "$PIDFILE" ] && return 1
+ pid=`cat $PIDFILE`
+ running_pid $pid $NAME || return 1
+ return 0
+}
+
+start_server() {
+ if [ -z "$DAEMONUSER" ] ; then
+ start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS
+ errcode=$?
+ else
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --chuid $DAEMONUSER \
+ --exec $DAEMON -- $DAEMON_OPTS
+ errcode=$?
+ fi
+ return $errcode
+}
+
+stop_server() {
+ if [ -z "$DAEMONUSER" ] ; then
+ killproc -p $PIDFILE $DAEMON
+ errcode=$?
+ else
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER \
+ --exec $DAEMON
+ errcode=$?
+ fi
+ return $errcode
+}
+
+reload_server() {
+ if [ -z "$DAEMONUSER" ] ; then
+ killproc -p $PIDFILE $DAEMON -HUP
+ errcode=$?
+ else
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER \
+ --exec $DAEMON
+ errcode=$?
+ fi
+ return $errcode
+}
+
+run_server() {
+ if [ -z "$DAEMONUSER" ] ; then
+ killproc -p $PIDFILE $DAEMON -USR1
+ errcode=$?
+ else
+ start-stop-daemon --stop --signal USR1 --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER \
+ --exec $DAEMON
+ errcode=$?
+ fi
+ return $errcode
+}
+
+force_stop() {
+ [ ! -e "$PIDFILE" ] && return
+ if running ; then
+ /bin/kill -15 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ /bin/kill -9 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ echo "Cannot kill $NAME (pid=$pid)!"
+ exit 1
+ fi
+ fi
+ fi
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC " "$NAME"
+ if running ; then
+ log_progress_msg "apparently already running"
+ log_end_msg 0
+ exit 0
+ fi
+ if start_server ; then
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ if running ; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ else
+ log_end_msg 1
+ fi
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ if running ; then
+ errcode=0
+ stop_server || errcode=$?
+ log_end_msg $errcode
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 0
+ exit 0
+ fi
+ ;;
+ force-stop)
+ $0 stop
+ if running; then
+ log_daemon_msg "Stopping (force) $DESC" "$NAME"
+ errcode=0
+ force_stop || errcode=$?
+ log_end_msg $errcode
+ fi
+ ;;
+ restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ errcode=0
+ stop_server || errcode=$?
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ start_server || errcode=$?
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ running || errcode=$?
+ log_end_msg $errcode
+ ;;
+ status)
+ log_daemon_msg "Checking status of $DESC" "$NAME"
+ if running ; then
+ log_progress_msg "running"
+ log_end_msg 0
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 1
+ exit 3
+ fi
+ ;;
+ reload)
+ if running; then
+ log_daemon_msg "Reloading $DESC" "$NAME"
+ errcode=0
+ reload_server || errcode=$?
+ log_end_msg $errcode
+ fi
+ ;;
+ run)
+ if running; then
+ log_daemon_msg "Triggering run of $DESC" "$NAME"
+ errcode=0
+ run_server || errcode=$?
+ log_end_msg $errcode
+ fi
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|force-stop|restart|force-reload|status|run}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/distro/debian/etc/init.d/chef-expander b/distro/debian/etc/init.d/chef-expander
new file mode 100755
index 0000000000..7fea0e9118
--- /dev/null
+++ b/distro/debian/etc/init.d/chef-expander
@@ -0,0 +1,176 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: chef-expander
+# Required-Start: $remote_fs $network rabbitmq-server chef-solr
+# Required-Stop: $remote_fs $network rabbitmq-server chef-solr
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start a chef-expander.
+### END INIT INFO
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# chef-expander Startup script for chef-expander.
+# chkconfig: - 85 02
+# description: starts up chef-expander in daemon mode.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=$(which chef-expander)
+NAME=chef-expander
+DESC=chef-expander
+PIDFILE=/var/run/chef/expander.pid
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+if [ ! -d /var/run/chef ]; then
+ mkdir /var/run/chef
+ chown $USER:$GROUP /var/run/chef
+fi
+
+DAEMON_OPTS="-d -c $CONFIG -P $PIDFILE -L $LOGFILE $CHEF_EXPANDER_ARGS"
+
+running_pid() {
+ pid=$1
+ name=$2
+ [ -z "$pid" ] && return 1
+ [ ! -d /proc/$pid ] && return 1
+ cmd=`cat /proc/$pid/cmdline | tr '\000' '\n' | awk 'NR==2'`
+ [ "$cmd" != "$name" ] && return 1
+ return 0
+}
+
+running() {
+ [ ! -f "$PIDFILE" ] && return 1
+ pid=`cat $PIDFILE`
+ running_pid $pid $DAEMON || return 1
+ return 0
+}
+
+start_server() {
+ if [ -z "$DAEMONUSER" ] ; then
+ start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS
+ errcode=$?
+ else
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --chuid $DAEMONUSER \
+ --exec $DAEMON -- $DAEMON_OPTS
+ errcode=$?
+ fi
+ return $errcode
+}
+
+stop_server() {
+ if [ -z "$DAEMONUSER" ] ; then
+ killproc -p $PIDFILE $DAEMON
+ errcode=$?
+ else
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER \
+ --exec $DAEMON
+ errcode=$?
+ fi
+ return $errcode
+}
+
+reload_server() {
+ [ ! -f "$PIDFILE" ] && return 1
+ pid=pidofproc $PIDFILE # This is the daemon's pid
+ /bin/kill -1 $pid
+ return $?
+}
+
+force_stop() {
+ [ ! -e "$PIDFILE" ] && return
+ if running ; then
+ /bin/kill -15 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ /bin/kill -9 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ echo "Cannot kill $NAME (pid=$pid)!"
+ exit 1
+ fi
+ fi
+ fi
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC " "$NAME"
+ if running ; then
+ log_progress_msg "apparently already running"
+ log_end_msg 0
+ exit 3
+ fi
+ if start_server ; then
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ if running ; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ else
+ log_end_msg 1
+ fi
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ if running ; then
+ errcode=0
+ stop_server || errcode=$?
+ log_end_msg $errcode
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 0
+ exit 0
+ fi
+ ;;
+ force-stop)
+ $0 stop
+ if running; then
+ log_daemon_msg "Stopping (force) $DESC" "$NAME"
+ errcode=0
+ force_stop || errcode=$?
+ log_end_msg $errcode
+ fi
+ ;;
+ restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ errcode=0
+ stop_server || errcode=$?
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ start_server || errcode=$?
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ running || errcode=$?
+ log_end_msg $errcode
+ ;;
+ status)
+ log_daemon_msg "Checking status of $DESC" "$NAME"
+ if running ; then
+ log_progress_msg "running"
+ log_end_msg 0
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 1
+ exit 1
+ fi
+ ;;
+ reload)
+ log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
+ log_warning_msg "cannot re-read the config file (use restart)."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/distro/debian/etc/init.d/chef-server b/distro/debian/etc/init.d/chef-server
new file mode 100755
index 0000000000..f7c1ede583
--- /dev/null
+++ b/distro/debian/etc/init.d/chef-server
@@ -0,0 +1,122 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: chef-server
+# Required-Start: $remote_fs $network rabbitmq-server couchdb
+# Required-Stop: $remote_fs $network rabbitmq-server couchdb
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start a chef-server.
+### END INIT INFO
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# chef-server Startup script for chef-server.
+# chkconfig: - 90 02
+# description: starts up chef-server webui.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=$(which chef-server)
+PIDFILE=/var/run/chef/server.%s.pid
+MAINPID=/var/run/chef/server.main.pid
+NAME=chef-server
+DESC=chef-server
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+if [ ! -d /var/run/chef ]; then
+ mkdir /var/run/chef
+ chown $USER:$GROUP /var/run/chef
+fi
+
+DAEMON_OPTS="-p $PORT -e production -d -a $ADAPTER -P $PIDFILE -L $LOGFILE -C $CONFIG -u $USER -G $GROUP"
+
+running() {
+ [ ! -f "$MAINPID" ] && return 1
+ pid=`cat $MAINPID`
+ [ -z "$pid" ] && return 1
+ [ ! -d /proc/$pid ] && return 1
+ (ps -fp $pid | egrep -q "merb.*(merb : master|worker.*$PORT)") || return 1
+ return 0
+}
+
+start_server() {
+ $DAEMON $DAEMON_OPTS
+ errcode=$?
+ return $errcode
+}
+
+stop_server() {
+ $DAEMON -K all -P $PIDFILE
+ errcode=$?
+ return $errcode
+}
+
+reload_server() {
+ stop_server
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ start_server
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC "
+ if running ; then
+ log_progress_msg "apparently already running"
+ log_end_msg 0
+ exit 0
+ fi
+ if start_server ; then
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ if running ; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ else
+ log_end_msg 1
+ fi
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC"
+ if running ; then
+ errcode=0
+ stop_server || errcode=$?
+ log_end_msg $errcode
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 0
+ exit 0
+ fi
+ ;;
+ restart|force-reload)
+ log_daemon_msg "Restarting $DESC"
+ errcode=0
+ reload_server
+ running && errcode=$?
+ log_end_msg $errcode
+ ;;
+ status)
+ log_daemon_msg "Checking status of $DESC"
+ if running ; then
+ log_progress_msg "running"
+ log_end_msg 0
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 1
+ exit 3
+ fi
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/distro/debian/etc/init.d/chef-server-webui b/distro/debian/etc/init.d/chef-server-webui
new file mode 100755
index 0000000000..c82171cedb
--- /dev/null
+++ b/distro/debian/etc/init.d/chef-server-webui
@@ -0,0 +1,123 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: chef-server-webui
+# Required-Start: $remote_fs $network chef-server
+# Required-Stop: $remote_fs $network chef-server
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start a chef-server-webui
+### END INIT INFO
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# chef-server-webui Startup script for chef-server-webui.
+# chkconfig: - 95 02
+# description: starts up chef-server webui.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=$(which chef-server-webui)
+PIDFILE=/var/run/chef/server-webui.%s.pid
+MAINPID=/var/run/chef/server-webui.main.pid
+NAME=chef-server-webui
+DESC=chef-server-webui
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+if [ ! -d /var/run/chef ]; then
+ mkdir /var/run/chef
+ chown $USER:$GROUP /var/run/chef
+fi
+
+DAEMON_OPTS="-p $PORT -e production -d -a $ADAPTER -P $PIDFILE -L $LOGFILE -C $CONFIG -u $USER -G $GROUP"
+
+running() {
+ [ ! -f "$MAINPID" ] && return 1
+ pid=`cat $MAINPID`
+ name=$WORKER
+ [ -z "$pid" ] && return 1
+ [ ! -d /proc/$pid ] && return 1
+ (ps -fp $pid | egrep -q "merb.*(merb : master|worker.*$PORT)") || return 1
+ return 0
+}
+
+start_server() {
+ $DAEMON $DAEMON_OPTS
+ errcode=$?
+ return $errcode
+}
+
+stop_server() {
+ $DAEMON -K all -P $PIDFILE
+ errcode=$?
+ return $errcode
+}
+
+reload_server() {
+ stop_server
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ start_server
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC "
+ if running ; then
+ log_progress_msg "apparently already running"
+ log_end_msg 0
+ exit 0
+ fi
+ if start_server ; then
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ if running ; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ else
+ log_end_msg 1
+ fi
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC"
+ if running ; then
+ errcode=0
+ stop_server || errcode=$?
+ log_end_msg $errcode
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 0
+ exit 0
+ fi
+ ;;
+ restart|force-reload)
+ log_daemon_msg "Restarting $DESC"
+ errcode=0
+ reload_server
+ running && errcode=$?
+ log_end_msg $errcode
+ ;;
+ status)
+ log_daemon_msg "Checking status of $DESC"
+ if running ; then
+ log_progress_msg "running"
+ log_end_msg 0
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 1
+ exit 3
+ fi
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/distro/debian/etc/init.d/chef-solr b/distro/debian/etc/init.d/chef-solr
new file mode 100755
index 0000000000..1e4c0b8b51
--- /dev/null
+++ b/distro/debian/etc/init.d/chef-solr
@@ -0,0 +1,176 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: chef-solr
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start a chef-solr.
+### END INIT INFO
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# chef-solr Startup script for chef-solr.
+# chkconfig: - 84 02
+# description: starts up chef-solr in daemon mode.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=$(which chef-solr)
+DAEMON_NAME=java
+NAME=chef-solr
+DESC=chef-solr
+PIDFILE=/var/run/chef/solr.pid
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+if [ ! -d /var/run/chef ]; then
+ mkdir /var/run/chef
+ chown $USER:$GROUP /var/run/chef
+fi
+
+if [ ! -f $LOGFILE ]; then
+ touch $LOGFILE
+ chown $USER:$GROUP $LOGFILE
+fi
+
+DAEMON_OPTS="-d -P $PIDFILE -c $CONFIG -L $LOGFILE -u $USER -g $GROUP"
+
+running_pid() {
+ pid=$1
+ name=$2
+ [ -z "$pid" ] && return 1
+ [ ! -d /proc/$pid ] && return 1
+ cmd=`cat /proc/$pid/cmdline | tr '\000' '\n' | head -1`
+ [ "$cmd" != "$name" ] && return 1
+ return 0
+}
+
+running() {
+ [ ! -f "$PIDFILE" ] && return 1
+ pid=`cat $PIDFILE`
+ running_pid $pid $DAEMON_NAME || return 1
+ return 0
+}
+
+start_server() {
+ start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS
+ errcode=$?
+ for i in `seq 0 $MAXTRIES`
+ do
+ if running; then
+ errcode=0
+ break
+ else
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ fi
+ done
+ return $errcode
+}
+
+stop_server() {
+ killproc -p $PIDFILE $DAEMON
+ errcode=$?
+ return $errcode
+}
+
+reload_server() {
+ [ ! -f "$PIDFILE" ] && return 1
+ pid=pidofproc $PIDFILE # This is the daemon's pid
+ /bin/kill -1 $pid
+ return $?
+}
+
+force_stop() {
+ [ ! -e "$PIDFILE" ] && return
+ if running ; then
+ /bin/kill -15 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ /bin/kill -9 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ echo "Cannot kill $NAME (pid=$pid)!"
+ exit 1
+ fi
+ fi
+ fi
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC " "$NAME"
+ if running ; then
+ log_progress_msg "apparently already running"
+ log_end_msg 0
+ exit 3
+ fi
+ if start_server ; then
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ if running ; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ else
+ log_end_msg 1
+ fi
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ if running ; then
+ errcode=0
+ stop_server || errcode=$?
+ log_end_msg $errcode
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 0
+ exit 0
+ fi
+ ;;
+ force-stop)
+ $0 stop
+ if running; then
+ log_daemon_msg "Stopping (force) $DESC" "$NAME"
+ errcode=0
+ force_stop || errcode=$?
+ log_end_msg $errcode
+ fi
+ ;;
+ restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ errcode=0
+ stop_server || errcode=$?
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ start_server || errcode=$?
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+ running || errcode=$?
+ log_end_msg $errcode
+ ;;
+ status)
+ log_daemon_msg "Checking status of $DESC" "$NAME"
+ if running ; then
+ log_progress_msg "running"
+ log_end_msg 0
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 1
+ exit 1
+ fi
+ ;;
+ reload)
+ log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
+ log_warning_msg "cannot re-read the config file (use restart)."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/distro/debian/etc/init/chef-client.conf b/distro/debian/etc/init/chef-client.conf
new file mode 100644
index 0000000000..1f8c6d0d9b
--- /dev/null
+++ b/distro/debian/etc/init/chef-client.conf
@@ -0,0 +1,17 @@
+# chef-client - Chef Configuration Management Client
+#
+# Chef Client provides the Chef configuration management daemon
+
+description "Chef Client"
+
+start on filesystem
+stop on runlevel [!2345]
+
+respawn
+respawn limit 5 30
+
+pre-start script
+ test -x /usr/bin/chef-client || { stop; exit 0; }
+end script
+
+exec /usr/bin/chef-client -i 1800 -L /var/log/chef/client.log
diff --git a/distro/debian/etc/init/chef-expander.conf b/distro/debian/etc/init/chef-expander.conf
new file mode 100644
index 0000000000..21ff246307
--- /dev/null
+++ b/distro/debian/etc/init/chef-expander.conf
@@ -0,0 +1,17 @@
+# chef-expander - Chef Expander
+#
+# Chef Expander provides indexing of Solr for Chef Server
+
+description "Chef Expander"
+
+start on filesystem
+stop on runlevel [!2345]
+
+respawn
+respawn limit 5 30
+
+pre-start script
+ test -x /usr/bin/chef-expander || { stop; exit 0; }
+end script
+
+exec /usr/bin/chef-expander -c /etc/chef/solr.rb -L /var/log/chef/expander.log -n 1 -i 1
diff --git a/distro/debian/etc/init/chef-server-webui.conf b/distro/debian/etc/init/chef-server-webui.conf
new file mode 100644
index 0000000000..8b443c51f5
--- /dev/null
+++ b/distro/debian/etc/init/chef-server-webui.conf
@@ -0,0 +1,17 @@
+# chef-server-webui - Chef Server WebUI
+#
+# Chef Server WebUI provides the browser-accessible UI to the Chef Server API
+
+description "Chef Server WebUI"
+
+start on filesystem
+stop on runlevel [!2345]
+
+respawn
+respawn limit 5 30
+
+pre-start script
+ test -x /usr/bin/chef-server-webui || { stop; exit 0; }
+end script
+
+exec /usr/bin/chef-server-webui -e production -p 4040 -L /var/log/chef/server-webui.log
diff --git a/distro/debian/etc/init/chef-server.conf b/distro/debian/etc/init/chef-server.conf
new file mode 100644
index 0000000000..1eebd8f0cb
--- /dev/null
+++ b/distro/debian/etc/init/chef-server.conf
@@ -0,0 +1,17 @@
+# chef-server - Chef Server
+#
+# Chef Server provides the Chef API server
+
+description "Chef Server API"
+
+start on filesystem
+stop on runlevel [!2345]
+
+respawn
+respawn limit 5 30
+
+pre-start script
+ test -x /usr/bin/chef-server || { stop; exit 0; }
+end script
+
+exec /usr/bin/chef-server -e production -p 4000 -L /var/log/chef/server.log
diff --git a/distro/debian/etc/init/chef-solr.conf b/distro/debian/etc/init/chef-solr.conf
new file mode 100644
index 0000000000..4ca885e28d
--- /dev/null
+++ b/distro/debian/etc/init/chef-solr.conf
@@ -0,0 +1,17 @@
+# chef-solr - Chef Solr
+#
+# Chef Solr provides Solr search for Chef Server
+
+description "Chef Solr"
+
+start on filesystem
+stop on runlevel [!2345]
+
+respawn
+respawn limit 5 30
+
+pre-start script
+ test -x /usr/bin/chef-solr || { stop; exit 0; }
+end script
+
+exec /usr/bin/chef-solr -c /etc/chef/solr.rb -L /var/log/chef/solr.log
diff --git a/distro/redhat/etc/init.d/chef-client b/distro/redhat/etc/init.d/chef-client
new file mode 100644
index 0000000000..fbeaa395c0
--- /dev/null
+++ b/distro/redhat/etc/init.d/chef-client
@@ -0,0 +1,121 @@
+#!/bin/bash
+#
+# chef-client Startup script for the Chef client
+#
+# chkconfig: - 98 02
+# description: Client component of the Chef systems integration framework.
+
+### BEGIN INIT INFO
+# Provides: chef-client
+# Required-Start: $local_fs $network $remote_fs
+# Required-Stop: $local_fs $network $remote_fs
+# Should-Start: $named $time
+# Should-Stop: $named $time
+# Short-Description: Startup script for the Chef client
+# Description: Client component of the Chef systems integration framework.
+### END INIT INFO
+
+# Source function library
+. /etc/init.d/functions
+
+exec="/usr/bin/chef-client"
+prog="chef-client"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+config=${CONFIG-/etc/chef/client.rb}
+pidfile=${PIDFILE-/var/run/chef/client.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/$prog}
+logfile=${LOGFILE-/var/log/chef/client.log}
+interval=${INTERVAL-1800}
+splay=${SPLAY-20}
+options=${OPTIONS-}
+
+start() {
+ [ -x $exec ] || exit 5
+ [ -f $config ] || exit 6
+ echo -n $"Starting $prog: "
+ daemon chef-client -d -c "$config" -L "$logfile" -P "$pidfile" -i "$interval" -s "$splay" "$options"
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile chef-client
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart () {
+ stop
+ start
+}
+
+reload() {
+ echo -n $"Reloading $prog: "
+ killproc -p $pidfile chef-client -HUP
+ retval=$?
+ echo
+ return $retval
+}
+
+run() {
+ echo -n $"Triggering run of $prog: "
+ killproc -p $pidfile chef-client -USR1
+ retval=$?
+ echo
+ return $retval
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ run)
+ $1
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|run}"
+ exit 2
+esac
+exit $?
diff --git a/distro/redhat/etc/init.d/chef-expander b/distro/redhat/etc/init.d/chef-expander
new file mode 100644
index 0000000000..82ae34dd62
--- /dev/null
+++ b/distro/redhat/etc/init.d/chef-expander
@@ -0,0 +1,104 @@
+#!/bin/bash
+#
+# chef-expander Startup script for the Chef search indexer
+#
+# chkconfig: - 95 05
+# description: Search indexer component of the Chef Server.
+
+### BEGIN INIT INFO
+# Provides: chef-expander
+# Required-Start: $local_fs $network $remote_fs chef-solr rabbitmq-server
+# Required-Stop: $local_fs $network $remote_fs chef-solr rabbitmq-server
+# Should-Start: $named $time
+# Should-Stop: $named $time
+# Short-Description: Startup script for the Chef search indexer
+# Description: Search indexer component of the Chef Server.
+### END INIT INFO
+
+# Source function library
+. /etc/init.d/functions
+
+exec="/usr/bin/chef-expander"
+prog="chef-expander"
+
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+config=${CONFIG-/etc/chef/expander.rb}
+pidfile=${PIDFILE-/var/run/chef/expander.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/$prog}
+logfile=${LOGFILE-/var/log/chef/expander.log}
+options=${OPTIONS-}
+
+start() {
+ [ -x $exec ] || exit 5
+ [ -f $config ] || exit 6
+ echo -n $"Starting $prog: "
+ daemon $prog -d -c "$config" -L "$logfile" -P "$pidfile" "$options"
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart () {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+exit $?
diff --git a/distro/redhat/etc/init.d/chef-server b/distro/redhat/etc/init.d/chef-server
new file mode 100644
index 0000000000..44247178b5
--- /dev/null
+++ b/distro/redhat/etc/init.d/chef-server
@@ -0,0 +1,112 @@
+#!/bin/bash
+#
+# chef-server Startup script for chef-server
+#
+# chkconfig: - 96 04
+# description: Server component of the Chef systems integration framework.
+
+### BEGIN INIT INFO
+# Provides: chef-server
+# Required-Start: $local_fs $network $remote_fs chef-solr chef-expander
+# Required-Stop: $local_fs $network $remote_fs chef-solr chef-expander
+# Should-Start: $named $time
+# Should-Stop: $named $time
+# Short-Description: Startup script for chef-server
+# Description: Server component of the Chef systems integration framework.
+### END INIT INFO
+
+# Source function library
+. /etc/init.d/functions
+
+exec="/usr/bin/chef-server"
+prog="chef-server"
+
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+config=${CONFIG-/etc/chef/server.rb}
+pidfile=${PIDFILE-/var/run/chef/server.main.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/$prog}
+logfile=${LOGFILE-/var/log/chef/server.log}
+port=${PORT-4000}
+env=${ENVIRONMENT-production}
+adapter=${ADAPTER-thin}
+childpidfiles=${CHILDPIDFILES-/var/run/chef/server.%s.pid}
+user=${SERVER_USER-chef}
+group=${SERVER_GROUP-chef}
+options=${OPTIONS-}
+
+start() {
+ [ -x $exec ] || exit 5
+ [ -f $config ] || exit 6
+ echo -n $"Starting $prog: "
+ daemon $prog -d -C "$config" -L "$logfile" -p "$port" -e "$env" \
+ -a "$adapter" -P "$childpidfiles" -u "$user" -G "$group" \
+ "$options" "&>/dev/null"
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart () {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+exit $?
diff --git a/distro/redhat/etc/init.d/chef-server-webui b/distro/redhat/etc/init.d/chef-server-webui
new file mode 100644
index 0000000000..f26f9c1f9a
--- /dev/null
+++ b/distro/redhat/etc/init.d/chef-server-webui
@@ -0,0 +1,112 @@
+#!/bin/bash
+#
+# chef-server-webui Startup script for chef-server-webui
+#
+# chkconfig: - 97 03
+# description: Server WebUI component of the Chef systems integration framework.
+
+### BEGIN INIT INFO
+# Provides: chef-server-webui
+# Required-Start: $local_fs $network $remote_fs chef-sever
+# Required-Stop: $local_fs $network $remote_fs chef-server
+# Should-Start: $named $time
+# Should-Stop: $named $time
+# Short-Description: Startup script for chef-server-webui
+# Description: Server WebUI component of the Chef systems integration framework.
+### END INIT INFO
+
+# Source function library
+. /etc/init.d/functions
+
+exec="/usr/bin/chef-server-webui"
+prog="chef-server-webui"
+
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+config=${CONFIG-/etc/chef/webui.rb}
+pidfile=${PIDFILE-/var/run/chef/server-webui.main.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/$prog}
+logfile=${LOGFILE-/var/log/chef/server-webui.log}
+port=${PORT-4040}
+env=${ENVIRONMENT-production}
+adapter=${ADAPTER-thin}
+childpidfiles=${CHILDPIDFILES-/var/run/chef/server-webui.%s.pid}
+user=${SERVER_USER-chef}
+group=${SERVER_GROUP-chef}
+options=${OPTIONS-}
+
+start() {
+ [ -x $exec ] || exit 5
+ [ -f $config ] || exit 6
+ echo -n $"Starting $prog: "
+ daemon $prog -d -C "$config" -L "$logfile" -p "$port" -e "$env" \
+ -a "$adapter" -P "$childpidfiles" -u "$user" -G "$group" \
+ "$options" "&>/dev/null"
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart () {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+exit $?
diff --git a/distro/redhat/etc/init.d/chef-solr b/distro/redhat/etc/init.d/chef-solr
new file mode 100644
index 0000000000..b75c40f53f
--- /dev/null
+++ b/distro/redhat/etc/init.d/chef-solr
@@ -0,0 +1,104 @@
+#!/bin/bash
+#
+# chef-solr Startup script for the SOLR search engine
+#
+# chkconfig: - 94 06
+# description: SOLR search engine for the Chef Server.
+
+### BEGIN INIT INFO
+# Provides: chef-solr
+# Required-Start: $local_fs $network $remote_fs
+# Required-Stop: $local_fs $network $remote_fs
+# Should-Start: $named $time
+# Should-Stop: $named $time
+# Short-Description: Startup script for the SOLR search engine
+# Description: SOLR search engine for the Chef Server.
+### END INIT INFO
+
+# Source function library
+. /etc/init.d/functions
+
+exec="/usr/bin/chef-solr"
+prog="chef-solr"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+config=${CONFIG-/etc/chef/solr.rb}
+pidfile=${PIDFILE-/var/run/chef/solr.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/$prog}
+logfile=${LOGFILE-/var/log/chef/solr.log}
+options=${OPTIONS-}
+
+start() {
+ [ -x $exec ] || exit 5
+ [ -f $config ] || exit 6
+ echo -n $"Starting $prog: "
+ daemon $prog -d -c "$config" -L "$logfile" -P "$pidfile" "$options"
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart () {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+exit $?
diff --git a/distro/redhat/etc/logrotate.d/chef-client b/distro/redhat/etc/logrotate.d/chef-client
new file mode 100644
index 0000000000..5e99edbf9a
--- /dev/null
+++ b/distro/redhat/etc/logrotate.d/chef-client
@@ -0,0 +1,8 @@
+/var/log/chef/client.log {
+ rotate 12
+ weekly
+ compress
+ postrotate
+ /etc/init.d/chef-client condrestart >/dev/null || :
+ endscript
+}
diff --git a/distro/redhat/etc/logrotate.d/chef-expander b/distro/redhat/etc/logrotate.d/chef-expander
new file mode 100644
index 0000000000..d68b479de2
--- /dev/null
+++ b/distro/redhat/etc/logrotate.d/chef-expander
@@ -0,0 +1,8 @@
+/var/log/chef/expander.log {
+ rotate 12
+ weekly
+ compress
+ postrotate
+ /etc/init.d/chef-expander condrestart >/dev/null || :
+ endscript
+}
diff --git a/distro/redhat/etc/logrotate.d/chef-server b/distro/redhat/etc/logrotate.d/chef-server
new file mode 100644
index 0000000000..8e2ebde311
--- /dev/null
+++ b/distro/redhat/etc/logrotate.d/chef-server
@@ -0,0 +1,8 @@
+/var/log/chef/server.log {
+ rotate 12
+ weekly
+ compress
+ postrotate
+ /etc/init.d/chef-server condrestart >/dev/null || :
+ endscript
+}
diff --git a/distro/redhat/etc/logrotate.d/chef-server-webui b/distro/redhat/etc/logrotate.d/chef-server-webui
new file mode 100644
index 0000000000..d8781fe200
--- /dev/null
+++ b/distro/redhat/etc/logrotate.d/chef-server-webui
@@ -0,0 +1,8 @@
+/var/log/chef/server-webui.log {
+ rotate 12
+ weekly
+ compress
+ postrotate
+ /etc/init.d/chef-server-webui condrestart >/dev/null || :
+ endscript
+}
diff --git a/distro/redhat/etc/logrotate.d/chef-solr b/distro/redhat/etc/logrotate.d/chef-solr
new file mode 100644
index 0000000000..54f18fe196
--- /dev/null
+++ b/distro/redhat/etc/logrotate.d/chef-solr
@@ -0,0 +1,8 @@
+/var/log/chef/solr.log {
+ rotate 12
+ weekly
+ compress
+ postrotate
+ /etc/init.d/chef-solr condrestart >/dev/null || :
+ endscript
+}
diff --git a/distro/redhat/etc/sysconfig/chef-client b/distro/redhat/etc/sysconfig/chef-client
new file mode 100644
index 0000000000..c65de74539
--- /dev/null
+++ b/distro/redhat/etc/sysconfig/chef-client
@@ -0,0 +1,15 @@
+# Configuration file for the chef-client service
+
+#CONFIG=/etc/chef/client.rb
+#PIDFILE=/var/run/chef/client.pid
+#LOCKFILE=/var/lock/subsys/chef-client
+#LOGFILE=/var/log/chef/client.log
+# Sleep interval between runs.
+# This value is in seconds.
+#INTERVAL=1800
+# Maximum amount of random delay before starting a run. Prevents every client
+# from contacting the server at the exact same time.
+# This value is in seconds.
+#SPLAY=20
+# Any additional chef-client options.
+#OPTIONS=
diff --git a/distro/redhat/etc/sysconfig/chef-expander b/distro/redhat/etc/sysconfig/chef-expander
new file mode 100644
index 0000000000..9af06d6b3c
--- /dev/null
+++ b/distro/redhat/etc/sysconfig/chef-expander
@@ -0,0 +1,7 @@
+# Configuration file for the chef-expander service
+
+#PIDFILE=/var/run/chef/expander.pid
+#CONFIG=/etc/chef/expander.rb
+#LOGFILE=/var/log/chef/expander.log
+# Any additional chef-expander options.
+OPTIONS="-n 1 -i 1"
diff --git a/distro/redhat/etc/sysconfig/chef-server b/distro/redhat/etc/sysconfig/chef-server
new file mode 100644
index 0000000000..6b18090ba9
--- /dev/null
+++ b/distro/redhat/etc/sysconfig/chef-server
@@ -0,0 +1,14 @@
+# Configuration file for the chef-server service
+
+#CONFIG=/etc/chef/server.rb
+#PIDFILE=/var/run/chef/server.pid
+#LOCKFILE=/var/lock/subsys/chef-server
+#LOGFILE=/var/log/chef/server.log
+#PORT=4000
+#ENVIRONMENT=production
+#ADAPTER=thin
+#CHILDPIDFILES=/var/run/chef/server.%s.pid
+#SERVER_USER=chef
+#SERVER_GROUP=chef
+# Any additional chef-server options.
+#OPTIONS=
diff --git a/distro/redhat/etc/sysconfig/chef-server-webui b/distro/redhat/etc/sysconfig/chef-server-webui
new file mode 100644
index 0000000000..c08df36147
--- /dev/null
+++ b/distro/redhat/etc/sysconfig/chef-server-webui
@@ -0,0 +1,14 @@
+# Configuration file for the chef-server-webui service
+
+#CONFIG=/etc/chef/webui.rb
+#PIDFILE=/var/run/chef/server-webui.pid
+#LOCKFILE=/var/lock/subsys/chef-server-webui
+#LOGFILE=/var/log/chef/server-webui.log
+#PORT=4040
+#ENVIRONMENT=production
+#ADAPTER=thin
+#CHILDPIDFILES=/var/run/chef/server-webui.%s.pid
+#SERVER_USER=chef
+#SERVER_GROUP=chef
+# Any additional chef-server-webui options.
+#OPTIONS=
diff --git a/distro/redhat/etc/sysconfig/chef-solr b/distro/redhat/etc/sysconfig/chef-solr
new file mode 100644
index 0000000000..31d99f1f1c
--- /dev/null
+++ b/distro/redhat/etc/sysconfig/chef-solr
@@ -0,0 +1,8 @@
+# Configuration file for the chef-solr service
+
+#CONFIG=/etc/chef/solr.rb
+#PIDFILE=/var/run/chef/solr.pid
+#LOCKFILE=/var/lock/subsys/chef-solr
+#LOGFILE=/var/log/chef/solr.log
+# Options for Java. Need to start with -j followed by options.
+#OPTIONS="-j "
diff --git a/distro/windows/service_manager.rb b/distro/windows/service_manager.rb
new file mode 100644
index 0000000000..8d71448d6e
--- /dev/null
+++ b/distro/windows/service_manager.rb
@@ -0,0 +1,164 @@
+#
+# Author:: Seth Chisamore (<schisamo@opscode.com>)
+# Copyright:: Copyright (c) 2011 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'win32/service'
+require 'rbconfig'
+require 'mixlib/cli'
+
+class Chef
+ class Windows
+ class ServiceManager
+ include Config
+ include Mixlib::CLI
+
+ option :action,
+ :short => "-a ACTION",
+ :long => "--action ACTION",
+ :default => "start",
+ :description => "Action to carry out on the resource; one of 'install', 'uninstall', 'start', 'stop', 'pause', or 'resume'"
+
+ option :name,
+ :short => "-n NAME",
+ :long => "--name NAME",
+ :default => "chef-client",
+ :description => "The service name to use."
+
+ option :display_name,
+ :long => "--display_name NAME",
+ :default => "chef-client",
+ :description => "The display name to use for the service."
+
+ option :description,
+ :short => "-d DESCRIPTION",
+ :long => "--description DESCRIPTION",
+ :default => "chef-client",
+ :description => "The description for the service."
+
+ option :config_file,
+ :short => "-c CONFIG",
+ :long => "--config CONFIG",
+ :default => "#{ENV['SYSTEMDRIVE']}/chef/client.rb",
+ :description => "The configuration file to use"
+
+ option :log_location,
+ :short => "-L LOGLOCATION",
+ :long => "--logfile LOGLOCATION",
+ :description => "Set the log file location",
+ :default => "#{ENV['SYSTEMDRIVE']}/chef/client.log"
+
+ option :splay,
+ :short => "-s SECONDS",
+ :long => "--splay SECONDS",
+ :description => "The splay time for running at intervals, in seconds",
+ :proc => lambda { |s| s.to_i }
+
+ option :interval,
+ :short => "-i SECONDS",
+ :long => "--interval SECONDS",
+ :description => "Set the number of seconds to wait between chef-client runs",
+ :proc => lambda { |s| s.to_i }
+
+ option :help,
+ :short => "-h",
+ :long => "--help",
+ :description => "Show this message",
+ :on => :tail,
+ :boolean => true,
+ :show_options => true,
+ :exit => 0
+
+ def run
+ parse_options
+
+ case config[:action]
+ when 'install'
+ ruby = File.join(RbConfig::CONFIG['bindir'], 'ruby')
+ path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'lib', 'chef', 'application', 'windows_service.rb'))
+
+ opts = ""
+ opts << " -c #{config[:config_file]}" if config[:config_file]
+ opts << " -L #{config[:log_location]}" if config[:log_location]
+ opts << " -i #{config[:interval]}" if config[:interval]
+ opts << " -s #{config[:splay]}" if config[:splay]
+
+ # Quote the full paths to deal with possible spaces in the path name.
+ # Also ensure all forward slashes are backslashes
+ cmd = "\"#{ruby}\" \"#{path}\" #{opts}".gsub(File::SEPARATOR, File::ALT_SEPARATOR)
+
+ Win32::Service.new(
+ :service_name => config[:name],
+ :display_name => config[:display_name],
+ :description => config[:description],
+ :binary_path_name => cmd)
+ puts "Service '#{config[:name]}' has successfully been 'installed'."
+ when 'start'
+ # TODO: allow override of startup parameters here?
+ take_action('start', RUNNING) if Win32::Service.exists?(config[:name])
+ when 'stop'
+ take_action('stop', STOPPED) if Win32::Service.exists?(config[:name])
+ when 'uninstall', 'delete'
+ take_action('stop', STOPPED)
+ if Win32::Service.exists?(config[:name])
+ Win32::Service.delete(config[:name])
+ puts "Service #{config[:name]} deleted"
+ end
+ when 'pause'
+ take_action('pause', PAUSED)
+ when 'resume'
+ take_action('resume', RUNNING)
+ end
+ end
+
+ private
+
+ # Just some state constants
+ STOPPED = "stopped"
+ RUNNING = "running"
+ PAUSED = "paused"
+
+ def take_action(action=nil, desired_state=nil)
+ if Win32::Service.exists?(config[:name])
+ if current_state != desired_state
+ Win32::Service.send(action, config[:name])
+ wait_for_state(desired_state)
+ puts "Service '#{config[:name]}' is now '#{current_state}'."
+ else
+ puts "Service '#{config[:name]}' is already '#{desired_state}'."
+ end
+ else
+ puts "Cannot '#{action}' service '#{config[:name]}', service does not exist."
+ end
+ end
+
+ def current_state
+ Win32::Service.status(config[:name]).current_state
+ end
+
+ # Helper method that waits for a status to change its state since state
+ # changes aren't usually instantaneous.
+ def wait_for_state(desired_state)
+ while current_state != desired_state
+ puts "One moment... #{current_state}"
+ sleep 1
+ end
+ end
+ end
+ end
+end
+
+Chef::Windows::ServiceManager.new.run