This is the current, previous and future development milestones and contains the features backlog.
- initial README.md describing goals
- command-line tool
- basic options all supported
- create repo on GitHub
- publish as a gem on RubyGems
- switch to mixlib-cli
- --dryrun The option
--dryrunwill print the commands to run, but not actually execute them (the default behavior)
- --delete The option
--deletewill delete each cookbook, role, data bag, environment and node described in the yml file. All nodes from the system are deleted with
knife node bulk_delete.
- --rebuild The option
--rebuildwill remove all currently managed infrastructure for this chef repository and rebuild it from scratch.
- renamed MILESTONES.md to CHANGELOG.md
- fixed version number
- updated YAML schema and examples because Ruby 1.8 does not order hashes.
- validate that the recipes and roles listed in the nodes are loaded
- support versions for cookbooks
- support site vendor for cookbooks
- support JSON and YAML
- add support for cookbook options
- add support for environments
- rescue from parser errors
- update cookbook download syntax
- multiple nodes with same runlists syntax
- add support for encrypted data bags
- wildcard support for data bag items
- fixed run list parsing
- updated examples for Chef 0.10
- fixed validation on existing cookbooks
- added examples directory
- refactor by Elliot Crosby-McCullough into libraries and adding testing.
- typo fix by Rick Martinez (digx)
- fixed Issue #6, catch empty cookbooks, environments, roles, data bags and nodes.
- fixed Issue #7, permissions in spiceweasel gem folder
- fixed Issue #8, allow passthrough of knife options (in particular -c KNIFECONFIGFILES) through to the outputted knife commands. Patch by gmacid
- linked ravel-repo and php quickstart examples
- flag to enable 'knife cookbook site install' since we're using site download currently
- on provider delete take count of vendor-specific, delete if match (ec2 server delete and node delete)
- use GNU parallel with knife for vendor-specific knife server creates
- reprioritized backlog
- wildcards for environments and roles
- make .yml files for every quickstart
- --no-validation to skip validation
- validation for environments
- validate custom bootstrap templates?
- check metadata.rb of cookbooks for their dependencies
- validate within role files rather than the names of files (assumption that they are the same)
- validate cookbooks referenced in roles
- validate within environment files rather than the names of files (assumption that they are the same)
- validate cookbooks referenced in environments
- validate recipes from cookbooks in run_lists
- CONVERT TO A KNIFE PLUGIN
- knife batch create from file infrastructure.yml
- knife batch delete from file infrastructure.json
- knife batch rebuild from file infrastructure.yml
- EXTRACT EXISTING INFRASTRUCTURE
- knife batch extract to a tarball named for the organization
- option to include credentials and knife.rb
- translate json back to rb?
- EXECUTE THE COMMANDS
- -e/--execute execute the commands
- catching return codes and retrying (with retry count?)
- make the JSON calls directly with Chef APIs? spice?