summaryrefslogtreecommitdiff
path: root/distro/common/markdown/man8/chef-solo.mkd
diff options
context:
space:
mode:
Diffstat (limited to 'distro/common/markdown/man8/chef-solo.mkd')
-rw-r--r--distro/common/markdown/man8/chef-solo.mkd107
1 files changed, 107 insertions, 0 deletions
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.