README.md in chef-dk-0.5.0.rc.1 vs README.md in chef-dk-0.5.0
- old
+ new
@@ -85,59 +85,66 @@
executables included with a gem you install will be created in
`~/.chefdk/gem/ruby/2.1.0/bin`. You can run these executables with
`chef exec`, or use `chef shell-init` to add ChefDK's paths to your
environment. Those commands are documented below.
-#### `chef verify`
-`chef verify` tests the embedded applications. By default it runs a
-quick "smoke test" to verify that the embedded applications are
-installed correctly and can run basic commands. As an end user this is
-probably all you'll ever need, but `verify` can also optionally run unit
-and integration tests by supplying the `--unit` and `--integration`
-flags, respectively.
-
-*WARNING:* The integration tests will do dangerous things like start
-HTTP servers with access to your filesystem and even create users and
-groups if run with sufficient privileges. The tests may also be
-sensitive to your machine's configuration. If you choose to run these,
-we recommend to only run them on dedicated, isolated hosts (we do this
-in our build cluster to verify each build).
-
### `chef exec`
`chef exec <command>` runs any arbitrary shell command with the PATH
environment variable and the ruby environment variables (`GEM_HOME`,
`GEM_PATH`, etc.) setup to point at the embedded ChefDK omnibus environment.
### `chef shell-init`
`chef shell-init SHELL_NAME` emits shell commands that modify your
-environment to make ChefDK your primary ruby. For more information to
-help you decide if this is desirable and instructions, see "Using ChefDK
-as Your Primary Development Environment" below.
+environment to make ChefDK your primary ruby. It supports bash, zsh,
+fish and PowerShell (posh). For more information to help you decide if
+this is desirable and instructions, see "Using ChefDK as Your Primary
+Development Environment" below.
### `chef install`
`chef install` reads a `Policyfile.rb` document, which contains a
`run_list` and optional cookbook version constraints, finds a set of
cookbooks that provide the desired recipes and meet dependency
constraints, and emits a `Policyfile.lock.json` describing the expanded
run list and locked cookbook set. The `Policyfile.lock.json` can be used
to install the cookbooks on another machine. The policy lock can be
uploaded to a Chef Server (via the `chef push` command) to apply the
expanded run list and locked cookbook set to nodes in your
-infrastructure. The Policyfile feature is currently incomplete and of
-beta quality; changes to the Chef Server APIs will need to be
-implemented before the feature is production-ready. The feature
-currently operates in a compatibility mode. See the POLICYFILE_README.md
-for further details.
+infrastructure. See the POLICYFILE_README.md for further details.
### `chef push`
`chef push POLICY_GROUP` uploads a Policyfile.lock.json along with the cookbooks it
references to a Chef Server. The policy lock is applied to a
`POLICY_GROUP`, which is a set of nodes that share the same run list and
cookbook set. This command operates in compatibility mode and has the
same caveats as `chef install`. See the POLICYFILE_README.md for further
details.
+### `chef update`
+`chef update` updates a Policyfile.lock.json with the latest cookbooks
+from upstream sources. It supports an `--attributes` flag which will
+cause only attributes from the Policyfile.rb to be updated.
+
+### `chef diff`
+`chef diff` shows an itemized diff between Policyfile locks. It can
+compare Policyfile locks from local disk, git, and/or the Chef Server,
+based on the options given.
+
+#### `chef verify`
+`chef verify` tests the embedded applications. By default it runs a
+quick "smoke test" to verify that the embedded applications are
+installed correctly and can run basic commands. As an end user this is
+probably all you'll ever need, but `verify` can also optionally run unit
+and integration tests by supplying the `--unit` and `--integration`
+flags, respectively.
+
+*WARNING:* The integration tests will do dangerous things like start
+HTTP servers with access to your filesystem and even create users and
+groups if run with sufficient privileges. The tests may also be
+sensitive to your machine's configuration. If you choose to run these,
+we recommend to only run them on dedicated, isolated hosts (we do this
+in our build cluster to verify each build).
+
### Using ChefDK as Your Primary Development Environment
By default, ChefDK only adds a few select applications to your `PATH`
and packages them in such a way that they are isolated from any other
Ruby development tools you have on your system. If you're happily using
@@ -175,10 +182,42 @@
```
Where `YOUR_SHELL_PROFILE` is `~/.bash_profile` for most bash users,
`~/.zshrc` for zsh, and `~/.bashrc` on Ubuntu.
+#### Powershell
+
+You can use `chef shell-init` with PowerShell on Windows.
+
+To try it in your current session:
+
+```posh
+chef shell-init powershell | Invoke-Expression
+```
+
+To enable it permanently:
+
+```posh
+"chef shell-init powershell | Invoke-Expression" >> $PROFILE
+```
+
+#### Fish
+
+`chef shell-init` also supports fish.
+
+To try it:
+
+```fish
+eval (chef shell-init fish)
+```
+
+To permanently enable:
+
+```fish
+echo 'eval (chef shell-init SHELL_NAME)' >> ~/.config/fish/config.fish
+```
+
## Uninstallation Instructions
### Mac OS X
You can uninstall Chef Development Kit on Mac using below commands:
@@ -223,10 +262,10 @@
```
- - -
[Berkshelf]: http://berkshelf.com "Berkshelf"
[Chef]: https://www.chef.io "Chef"
-[ChefDK]: https://www.chef.io/downloads/chef-dk "Chef Development Kit"
+[ChefDK]: https://downloads.chef.io/chef-dk "Chef Development Kit"
[Chef Documentation]: http://docs.chef.io "Chef Documentation"
[ChefSpec]: http://chefspec.org "ChefSpec"
[Foodcritic]: http://foodcritic.io "Foodcritic"
[Learn Chef]: http://learn.chef.io "Learn Chef"
[Test Kitchen]: http://kitchen.ci "Test Kitchen"