{"id":21199032,"url":"https://github.com/devsecops/restacker","last_synced_at":"2025-07-10T06:30:50.538Z","repository":{"id":42414999,"uuid":"61658852","full_name":"devsecops/restacker","owner":"devsecops","description":null,"archived":false,"fork":false,"pushed_at":"2018-10-16T14:03:22.000Z","size":91,"stargazers_count":4,"open_issues_count":4,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-05T11:22:19.795Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devsecops.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-21T18:51:23.000Z","updated_at":"2023-07-26T13:10:39.000Z","dependencies_parsed_at":"2022-09-13T11:31:15.540Z","dependency_job_id":null,"html_url":"https://github.com/devsecops/restacker","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/devsecops/restacker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsecops%2Frestacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsecops%2Frestacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsecops%2Frestacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsecops%2Frestacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsecops","download_url":"https://codeload.github.com/devsecops/restacker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsecops%2Frestacker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264538580,"owners_count":23624436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T19:55:39.798Z","updated_at":"2025-07-10T06:30:50.229Z","avatar_url":"https://github.com/devsecops.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Restacker\n\nRestacker is the DevSecOps deployment swiss army knife. You can use it safely \u0026 securely deploy, update, migrate, and/or remove AWS stacks.  \nAlthough not feature complete yet, you can begin using it to deploy or re-stack your existing AWS accounts/instances.\n\n## Install it:\n- Grab the binary from [GitHub Releases](https://github.com/devsecops/restacker/releases)\n- Or build from source:\n```\ngit clone https://github.com/devsecops/restacker.git\ncd restacker/source\ngem install bundler\nbundle install\ngem build restacker.gemspec\ngem install restacker\n# if you're using rbenv, then: rbenv rehash\n```\n\n## Use it:\n\n```\n$ restacker\nPlease specify an ACTION\n\nUsage: restacker [ACTION] [OPTONS]\n\nACTIONS\n\n    list\tLists current stack names\n    describe\tDescribes a stack parameters and template\n    restack\tRestacks a given deployment\n    deploy\tDeploys a new stack\n    migrate\tMigrates from green to blue stack\n    remove\tRemoves the given deployment\n    configure\tConfigure the target account in the restacker.yml file\n    dump\tDumps the default configuration for a given template or module\n    console\tOpens the AWS Console\n\n\nOPTIONS\n\n    -c, --credentials=PROFILE        Specify the AWS profile credential (~/.aws/config) to use\n    -d, --debug                      Show stack traces\n    -e, --environment-params=PARAMS  Parameters to add to the instance environment (/etc/profile.d) in the form of\n                                     k1=v1,k2=v2. E.g., -p SCORING_URL=https://scoring...\n    -h, --help                       Prints these wonderful lines...\n    -l, --location=LOCATION          Location to deploy\n    -m, --migrate-module=MODULE      Migration module to execute\n    -n, --name=NAME                  Stack prefix stack name (alphanumeric with dashes)\n    -o, --migrate-options=OPTIONS    Options required by migration module to migrate from green to\n                                     blue stack in the form of k1=v1,k2=v2. E.g., -p EIP=1.2.3.4\n    -p, --params=PARAMS              Parameters to override current stack parameters in the form of\n                                     k1=v1,k2=v2. E.g., -p AmiId=ami-a4jd7928\n    -P, --parameters-file=FILE       YAML formated parameters file (as generated by the dump command) containing parameters to override stack parameters\n    -r, --region=REGION              The region where the stack to be restacked exists\n    -t, --template=PATH              Template file path to override current stack template\n    -u, --username=USERNAME          Your username, defaults to $USER\n    -v, --verbose                    Show more output\n    -V, --version                    Display the version\n\nNotes:\n - If no template file path is provided when restacking restacker will use the same\n   template as if currently deployed.\n - Deployed stack name will be in the form of NAME-DATE using today's date\n ```\n\n## Configure it\n- `restacker configure -l \u003clocation\u003e`\n- Or copy the `restacker-example.yml` to `~/.restacker/restacker.yml` \u0026 update the configurations\nThe below configuration is an example of MyApp1 and MyApp2 as target accounts and CTRL as master.\n\n```\n$ cat ~/.restacker/restacker.yml\n\n:default:\n  :label: myapp1\n\n:ctrl: \u0026ctrl_default\n  :label: ctrlAcct\n  :account_number: '123456789012'\n  :role_name: ctrl-ctrl-DeployAdmin\n  :role_prefix: \"/dso/ctrl/ctrl/\"\n  :bucket:\n    :name: my-bucket\n    :prefix: \"s3/bucket/prefix/\"\n    :ami_key: ami_object_key\n\n:ctrlAcct:\n  :region: us-west-2\n  :ctrl:\n    \u003c\u003c: *ctrl_default\n  :target:\n    \u003c\u003c: *ctrl_default\n\n:myapp1:\n  :region: us-west-2\n  :ctrl:\n    \u003c\u003c: *ctrl_default\n    :role_name: ctrl-myapp1-DeployAdmin\n  :target:\n    :label: myapp1\n    :account_number: '098765432123'\n    :role_name: myapp1-dso-DeployAdmin\n    :role_prefix: \"/dso/human/\"\n\n:myapp2:\n  :region: us-west-2\n  :ctrl:\n    \u003c\u003c: *ctrl_default\n    :role_name: ctrl-myapp2-DeployAdmin\n  :target:\n    :label: myapp2\n    :account_number: '123098456765'\n    :role_name: myapp2-dso-DeployAdmin\n    :role_prefix: \"/dso/human/\"\n\n...\n```\n\n## More Info\nCheckout the [docs](./docs/) for detailed information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsecops%2Frestacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsecops%2Frestacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsecops%2Frestacker/lists"}