1. Create a Stackery Account
Go to the Stackery Sign Up Page and create an account.
2. Install Stackery CLI
Next, install Stackery’s CLI tool.
$ curl -Ls https://ga.cli.stackery.io/osx.zip > /tmp/stackery.zip $ unzip /tmp/stackery.zip -d /usr/local/bin
$ curl -Ls https://ga.cli.stackery.io/linux.zip > /tmp/stackery.zip $ unzip /tmp/stackery.zip -d /usr/local/bin
Download https://ga.cli.stackery.io/windows.zip. Unzip it and move stackery.exe to your preferred installation location.
Complete the installation by running:
$ stackery login
This will prompt you for the email address and password associated with your Stackery account. Once authenticated, it will provision a new API key for your account. This API key will be stored in a
.stackery.toml file in your home folder and used for all further Stackery access from the command line.
3. Use Stackery CLI to link an AWS account
Use Stackery CLI to link your Stackery and AWS accounts by running:
$ stackery setup-provider
In order to create the link between an AWS account and your Stackery account, the CLI will create an AWS CloudFormation stack named stackery in the AWS account. The stack includes the following resources:
- IAM Role that enables stackery to deploy resources into your account
- S3 Bucket to hold deployment assets
- SNS Topic to receive deployment notifications
- Lambda Function to forward notifications to Stackery
These resources have no up-front costs. You should expect minimal costs, often on the order of pennies per month, for these base resources once you begin creating stacks in Stackery.
You can review the CloudFormation template at https://s3-us-west-2.amazonaws.com/prod-stackery/templates/stackery.template.
To peform this account linking, the CLI will search for AWS credentials on your machine, from the environment variables
AWS_SECRET_ACCESS_KEY and/or the shared AWS credentials file
~/.aws/credentials, and ask you to select which credentials you want to use.
If you do not have AWS credentials on your machine you may need to generate an AWS access key and secret. AWS provides documentation for generating root credentials and generating IAM user credentials.
You must run the setup-provider command each time you want to add a new AWS account to your Stackery account. Once you have setup a new AWS account you can deploy stacks into it by associating the account with a new Environment.
You did it!
Now that your account is setup you should check out the Introduction to Stackery.
Note on Required Permissions
To successfully link an AWS account you need certain permissions. The following is a list of AWS IAM Actions required to link an AWS account. If you are missing any permissions the stackery stack will fail to create. To resolve permissions issues please contact your AWS account administrator.
cloudformation:CreateStack cloudformation:DeleteStack cloudformation:DescribeStacks cloudformation:UpdateStack iam:AttachRolePolicy iam:CreatePolicy iam:CreatePolicyVersion iam:CreateRole iam:DeletePolicy iam:DeletePolicyVersion iam:DeleteRole iam:DeleteRolePolicy iam:DetachRolePolicy iam:GetPolicy iam:GetPolicyVersion iam:GetRole iam:GetRolePolicy iam:ListAccountAliases iam:ListPolicyVersions iam:PassRole iam:PutRolePolicy lambda:AddPermission lambda:CreateEventSourceMapping lambda:CreateFunction lambda:DeleteEventSourceMapping lambda:DeleteFunction lambda:GetEventSourceMapping lambda:GetFunction lambda:GetFunctionConfiguration lambda:GetPolicy lambda:RemovePermission lambda:UpdateEventSourceMapping lambda:UpdateFunctionCode lambda:UpdateFunctionConfiguration s3:CreateBucket s3:DeleteBucket sns:CreateTopic sns:DeleteTopic sns:GetTopicAttributes sns:ListTopics sns:Publish sns:SetTopicAttributes sns:Subscribe sns:Unsubscribe
Note Regarding AWS Regions
Because Stackery requires certain services to be available in the region you link with Stackery, only the following regions may be used at this time:
- US East (N. Virginia)
- US East (Ohio)
- US West (Oregon)
- EU (Ireland)
- EU (Frankfurt)
- Asia Pacific (Tokyo)
- Asia Pacific (Singapore)
- Asia Pacific (Sydney)
If you want to use Stackery in a different region please contact us at firstname.lastname@example.org.
Questions / Issues?
If you have any questions or issues during the setup process please reach out to us at email@example.com.
Next, check out Introduction to Stackery.