Project

opzworks

0.01
No commit activity in last 3 years
No release in over 3 years
OpzWorks Utilities
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.11
>= 0
~> 0.37.0

Runtime

~> 2.7.3
~> 3.1.0
~> 0.9.2
~> 3.0.0
~> 3.0.2
~> 2.2.1
~> 2.0
 Project Readme

OpzWorks CLI

Command line interface for managing AWS OpsWorks chef cookbooks and stack json, as well as other OpsWorks centric tasks such as generating ssh configs for OpsWorks instances.

Build Status

Circle CI

Wiki

See the wiki for more detailed information on getting started, walkthroughs, etc.

Third party requirements:

Ruby 2.3+, and...

Again, please see the wiki for details!

Installation

Install for use on the command line (requires ruby and rubygems): gem install opzworks

Then run opzworks --help

To use the gem in a project, add gem 'opzworks' to your Gemfile, and then execute: bundle

To build locally from this repository: rake install

Commands

ssh

Generate and update SSH configuration files, or alternatively return a list of IPs for matching stacks.

elastic

Perform [start|stop|bounce|rolling] operations on an Elastic cluster.

The host from which this command is originated will need to have access to the target systems via private IP and assumes port 9200 is open and available.

This is a very rough implementation!

Usage: opzworks elastic [stack1] [stack2] ... [options]

Options:

  • -s, --start Start Elastic
  • -t, --stop Stop Elastic
  • -b, --bounce Bounce (stop/start) Elastic
  • -r, --rolling Perform a rolling restart of Elastic
  • -o, --old-service-name Use 'elasticsearch' as the service name, otherwise use the layer shortname
  • -h, --help Show this message

json

Update stack custom JSON.

Usage: opzworks json [stack1] [stack2] ... [options]

Options:

  • -q, --quiet Update the stack json without confirmation
  • -o, --context=<i> Change the number lines of diff context to show (default: 5)
  • -c, --clone Just clone the management repo then exit
  • -h, --help Show this message

berks

Build the berkshelf for a stack, or only upload the Berksfile to allow remote berkshelf management on the host, upload the tarball to S3, trigger update_custom_cookbooks on the stack.

Usage: opzworks berks [stack1] [stack2] ... [options]

Options:

  • --ucc, --no-ucc Trigger update_custom_cookbooks on stack after uploading a new cookbook tarball. (Default: true)
  • -u, --update Run berks update before packaging the Berkshelf.
  • -c, --cookbooks=<s+> Run berks update only for the specified cookbooks (requires -u)
  • -l, --clone Only clone the management repo, then exit.
  • -h, --help Show this message

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request