Skip to content
This repository has been archived by the owner on Jan 16, 2024. It is now read-only.

aptible/opsworks-cli

Repository files navigation

OpsWorks::CLI

Gem Version Build Status Dependency Status

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

Installation

Install the gem:

gem install 'opsworks-cli'

Configuration

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=...
export AWS_SECRET_ACCESS_KEY=...

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 [...]

Usage

$ opsworks help
Commands:
  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

Contributing

  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) 2019 Aptible and contributors.