Skip to content

devsecops/restacker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

94 Commits

Repository files navigation

Restacker

Restacker is the DevSecOps deployment swiss army knife. You can use it safely & securely deploy, update, migrate, and/or remove AWS stacks.
Although not feature complete yet, you can begin using it to deploy or re-stack your existing AWS accounts/instances.

Install it:

git clone https://github.com/devsecops/restacker.git cd restacker/source gem install bundler bundle install gem build restacker.gemspec gem install restacker # if you're using rbenv, then: rbenv rehash 

Use it:

$ restacker Please specify an ACTION Usage: restacker [ACTION] [OPTONS] ACTIONS list Lists current stack names describe Describes a stack parameters and template restack Restacks a given deployment deploy Deploys a new stack migrate Migrates from green to blue stack remove Removes the given deployment configure Configure the target account in the restacker.yml file dump Dumps the default configuration for a given template or module console Opens the AWS Console OPTIONS -c, --credentials=PROFILE Specify the AWS profile credential (~/.aws/config) to use -d, --debug Show stack traces -e, --environment-params=PARAMS Parameters to add to the instance environment (/etc/profile.d) in the form of k1=v1,k2=v2. E.g., -p SCORING_URL=https://scoring... -h, --help Prints these wonderful lines... -l, --location=LOCATION Location to deploy -m, --migrate-module=MODULE Migration module to execute -n, --name=NAME Stack prefix stack name (alphanumeric with dashes) -o, --migrate-options=OPTIONS Options required by migration module to migrate from green to blue stack in the form of k1=v1,k2=v2. E.g., -p EIP=1.2.3.4 -p, --params=PARAMS Parameters to override current stack parameters in the form of k1=v1,k2=v2. E.g., -p AmiId=ami-a4jd7928 -P, --parameters-file=FILE YAML formated parameters file (as generated by the dump command) containing parameters to override stack parameters -r, --region=REGION The region where the stack to be restacked exists -t, --template=PATH Template file path to override current stack template -u, --username=USERNAME Your username, defaults to $USER -v, --verbose Show more output -V, --version Display the version Notes: - If no template file path is provided when restacking restacker will use the same template as if currently deployed. - Deployed stack name will be in the form of NAME-DATE using today's date 

Configure it

  • restacker configure -l <location>
  • Or copy the restacker-example.yml to ~/.restacker/restacker.yml & update the configurations The below configuration is an example of MyApp1 and MyApp2 as target accounts and CTRL as master.
$ cat ~/.restacker/restacker.yml :default: :label: myapp1 :ctrl: &ctrl_default :label: ctrlAcct :account_number: '123456789012' :role_name: ctrl-ctrl-DeployAdmin :role_prefix: "/dso/ctrl/ctrl/" :bucket: :name: my-bucket :prefix: "s3/bucket/prefix/" :ami_key: ami_object_key :ctrlAcct: :region: us-west-2 :ctrl: <<: *ctrl_default :target: <<: *ctrl_default :myapp1: :region: us-west-2 :ctrl: <<: *ctrl_default :role_name: ctrl-myapp1-DeployAdmin :target: :label: myapp1 :account_number: '098765432123' :role_name: myapp1-dso-DeployAdmin :role_prefix: "/dso/human/" :myapp2: :region: us-west-2 :ctrl: <<: *ctrl_default :role_name: ctrl-myapp2-DeployAdmin :target: :label: myapp2 :account_number: '123098456765' :role_name: myapp2-dso-DeployAdmin :role_prefix: "/dso/human/" ... 

More Info

Checkout the docs for detailed information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages