Created: 2014-05-18 21:08
Updated: 2018-09-28 13:11
License: mit



Gem Version Build Status Dependency Status

An alternative CLI for Amazon OpsWorks, focused on managing a large number of similarly provisioned stacks.


Install the gem:

gem install 'opsworks-cli'


The gem expects to have access to your AWS access key ID and secret access key. You may set the following environment variables:

export AWS_ACCESS_KEY_ID=...

To avoid manually setting these ENV variables each time, you may use the Omnivault gem to store and configure your credentials once, then access them later by running e.g.

omnivault exec opsworks [...]


$ opsworks help
  opsworks apps:create APP [--stack STACK]                 # Create a new OpsWorks app
  opsworks apps:deploy APP [--stack STACK]                 # Deploy an OpsWorks app
  opsworks apps:status APP [--stack STACK]                 # Display the most recent deployment of an app
  opsworks chef:configure [--stack STACK]                  # Configure Chef/Berkshelf
  opsworks chef:sync [--stack STACK]                       # Sync OpsWorks custom cookbooks
  opsworks config:get KEY [--stack STACK]                  # Get a single config value
  opsworks config:set KEY VALUE [--stack STACK]            # Set a config value
  opsworks config:unset KEY [--stack STACK]                # Unset a config value
  opsworks help [COMMAND]                                  # Describe available commands or one specific command
  opsworks iam:allow USER [--stack STACK]                  # Allow an IAM user on a stack
  opsworks iam:lockdown [--stack STACK]                    # Remove all stack permissions
  opsworks recipes:add LAYER EVENT RECIPE [--stack STACK]  # Add a recipe to a given layer and lifecycle event
  opsworks recipes:rm LAYER EVENT RECIPE [--stack STACK]   # Remove a recipe from a given layer and lifecycle event
  opsworks recipes:run RECIPE [--stack STACK]              # Execute a Chef recipe
  opsworks version                                         # Print OpsWorks CLI version


  1. Fork the project.
  2. Commit your changes, with specs.
  3. Ensure that your code passes specs (rake spec) and meets Aptible's Ruby style guide (rake rubocop).
  4. Create a new pull request on GitHub.

Copyright and License

MIT License, see LICENSE for details.

Copyright (c) 2014 Aptible and contributors.


Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more