What is Takomo?
Last updated
Was this helpful?
Last updated
Was this helpful?
Takomo helps you organize, parameterize and deploy CloudFormation stacks across multiple regions and accounts. It works equally well with smaller deployments consisting of just a few stacks and larger multi-account environments.
Takomo was inspired by Cloudreach’s excellent , a CloudFormation wrapper tool built with Python, and created by Hashicorp.
is a great tool to manage AWS infrastructure, but as a low-level tool, it's not sufficient alone to manage deployments spanning multiple regions and accounts. Many tools do a good job generating and deploying CloudFormation templates but lack crucial features to handle large-scale deployments.
Takomo was created to overcome challenges that arise when managing a complex AWS infrastructure with inter-stack dependencies across multiple accounts and regions.
You specify the stacks you want to manage with Takomo in configuration files. Each file contains information about the stack, including stack name, regions, values for parameters and tags, and which template file to use.
When you run a command, Takomo starts by reading the configuration files and building a plan showing the changes it is about to execute. Once you have reviewed the plan, you can decide to cancel or proceed with the deployment. During the operation, Takomo prints stack events so you can see what is happening. Once the operation completes, Takomo presents you with a summary of changes and possible errors.
Takomo doesn't store the infrastructure's state or operations it has executed anywhere. It relies solely on the configuration files' information to match locally defined stacks with the ones found in the target accounts.
Here are Takomo's key features.
Provide configuration to your CloudFormation stacks including, input parameters, tags, region, timeouts and more. Use outputs from other stacks as input parameters to your stacks, even if the source stacks reside in different accounts or regions.
Quickly deploy all of your stacks at once or choose to deploy only a subset. Takomo understands inter-stack dependencies and deploys stacks in the correct order and parallel when possible.
Avoid hard coding of parameter values to configuration files by using parameter resolvers that provide parameter values at deployment time.
Takomo comes with these built-in resolvers that resolve parameter values from:
Avoid mistakes by reviewing changes to the configuration before deployment. Take advantage of safety features that prevent deployments to the wrong environments and accounts:
Plug in your own JavaScript code to extend the core features. You can implement your own:
Easily integrate Takomo to your CI pipeline.
Manage organizational units, member accounts, and policies of your AWS organization. You can also easily configure and deploy CloudFormation stacks to all of your accounts or choose to deploy to accounts that belong to a specified organizational unit.
Takomo helps you follow the principle of least privilege by providing you with a based on actions performed during your previous deployments.
- use outputs from other stacks
- read contents of a file
- execute a shell command and use its output
- use value exposed by a lifecycle hook
- read value from an SSM parameter
It's really easy to , too!
Take advantage of and avoid repetitive configuration and copy-pasting in CloudFormation templates.
to resolve stack parameter values at deployment time
to run code at different deployment stages
to validate your configuration
to run custom code when processing configuration