opscode/chef — pull request #1619 by jtimberman (2014-07-09 02:12:37+00:00)
Title: Remove chef-repo rake tasks

These rake tasks were previously loaded by opscode/chef-repo's
Rakefile, which I propose be removed as well. The functionality of
these rake tasks is superseded by other tools, either built into
chef (via knife, usually), via a cookbook, or by tools commonly used
in the ecosystem (such as opscode/chef-dk).

Specific replacements for each task are noted:

* update: to my knowledge this wasn't commonly used anyway; its use
hasn't been recommended in years. Most Chef users are using git
because of the extensive use of GitHub by CHEF, so the subversion
functionality is not needed, and `git pull` is easy enough to do.
Plus, the workflow world of git is different now than it was 5 years
ago.
* install: This task pulls from a remote repository, then uploads
roles and cookbooks with the upload_cookbooks/upload_cookbook,
roles/role tasks. This functionality is all provided by the built
in `knife upload` command (via knife-essentials). The configuration
file part of this task is completely unnecessary and won't actually
work on Chef 11 servers, and isn't recommended for Chef 11
clients (use the `chef-client` cookbook to manage
`/etc/chef/client.rb`).
* new_cookbook: This task was replaced by `knife cookbook create`
sub-command long ago. However, the chef-dk project has new cookbook
generators that are recommended by CHEF for creating new cookbooks.
Alternatively, users of tools like Berkshelf can generate a new
cookbook skeleton, or they can clone "skeleton" cookbook projects.
There's more than one way to do this, and they're all better than
this rake task.
* ssl_cert: The openssl cookbook maintained by CHEF now has an
`openssl_x509` resource that can be used to generate new self-signed
certificates as a convergent resource. This is better than the rake
task as it doesn't involve the extra step of copying the
certificate.
* metadata: metadata.json is automatically generated from metadata.rb
by knife when uploading cookbooks. This task hasn't been necessary
for a long time.
* roles, role: These tasks upload roles, which can be done with `knife
upload`, as described under the install task above.
* upload_cookbook/upload_cookbooks: These tasks are replaced by other,
better workflow tools such as `knife upload` (described above), or
`berkshelf`.
* test_cookbook/test_cookbooks: This performs a syntax check only, it
doesn't actually do any kind of cookbook testing. The Test Kitchen
project, along with ChefSpec, ServerSpec, etc, are recommended tools
for performing actual unit and integration testing of cookbooks.
* databag/*: Knife includes plenty of subcommands and functionality
for working with data bags, including the previously mentioned
`knife upload` command, or the `knife data bag` subcommands.