Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CHEF-SOLO(8)			   chef-solo			  CHEF-SOLO(8)

       chef-solo - The man page	for the	chef-solo command line tool.

       chef-solo  is an	open source version of the chef-client that allows us-
       ing cookbooks with nodes	without	requiring access  to  a	 Chef  server.
       chef-solo runs locally and requires that	a cookbook (and	any of its de-
       pendencies) be on the same physical disk	as the node.  chef-solo	 is  a
       limited-functionality  version  of the chef-client and does not support
       the following:

       o Node data storage

       o Search	indexes

       o Centralized distribution of cookbooks

       o A centralized API that	interacts with and  integrates	infrastructure

       o Authentication	or authorization

       o Persistent attributes

	  chef-solo can	be run as a daemon.

       The chef-solo executable	is run as a command-line tool.


       This command has	the following syntax:


       This command has	the following options:

       -c CONFIG, --config CONFIG
	      The configuration	file to	use.

       -d, --daemonize
	      Use  to  run the executable as a daemon.	This option may	not be
	      used in the same command with the	--[no-]fork option.

	      This option is only available on machines	that run  in  UNIX  or
	      Linux environments. For machines that are	running	Microsoft Win-
	      dows   that   require    similar	  functionality,    use	   the
	      chef-client::service   recipe   in   the	chef-client  cookbook:  This	  will
	      install  a chef-client service under Microsoft Windows using the
	      Windows Service Wrapper.

	      The name of the environment.

       -f, --[no-]fork
	      Use to contain the chef-client run in a secondary	 process  with
	      dedicated	RAM. When the chef-client run is complete the RAM will
	      be returned to the master	process. This option helps ensure that
	      a	 chef-client will use a	steady amount of RAM over time because
	      the master process will not run recipes. This option  will  also
	      help  prevent memory leaks (such as those	that can be introduced
	      by the code contained within a poorly  designed  cookbook).  Use
	      --no-fork	 to  disable running the chef-client in	fork node. De-
	      fault value: --fork. This	option may not be  used	 in  the  same
	      command with the --daemonize and --interval options.

       -F FORMAT, --format FORMAT
	      The output format: doc (default) or min.

	      Use  doc to print	the progress of	the chef-client	run using full
	      strings that display a summary of	updates	as they	occur.

	      Use min to print the progress of the chef-client run using  sin-
	      gle  characters.	A  summary of updates is printed at the	end of
	      the chef-client run. A dot (.) is	printed	for events that	do not
	      have  meaningful	status	information, such as loading a file or
	      synchronizing a cookbook.	For resources, a dot  (.)  is  printed
	      when  the	 resource  is up to date, an S is printed when the re-
	      source is	skipped	by not_if or only_if, and a U is printed  when
	      the resource is updated.

	      Other formatting options are available when those	formatters are
	      configured in the	client.rb file using the add_formatter option.

	      Use to show formatter output instead of logger output.

	      Use to show logger output	instead	of formatter output.

       -g GROUP, --group GROUP
	      The name of the group that owns a	process. This is required when
	      starting any executable as a daemon.

       -h, --help
	      Shows help for the command.

       -i SECONDS, --interval SECONDS
	      The  frequency  (in seconds) at which the	chef-client runs. When
	      the chef-client is run at	intervals, --splay and --interval val-
	      ues  are applied before the chef-client run. This	option may not
	      be used in the same command with the --[no-]fork option.

       -j PATH,	--json-attributes PATH
	      The path to a file that contains JSON data.

	      Use this option to define	a run_list object. For example,	a JSON
	      file similar to:

		 "run_list": [

	      may be used by running chef-client -j path/to/file.json.

	      In  certain  situations this option may be used to update	normal

		 Any other attribute type that is contained in this JSON  file
		 will  be treated as a normal attribute. For example, attempt-
		 ing to	update override	attributes using the -j	option:

		       "name": "dev-99",
		       "description": "Install some stuff",
		       "override_attributes": {
			 "apptastic": {
			   "enable_apptastic": "false",
			   "apptastic_tier_name": ""

		 will result in	a node object similar to:

		       "name": "maybe-dev-99",
		       "normal": {
		       "name": "dev-99",
			 "description":	"Install some stuff",
			 "override_attributes":	{
			   "apptastic":	{
			     "enable_apptastic": "false",
			     "apptastic_tier_name": ""

       -l LEVEL, --log_level LEVEL
	      The level	of logging that	will be	stored in a log	file.

       -L LOGLOCATION, --logfile c
	      The location in which log	file output files will	be  saved.  If
	      this  location  is  set to something other than STDOUT, standard
	      output logging will still	be performed (otherwise	there would be
	      no output	other than to a	file). This is recommended when	start-
	      ing any executable as a daemon.

	      Use to view colored output. Default setting: --color.

       -N NODE_NAME, --node-name NODE_NAME
	      The name of the node.

       -o RUN_LIST_ITEM, --override-runlist RUN_LIST_ITEM
	      Replace the current run list with	the specified items.

       -r RECIPE_URL, --recipe-url RECIPE_URL
	      The URL location from which a remote  cookbook  tar.gz  will  be

       --run-lock-timeout SECONDS
	      The amount of time (in seconds) to wait for a chef-client	run to
	      finish. Default value: not set (indefinite). Set to 0 to cause a
	      second chef-client to exit immediately.

       -s SECONDS, --splay SECONDS
	      A	number (in seconds) to add to the interval that	is used	to de-
	      termine the frequency of chef-client runs. This number can  help
	      prevent  server  load when there are many	clients	running	at the
	      same time. When the chef-client is run at	intervals, --splay and
	      --interval values	are applied before the chef-client run.

       -u USER,	--user USER
	      The user that owns a process. This is required when starting any
	      executable as a daemon.

       -v, --version
	      The version of the chef-client.

       -W, --why-run
	      Use to run the executable	in why-run mode, which is  a  type  of
	      chef-client  run	that does everything except modify the system.
	      Use why-run mode to understand why the chef-client makes the de-
	      cisions  that  it	 makes and to learn more about the current and
	      proposed state of	the system.


	  $ chef-solo -c ~/solo.rb -j ~/node.json -r

       The tar.gz archived into	the file_cache_path,  and  then	 extracted  to

	  $ chef-solo -c ~/solo.rb -j ~/node.json

       chef-solo  will	look in	the solo.rb file to determine the directory in
       which cookbooks are located.

	  $ chef-solo -c ~/solo.rb -j -r


				   Chef	12.0			  CHEF-SOLO(8)


Want to link to this manual page? Use this URL:

home | help