Project

tass

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
TASS is the suite of tools that the Tapjoy Operations team uses to manage autoscaling groups and launch configurations.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 2.0
~> 0.2
~> 1.0
~> 2.1
 Project Readme

TASS

Gem Version Codacy Badge Gem Build Status

TASS is the suite of tools that the Tapjoy Operations team uses to manage autoscaling groups and launch configurations.

Requirements

  • Ruby 2.1
  • Trollop 2.1
  • AWS SDK 2.0
  • Hashdiff 0.2
  • Highline 1.0

Installation

Installation from RubyGems

gem install tass

Installation from source

git clone git@github.com:Tapjoy/tass.git
cd tass
gem build tass.gemspec
gem install tass*.gem --no-ri --no-rdoc
cd ..

Configuration

There are several config files used for this application, broken out into a few categories:

  • Environment variables
  • Instance configuration
    • config/common/defaults.yaml
    • config/common/.yaml
    • config/clusters/<cluster_name>.yaml
  • Userdata

Instance configuration

For information on configuration options, please reference [Configuration Options] (docs/CONFIG_OPTIONS.md)

These files are located in the config configuration directory.

config/common/defaults.yaml

This is the config file that loads global (i.e, not environment-specific) configuration options.

config/common/.yaml

This config file loads environment-specific configuration options and overrides global options.

config/clusters/<cluster_name>.yaml

This config file loads cluster-specific configuration options and overrides all other config options.

Userdata configuration

Userdata configuration files are ERB templates located in the userdata config directory. These templates can have any content you need during instance bootstrap. Additionally, if you need any variables in the template you can pass them in via any of the instance configuration config files.

Commands

create

This command creates new autoscaling groups, and overwrites existing ones. NOTE: --env has been deprecated and will be removed in a future version

Usage: tass create [options]

Options:
  -f, --filename=<s>           Specify config file to load
  -e, --env=<s>                Specify which environment config to load
  --clobber-elb                Force ELB creation
  --clobber-as                 Force AS group creation
  -p, --prompt, --no-prompt    Enable/disable prompts (default: true)
  -h, --help                   Show this message

update

This command creates new launch configurations based on existing autoscaling groups using local instance configuration files as overrides. NOTE: --env has been deprecated and will be removed in a future version

Usage: tass update [options]

Options:
  -f, --filename=<s>           Specify config file to load
  -e, --env=<s>                Specify which environment config to load
  -p, --prompt, --no-prompt    Enable/disable prompts (default: true)
  -h, --help                   Show this message

audit

This command compares local configuration files for a given cluster to the existing launch configuration and autoscaling group running in AWS. NOTE: --env has been deprecated and will be removed in a future version

Usage: tass audit

Options:
  -f, --filename=<s>           Specify config file to load
  -e, --env=<s>                Specify which environment config to load
  -p, --prompt, --no-prompt    Enable/disable prompts (default: true)
  -h, --help                   Show this message

scale

This command is used to scale up/down auto scaling groups NOTE: --env has been deprecated and will be removed in a future version

Options:
  -f, --filename=<s>           Specify config file to load
  -p, --prompt, --no-prompt    Enable/disable prompts (default: true)
  -e, --env=<s>                Specify which environment config to load
  -i, --instance-ids=<s+>      Instance IDs to scale down
  -h, --help                   Show this message