ποΈ Name
Each CloudFormation stack must have a name that is unique within the stack's region. Takomo uses stack names to match stacks found from the local configuration with the target accounts' stacks.
ποΈ Regions
You specify the regions where to deploy a stack using the regions property. You can give a single region or a list of regions. Each stack must have at least one region.
ποΈ Template
You put CloudFormation template files for stacks in the templates directory or its subdirectories.
ποΈ Template bucket
By default, the maximum size for a CloudFormation template file is 51,200 bytes. Using larger template files, up to 460,800 bytes, requires that you upload them to an S3 bucket before deployment.
ποΈ Command role
When you execute a Takomo command, the AWS credentials present in the current terminal session dictate the target AWS account. We call these credentials the default credentials.
ποΈ Account ids
Working simultaneously with multiple accounts usually requires switching between many credentials or IAM roles. This poses a real risk of accidentally deploying infrastructure to a wrong account.
ποΈ Depends
Itβs a good practice to split the infrastructure into multiple stacks that group related resources together. Naturally, there will be dependencies between the stacks.
ποΈ Parameters
You use the parameters property to define input parameters for a stack. It's an object of key-value pairs where the keys are parameter names, and the values are configuration for the corresponding parameter values.
ποΈ Tags
You specify stack tags with the tags property. CloudFormation automatically adds the tags to each resource in the stack that supports tagging.
ποΈ Inherit tags
By default, stacks and stack groups inherit tags from their parent stack group. You can disable this behaviour by setting inheritTags to false.
ποΈ Termination protection
You can enable termination protection for a stack with the terminationProtection property.
ποΈ Timeout
You specify a timeout in seconds for stack create and update operations by using the timeout property. Takomo cancels the operation if it takes longer than what you have specified in the timeout property. You can't set a timeout for the delete operation. Use 0 to disable the timeout.
ποΈ Capabilities
You specify stack capabilities with the capabilities property.
ποΈ Stack policy
You specify a stack policy with the stackPolicy property. It accepts a string or an object.
ποΈ Ignore
You can exclude stacks and stack groups from the configuration with the ignore property.
ποΈ Obsolete
You can exclude stacks from configuration by marking them as obsolete with the obsolete property. Obsolete stacks can be removed with prune stacks command.
ποΈ Hooks
You use the hooks property to specify actions Takomo should execute at different stages of deploy and undeploy commands. The hooks property accepts a list of hook configuration objects. A hook configuration object has the following properties:
ποΈ Data
You can define custom properties by using the data property. The properties specified in a stack group configuration are available in its children's and stack's configuration files and stack templates files.
ποΈ Schemas
You can use custom Joi validation schemas to validate the following parts of stack configuration:
ποΈ Blueprint
You can make a stack inherit configuration from a blueprint with blueprint property.