DreamOps

Gem Version Build Status

CLI for Dream projects based on the berkshelf project.

Installation

Add this line to your application's Gemfile:

gem 'dream-ops'

And then execute:

$ bundle

Or install it yourself as:

$ gem install dream-ops

Usage

dream help
Commands:
  dream deploy [TYPE] -T, --targets=one two three  # Deploys to specified targets
  dream help [COMMAND]                             # Describe available commands or one specific command
  dream init [TYPE] -T, --targets=one two three    # Initialize configuration on specified targets
  dream version                                    # Display version

Options:
  -F, [--format=FORMAT]            # Output format to use.
                                   # Default: human
  -q, [--quiet], [--no-quiet]      # Silence all informational output.
  -d, [--debug], [--no-debug]      # Output debug information
  -i, [--ssh-key=SSH_KEY]          # Path to SSH key
  -p, [--aws-profile=AWS_PROFILE]  # AWS profile to use

Deploying to OpsWorks

dream deploy opsworks -T 08137c03-1e85-4787-b82c-cb825638cdfa
Stack: nodeapp
--- Cookbook: chef-nodeapp
--- Apps: ["nodeapp"]
...Building cookbook [chef-nodeapp]
...Deploying cookbook [chef-nodeapp]
...Updating custom cookbooks [stack="nodeapp"]
...Running setup command [stack="nodeapp"]
...Deploying [stack="nodeapp"] [app="nodeapp"]

Deploy Using chef-solo

dream deploy solo -T [email protected] -i /path/to/key.pem
Target: ip-172-31-53-232
--- Cookbook: chef-nodeapp (outdated)
...Building cookbook [chef-nodeapp]
...Deploying cookbook [chef-nodeapp]
...Syncing [repo="nodeapp" target="[email protected]"]
...Running setup role [target="[email protected]"]
...Running deploy role [target="[email protected]"]

Initialize chef-solo

dream init solo -T [email protected] -i /path/to/key.pem
Target: ip-172-31-53-232
--- Is chef-solo Installed: false
--- Valid chef.json: false
--- Valid role[setup]: false
--- Valid role[deploy]: false
...Installing chef-solo via CINC [target="[email protected]"]
...Creating boilerplate /var/chef/chef.json [target="[email protected]"]
...Creating boilerplate /var/chef/roles/setup.json [target="[email protected]"]
...Creating boilerplate /var/chef/roles/deploy.json [target="[email protected]"]

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install.

Release

switch to main branch:

became

- "Unreleased" renamed to commit version

- new "Unreleased" created, comparing last "0.4.0" commit with "HEAD"

[Unreleased]: https://github.com/chris-allen/dream-ops/compare/v0.4.0...HEAD [0.4.0]: https://github.com/chris-allen/dream-ops/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/chris-allen/dream-ops/compare/v0.2.0...v0.3.0

  - Commit `CHANGELOG.md` and `version.rb` with message `:rocket: {version}` (where version is your release version)

- Then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/chris-allen/dream-ops.