📄️ Directory structure
You provide configuration for your deployment targets in a deployment configuration file. By default, Takomo looks targets.yml file from the deployment directory.
📄️ Deployment groups
You specify deployment groups with the deploymentGroups property. It is an object whose keys are paths to deployment groups, and values contain configuration for the corresponding deployment group.
📄️ Deployment targets
You use deployment group's targets property to specify its targets. Each target must have a name that is unique among all targets in the deployment configuration.
📄️ Config sets
Config set directory and files
You can specify variables for deployment groups and deployment targets with the vars property. It is an object whose keys are variable names and values contain the values for the corresponding variables. Variable values can be strings, numbers, booleans, objects or lists of the aforementioned types.
You can validate deployment targets you have defined in the deployment configuration using custom Joi validation schemas.
📄️ Target account
There are two options to specify to which account Takomo should deploy stacks defined in a deployment target's config sets.
You can add labels to deployment groups and targets with the labels property, which accepts a single label or a list of labels. Deployment groups and targets inherit labels from the deployment group they belong to and can have labels of their own but can't remove the inherited labels.
📄️ Externalize target configuration
As the number of deployment targets grows, the size of the deployment configuration file might become unwieldy. You can externalize the deployment target configurations outside the deployment configuration file to make the deployment configuration file more manageable. To do this, you need to define the deployment target repository in a takomo.yml file located in your project's root directory.
📄️ Deploying targets
Deploying config sets
📄️ Bootstrapping targets
Typically, you use a CI/CD pipeline to deploy stacks to your deployment targets. That usually means creating an IAM role for the CI/CD tool to assume and then use to perform the deployment. Of course, as a best practice, the deployment role should have only the minimum set of permissions.