chef 0.10.0.beta.7 → 0.10.0.beta.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/distro/common/html/knife-bootstrap.1.html +182 -0
  2. data/distro/common/html/knife-client.1.html +216 -0
  3. data/distro/common/html/knife-configure.1.html +170 -0
  4. data/distro/common/html/knife-cookbook-site.1.html +166 -0
  5. data/distro/common/html/knife-cookbook.1.html +233 -0
  6. data/distro/common/html/knife-data-bag.1.html +234 -0
  7. data/distro/common/html/knife-environment.1.html +93 -0
  8. data/distro/common/html/knife-exec.1.html +93 -0
  9. data/distro/common/html/knife-index.1.html +125 -0
  10. data/distro/common/html/knife-node.1.html +268 -0
  11. data/distro/common/html/knife-recipe.1.html +92 -0
  12. data/distro/common/html/knife-role.1.html +136 -0
  13. data/distro/common/html/knife-search.1.html +102 -0
  14. data/distro/common/html/knife-ssh.1.html +101 -0
  15. data/distro/common/html/knife-status.1.html +97 -0
  16. data/distro/common/html/knife-tag.1.html +93 -0
  17. data/distro/common/html/knife.1.html +362 -0
  18. data/distro/common/man/man1/knife-bootstrap.1 +137 -0
  19. data/distro/common/man/man1/knife-client.1 +98 -0
  20. data/distro/common/man/man1/knife-configure.1 +88 -0
  21. data/distro/common/man/man1/knife-cookbook-site.1 +91 -0
  22. data/distro/common/man/man1/knife-cookbook.1 +242 -0
  23. data/distro/common/man/man1/knife-data-bag.1 +130 -0
  24. data/distro/common/man/man1/knife-environment.1 +13 -0
  25. data/distro/common/man/man1/knife-exec.1 +13 -0
  26. data/distro/common/man/man1/knife-index.1 +29 -0
  27. data/distro/common/man/man1/knife-node.1 +153 -0
  28. data/distro/common/man/man1/knife-recipe.1 +13 -0
  29. data/distro/common/man/man1/knife-role.1 +64 -0
  30. data/distro/common/man/man1/knife-search.1 +37 -0
  31. data/distro/common/man/man1/knife-ssh.1 +33 -0
  32. data/distro/common/man/man1/knife-status.1 +17 -0
  33. data/distro/common/man/man1/knife-tag.1 +13 -0
  34. data/distro/common/man/man1/knife.1 +346 -0
  35. data/distro/common/man/{man8/shef.8 → man1/shef.1} +0 -0
  36. data/distro/common/man/{man1/chef-server-webui.1 → man8/chef-server-webui.8} +0 -0
  37. data/distro/common/man/{man1/chef-server.1 → man8/chef-server.8} +0 -0
  38. data/distro/common/man/{man1/chef-solr.1 → man8/chef-solr.8} +0 -0
  39. data/distro/common/markdown/man1/knife-bootstrap.mkd +88 -0
  40. data/distro/common/markdown/man1/knife-client.mkd +101 -0
  41. data/distro/common/markdown/man1/knife-configure.mkd +70 -0
  42. data/distro/common/markdown/man1/knife-cookbook-site.mkd +69 -0
  43. data/distro/common/markdown/man1/knife-cookbook.mkd +136 -0
  44. data/distro/common/markdown/man1/knife-data-bag.mkd +117 -0
  45. data/distro/common/markdown/man1/knife-environment.mkd +8 -0
  46. data/distro/common/markdown/man1/knife-exec.mkd +9 -0
  47. data/distro/common/markdown/man1/knife-index.mkd +30 -0
  48. data/distro/common/markdown/man1/knife-node.mkd +147 -0
  49. data/distro/common/markdown/man1/knife-recipe.mkd +24 -0
  50. data/distro/common/markdown/man1/knife-role.mkd +79 -0
  51. data/distro/common/markdown/man1/knife-search.mkd +56 -0
  52. data/distro/common/markdown/man1/knife-ssh.mkd +64 -0
  53. data/distro/common/markdown/man1/knife-status.mkd +38 -0
  54. data/distro/common/markdown/man1/knife-tag.mkd +8 -0
  55. data/distro/common/markdown/man1/knife.mkd +261 -0
  56. data/lib/chef/cookbook/metadata.rb +76 -40
  57. data/lib/chef/cookbook_version.rb +86 -2
  58. data/lib/chef/cookbook_version_selector.rb +7 -2
  59. data/lib/chef/environment.rb +41 -0
  60. data/lib/chef/knife/configure.rb +4 -0
  61. data/lib/chef/knife/cookbook_upload.rb +4 -1
  62. data/lib/chef/knife/help.rb +98 -0
  63. data/lib/chef/rest.rb +1 -0
  64. data/lib/chef/version.rb +1 -1
  65. metadata +58 -11
  66. data/distro/common/man/man1/chef-indexer.1 +0 -42
  67. data/distro/common/man/man1/chef-solr-indexer.1 +0 -55
  68. data/distro/common/man/man8/chef-solr-rebuild.8 +0 -37
  69. data/distro/common/man/man8/knife.8 +0 -1349
  70. data/distro/common/markdown/knife.mkd +0 -865
@@ -0,0 +1,101 @@
1
+ knife-client(1) -- Manage Chef API Clients
2
+ ========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ __knife__ __client__ _sub-command_ _(options)_
7
+
8
+ ## DESCRIPTION
9
+ Clients are identities used for communication with the Chef Server API,
10
+ roughly equivalent to user accounts on the Chef Server, except that
11
+ clients only communicate with the Chef Server API and are authenticated
12
+ via request signatures.
13
+
14
+ In the typical case, there will be one client object on the server for
15
+ each node, and the corresponding client and node will have identical
16
+ names.
17
+
18
+ In the Chef authorization model, there is one special client, the
19
+ "validator", which is authorized to create new non-administrative
20
+ clients but has minimal privileges otherwise. This identity is used as a
21
+ sort of "guest account" to create a client identity when initially
22
+ setting up a host for management with Chef.
23
+
24
+ ## CLIENT SUB-COMMANDS
25
+
26
+ ## BULK DELETE
27
+ __knife client bulk delete__ _regex_ _(options)_
28
+
29
+ Delete clients where the client name matches the regular expression
30
+ _regex_ on the Chef Server. The regular expression should be given as a
31
+ quoted string, and not surrounded by forward slashes.
32
+
33
+ ## CREATE
34
+ __knife client create__ _client name_ _(options)_
35
+
36
+ * `-a`, `--admin `:
37
+ Create the client as an admin
38
+ * `-f`, `--file FILE`:
39
+ Write the key to a file
40
+
41
+ Create a new client. This generates an RSA keypair. The private key will
42
+ be displayed on _STDOUT_ or written to the named file. The public half
43
+ will be stored on the Server. For _chef-client_ systems, the private key
44
+ should be copied to the system as `/etc/chef/client.pem`.
45
+
46
+ Admin clients should be created for users that will use _knife_ to
47
+ access the API as an administrator. The private key will generally be
48
+ copied to `~/.chef/client\_name.pem` and referenced in the `knife.rb`
49
+ configuration file.
50
+
51
+ ## DELETE
52
+ __knife client delete__ _client name_ _(options)_
53
+
54
+ Deletes a registered client.
55
+
56
+ ## EDIT
57
+ __client edit__ _client name_ _(options)_
58
+
59
+ Edit a registered client.
60
+
61
+ ## LIST
62
+ __client list__ _(options)_
63
+
64
+ * `-w`, `--with-uri`:
65
+ Show corresponding URIs
66
+
67
+ List all registered clients.
68
+
69
+ ## REREGISTER
70
+ __client reregister__ _client name_ _(options)_
71
+
72
+ * `-f`, `--file FILE`:
73
+ Write the key to a file
74
+
75
+ Regenerate the RSA keypair for a client. The public half will be stored
76
+ on the server and the private key displayed on _STDOUT_ or written to
77
+ the named file. This operation will invalidate the previous keypair used
78
+ by the client, preventing it from authenticating with the Chef Server.
79
+ Use care when reregistering the validator client.
80
+
81
+ ## SHOW
82
+ __client show__ _client name_ _(options)_
83
+
84
+ * `-a`, `--attribute ATTR`:
85
+ Show only one attribute
86
+
87
+ Show a client. Output format is determined by the --format option.
88
+
89
+ ## SEE ALSO
90
+ __knife-node__(1)
91
+
92
+ ## AUTHOR
93
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
94
+
95
+ ## DOCUMENTATION
96
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
97
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
98
+
99
+ ## CHEF
100
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
101
+
@@ -0,0 +1,70 @@
1
+ knife-configure(1) -- Generate configuration files for knife or Chef Client
2
+ ========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ __knife__ __configure__ [client] _(options)_
7
+
8
+ ## DESCRIPTION
9
+ Generates a knife.rb configuration file interactively. When given the
10
+ --initial option, also creates a new administrative user.
11
+
12
+ ## CONFIGURE SUBCOMMANDS ##
13
+
14
+ __knife configure__ _(options)_
15
+
16
+ * `-i`, `--initial`:
17
+ Create an initial API Client
18
+ * `-r`, `--repository REPO`:
19
+ The path to your chef-repo
20
+
21
+ Create a configuration file for knife. This will prompt for values to
22
+ enter into the file. Default values are listed in square brackets if no
23
+ other entry is typed. See __knife__(1) for a description of
24
+ configuration options.
25
+
26
+ __knife configure client__ _directory_
27
+
28
+ Read the _knife.rb_ config file and generate a config file suitable for
29
+ use in _/etc/chef/client.rb_ and copy the validation certificate into
30
+ the specified _directory_.
31
+
32
+ ## EXAMPLES
33
+ * On a freshly installed Chef Server, use _knife configure -i_ to
34
+ create an administrator and knife configuration file. Leave the
35
+ field blank to accept the default value. On most systems, the
36
+ default values are acceptable.
37
+
38
+ user@host$ knife configure -i
39
+ Please enter the chef server URL: [http://localhost:4000]
40
+ Please enter a clientname for the new client: [username]
41
+ Please enter the existing admin clientname: [chef-webui]
42
+ Please enter the location of the existing admin client's private key: [/etc/chef/webui.pem]
43
+ Please enter the validation clientname: [chef-validator]
44
+ Please enter the location of the validation key: [/etc/chef/validation.pem]
45
+ Please enter the path to a chef repository (or leave blank):
46
+ Creating initial API user...
47
+ Created (or updated) client[username]
48
+ Configuration file written to /home/username/.chef/knife.rb
49
+
50
+ This creates a new administrator client named _username_, writes
51
+ a configuration file to _/home/username/.chef/knife.rb_, and the
52
+ private key to _/home/username/.chef/username.pem_. The
53
+ configuration file and private key may be copied to another system
54
+ to facilitate administration of the Chef Server from a remote
55
+ system. Depending on the value given for the Chef Server URL, you
56
+ may need to modify that setting after copying to a remote host.
57
+
58
+ ## SEE ALSO
59
+ __knife__(1) __knife-client__(1)
60
+
61
+ ## AUTHOR
62
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
63
+
64
+ ## DOCUMENTATION
65
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
66
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
67
+
68
+ ## CHEF
69
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
70
+
@@ -0,0 +1,69 @@
1
+ knife-cookbook-site(1) -- Install and update open source cookbooks
2
+ ========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ __knife__ __cookbook site__ _sub-command_ _(options)_
7
+
8
+ ## COOKBOOK SITE SUB-COMMANDS
9
+
10
+ The following sub-commands are still in the context of cookbooks, but they make use of Opscode's Cookbook Community site, _http://cookbooks.opscode.com/_. That site has an API, and these sub-commands utilize that API, rather than the Chef Server API.
11
+
12
+ __cookbook site download COOKBOOK [VERSION]__ _(options)_
13
+
14
+ * `-f`, `--file FILE`:
15
+ The filename to write to
16
+
17
+ Downloads a specific cookbook from the Community site, optionally specifying a certain version.
18
+
19
+ __cookbook site list__ _(options)_
20
+
21
+ * `-w`, `--with-uri`:
22
+ Show corresponding URIs
23
+
24
+ Lists available cookbooks from the Community site.
25
+
26
+ __cookbook site search QUERY__ _(options)_
27
+
28
+ Searches the Community site with the specified query.
29
+
30
+ __cookbook site share COOKBOOK CATEGORY__ _(options)_
31
+
32
+ * `-k`, `--key KEY`:
33
+ API Client Key
34
+ * `-u`, `--user USER`:
35
+ API Client Username
36
+ * `-o`, `--cookbook-path PATH:PATH`:
37
+ A colon-separated path to look for cookbooks in
38
+
39
+ Uploads the specified cookbook using the given category to the Opscode cookbooks site. Requires a login user and certificate for the Opscode Cookbooks site. See __EXAMPLES__ for usage if the Opscode user and certificate pair are not used for authenticating with the Chef Server. In other words, if the Chef Server is not the Opscode Platform.
40
+
41
+ __cookbook site unshare COOKBOOK__
42
+
43
+ Stops sharing the specified cookbook on the Opscode cookbooks site.
44
+
45
+ __cookbook site show COOKBOOK [VERSION]__ _(options)_
46
+
47
+ Shows information from the site about a particular cookbook.
48
+
49
+ __cookbook site vendor COOKBOOK [VERSION]__ _(options)_
50
+
51
+ * `-d`, `--dependencies`:
52
+ Grab dependencies automatically
53
+
54
+ Uses `git` version control in conjunction with the cookbook site to download upstream cookbooks. A new vendor branch is created in git, the cookbook downloaded from the site and untarred, then the master branch is merged. This allows the user to track upstream changes to cookbooks while merging in customizations. If _-d_ is specified, all the cookbooks it depends on (via metadata _dependencies_) are downloaded and untarred as well, each using their own vendor branch.
55
+
56
+
57
+ ## SEE ALSO
58
+ __knife-environment__(1)
59
+
60
+ ## AUTHOR
61
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
62
+
63
+ ## DOCUMENTATION
64
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
65
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
66
+
67
+ ## CHEF
68
+ Knife is distributed with Chef. <http://wiki.opscode.com/display/chef/Home>
69
+
@@ -0,0 +1,136 @@
1
+ knife-cookbook(1) -- Upload and manage Chef cookbooks
2
+ ========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ __knife__ __cookbook__ _sub-command_ _(options)_
7
+
8
+ ## COOKBOOK SUB-COMMANDS
9
+
10
+ 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.
11
+
12
+ __cookbook bulk delete REGEX__ _(options)_
13
+
14
+ * `-p`, `--purge`:
15
+ Purge files from backing store. This will disable any cookbook that contains any of the same files as the cookbook being purged.
16
+
17
+ Delete cookbooks on the Chef Server based on a regular expression. The regular expression (_REGEX_) should be in quotes, not in //'s.
18
+
19
+ __cookbook create COOKBOOK__ _(options)_
20
+
21
+ * `-o`, `--cookbook-path PATH`:
22
+ The directory where the cookbook will be created
23
+ * `-r`, `--readme-format FORMAT`:
24
+ Format of the README file
25
+ * `-C`, `--copyright COPYRIGHT`:
26
+ Name of Copyright holder
27
+ * `-I`, `--license LICENSE`:
28
+ License for cookbook, apachev2 or none
29
+ * `-E`, `--email EMAIL`:
30
+ Email address of cookbook maintainer
31
+
32
+ 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.
33
+
34
+ * COOKBOOK/attributes
35
+ * COOKBOOK/definitions
36
+ * COOKBOOK/files/default
37
+ * COOKBOOK/libraries
38
+ * COOKBOOK/metadata.rb
39
+ * COOKBOOK/providers
40
+ * COOKBOOK/README.rdoc
41
+ * COOKBOOK/recipes/default.rb
42
+ * COOKBOOK/resources
43
+ * COOKBOOK/templates/default
44
+
45
+ Supported README formats are 'rdoc' (default), 'md', 'mkd', 'txt'. The README file will be written with the specified extension and a set of helpful starting headers.
46
+
47
+ 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.
48
+
49
+ 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.
50
+
51
+ 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.
52
+
53
+ The cookbook copyright, license and email settings can be filled in the `knife.rb`, for example with default values:
54
+
55
+ cookbook_copyright "YOUR_COMPANY_NAME"
56
+ cookbook_license "none"
57
+ cookbook_email "YOUR_EMAIL"
58
+
59
+ __cookbook delete COOKBOOK [VERSION]__ _(options)_
60
+
61
+ * `-a`, `--all`:
62
+ Delete all versions
63
+ * `-p`, `--purge`:
64
+ Purge files from backing store. This will disable any cookbook that contains any of the same files as the cookbook being purged.
65
+
66
+ 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.
67
+
68
+ __cookbook download COOKBOOK [VERSION]__ _(options)_
69
+
70
+ * `-d`, `--dir DOWNLOAD_DIRECTORY`:
71
+ The directory to download the cookbook into
72
+ * `-f`, `--force`:
73
+ Overwrite an existing directory with the download
74
+ * `-N`, `--latest`:
75
+ Download the latest version of the cookbook
76
+
77
+ 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.
78
+
79
+ __cookbook list__ _(options)_
80
+
81
+ * `-w`, `--with-uri`:
82
+ Show corresponding URIs
83
+
84
+ List all the cookbooks.
85
+
86
+ __cookbook metadata COOKBOOK__ _(options)_
87
+
88
+ * `-a`, `--all`:
89
+ Generate metadata for all cookbooks, rather than just a single cookbook
90
+ * `-o`, `--cookbook-path PATH:PATH`:
91
+ A colon-separated path to look for cookbooks in
92
+
93
+ 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.
94
+
95
+ __cookbook metadata from FILE__ _(options)_
96
+
97
+ Load the cookbook metadata from a specified file.
98
+
99
+ __cookbook show COOKBOOK [VERSION] [PART] [FILENAME]__ _(options)_
100
+
101
+ * `-f`, `--fqdn FQDN `:
102
+ The FQDN of the host to see the file for
103
+ * `-p`, `--platform PLATFORM `:
104
+ The platform to see the file for
105
+ * `-V`, `--platform-version VERSION`:
106
+ The platform version to see the file for
107
+
108
+ Show a particular part of a _COOKBOOK_ for the specified _VERSION_. _PART_ can be one of:
109
+
110
+ * _attributes_
111
+ * _definitions_
112
+ * _files_
113
+ * _libraries_
114
+ * _providers_
115
+ * _recipes_
116
+ * _resources_
117
+ * _templates_
118
+
119
+ __cookbook test [COOKBOOKS...]__ _(options)_
120
+
121
+ * `-a`, `--all`:
122
+ Test all cookbooks, rather than just a single cookbook
123
+ * `-o`, `--cookbook-path PATH:PATH`:
124
+ A colon-separated path to look for cookbooks in
125
+
126
+ 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).
127
+
128
+ __cookbook upload [COOKBOOKS...]__ _(options)_
129
+
130
+ * `-a`, `--all`:
131
+ Upload all cookbooks, rather than just a single cookbook
132
+ * `-o`, `--cookbook-path PATH:PATH`:
133
+ A colon-separated path to look for cookbooks in
134
+
135
+ Uploads the specified cookbooks to the Chef Server. The actual upload executes a number of commands, most of which occur on the local machine. The cookbook is staged in a temporary location. Then the `cookbook_path` (or `-o PATH`) is processed to search for the named cookbook, and each occurance is copied in the order specified. A syntax check is performed a la `cookbook test`, above. The metadata is generated, a la `cookbook metadata`. A gzip(1)'ed, tar(1) file is created, and is uploaded to the server.
136
+
@@ -0,0 +1,117 @@
1
+ knife-data-bag(1) -- Store arbitrary data on a Chef Server
2
+ ========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ __knife__ __data bag__ _sub-command_ _(options)_
7
+
8
+ ## DESCRIPTION
9
+ Data bags are stores of arbitrary JSON data. Each data bag is a
10
+ collection that may contain many items. Data Bag Items are indexed by
11
+ the Chef Server and can be searched via __knife-search__(1).
12
+
13
+ Data bags are available to all nodes configured by __chef-client__(8),
14
+ and are therefore a convenient mechanism to store global information,
15
+ such as lists of administrative accounts that should be configured on
16
+ all hosts.
17
+
18
+ ## DATA BAG SUB-COMMANDS
19
+
20
+ ## CREATE
21
+ __knife data bag create__ _bag name_ [item id] _(options)_
22
+
23
+ * `-s`, `--secret SECRET`:
24
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
25
+ * `--secret-file SECRET_FILE`:
26
+ The path to a file containing the secret key to be used to encrypt
27
+ the data bag item.
28
+
29
+ If _item id_ is given, creates a new, empty data bag item and opens it for
30
+ editing in your editor. The data bag will be created if it does not
31
+ exist.
32
+
33
+ If _item id_ is not given, the data bag will be created.
34
+
35
+ ## DELETE
36
+ __knife data bag delete__ _bag name_ [item id] _(options)_
37
+
38
+ Delete a data bag, or an item from a data bag.
39
+
40
+ ## EDIT
41
+ __knife data bag edit__ _bag name_ _item id_ _(options)_
42
+
43
+ * `-s`, `--secret SECRET`:
44
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
45
+ * `--secret-file SECRET_FILE`:
46
+ The path to a file containing the secret key to be used to encrypt
47
+ the data bag item.
48
+
49
+ Edit an item in a data bag.
50
+
51
+ ## FROM FILE
52
+ __knife data bag from file__ _bag name_ _file_ _(options)_
53
+
54
+ * `-s`, `--secret SECRET`:
55
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
56
+ * `--secret-file SECRET_FILE`:
57
+ The path to a file containing the secret key to be used to encrypt
58
+ the data bag item.
59
+
60
+ Load a data bag item from a JSON file. If _file_ is a relative or
61
+ absolute path to the file, that file will be used. Otherwise, the _file_
62
+ parameter is treated as the base name of a data bag file in a Chef
63
+ repository, and `knife` will search for the file in
64
+ `./data_bags/bag_name/file`. For example `knife data bag from file users
65
+ dan.json` would attempt to load the file `./data_bags/users/dan.json`.
66
+
67
+ ## LIST
68
+ __knife data bag list__ _(options)_
69
+
70
+ * `-w`, `--with-uri`:
71
+ Show corresponding URIs
72
+
73
+ Lists the data bags that exist on the Chef Server.
74
+
75
+ ## SHOW
76
+ __knife data bag show BAG [ITEM]__ _(options)_
77
+
78
+ * `-s`, `--secret SECRET`:
79
+ A secret key used to encrypt the data bag item. See __encryption support__ below.
80
+ * `--secret-file SECRET_FILE`:
81
+ The path to a file containing the secret key to be used to encrypt
82
+ the data bag item.
83
+
84
+ Show a specific data bag or an item in a data bag. The output will be
85
+ formatted according to the --format option.
86
+
87
+ ## ENCRYPTION SUPPORT
88
+ Data Bag Items may be encrypted to keep their contents secret. This may
89
+ be desireable when storing sensitive information such as database
90
+ passwords, API keys, etc.
91
+
92
+ Data Bag Item encryption uses the AES-256 CBC symmetric key algorithm.
93
+
94
+ __CAVEATS:__ Keys are not encrypted; only values are encrypted. The "id"
95
+ of a Data Bag Item is not encrypted, since it is used by Chef Server to
96
+ store the item in its database. For example, given the following data bag item:
97
+ {"id": "important_passwords", "secret_password": "opensesame"}
98
+ The key "secret\_password" will be visible to an evesdropper, but the
99
+ value "opensesame" will be protected. Both the key "id" and its value
100
+ "important\_passwords" will be visible to an evesdropper.
101
+
102
+ Chef Server does not provide a secure mechanism for distributing
103
+ encryption keys.
104
+
105
+ ## SEE ALSO
106
+ __knife-search__(1)
107
+
108
+ ## AUTHOR
109
+ Chef was written by Adam Jacob <adam@opscode.com> with many contributions from the community.
110
+
111
+ ## DOCUMENTATION
112
+ This manual page was written by Joshua Timberman <joshua@opscode.com>.
113
+ Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.
114
+
115
+ ## CHEF
116
+ Knife is distributed with Chef. http://wiki.opscode.com/display/chef/Home
117
+