Mach-composer

Latest version: v1.2.4

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

2.1.0

- Add back support to update sops encrypted config files
- Properly implement the `--check` flag on `update` command

2.0.2

- Pass environment variables to terraform command

2.0.1

- Add aws-cli to the Docker container

2.0.0

Rewrite of the Python codebase to Go. Goal is to make it easier to distribute
mach-composer in a cross-platform way.

A number of features which were minimal used are removed.
- The `mach bootstrap` command is no longer present. It was a simple wrapper
around Python cookiecutter. This can still be used separately
- The `mach sites` and `mach components` commands since they were unused.
- The `--with-sp-login` is removed. This flags used to run `az login`. If this
is needed it needs to be run before mach-composer is run.
- The `--ignore-version` flag is removed. The version in the config file now
indicates a schema version. Only version 1 is supported and updates within
this schema version should always be backwards compatible.

1.2

**general**
- Add `mach init` command
- Skip non-MACH configuration files when processing all yaml files in a directory.<br>
This allows you to run things like `mach apply` or `mach update` without having to specify the `-f main.yml` option if you only have one valid MACH configuration file in your directory. Fixes 150
- Ignore missing variables when running `mach sites` and `mach components`
- Add `--destroy` flag to the `plan` and `apply` commands
- Add `variables_file` option to the `mach_composer` configuration block to define a variable file
- Show commit author in `mach update` output
- Upgraded commercetools provider to [`0.30.0`](https://github.com/labd/terraform-provider-commercetools/blob/main/CHANGELOG.md#v0300-2021-08-04)
- Upgraded Amplience provider to [`0.3.7`](https://github.com/labd/terraform-provider-amplience/blob/main/CHANGELOG.md#v037-2022-03-14)
- Upgraded Azure provider to [`2.99.0`](https://github.com/hashicorp/terraform-provider-azurerm/blob/main/CHANGELOG-v2.md#2990-march-11-2022)

**AWS**
- Upgraded Terraform AWS provider to [`3.74.1`](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md#3741-february-7-2022)
- Add support for default tags on provider level
yaml
aws:
account_id: 123456789
region: eu-central-1
default_tags:
environment: test
owner: john

1.1

**General**

- Variable support:
- `${var.}` to be used with the `--var-file` command line option
- `${component.}` to use component output values
- `${env.}` to include environment variables in the configuration file

**AWS**
- Upgraded Terraform AWS provider to [`3.66.0`](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md#3660-november-18-2021)
- Add AWS specific endpoint options;
- `enable_cdn` creates a CDN in front of an endpoint
- `throttling_burst_limit` and `throttling_rate_limit` controls throttling on the API gateway

**Azure**

- Upgraded Terraform Azure provider to [`2.86.0`](https://github.com/hashicorp/terraform-provider-azurerm/blob/main/CHANGELOG.md#2860-november-19-2021)
- Add extra Frontdoor frontend_endpoint options:
- session affinity
- waf policy support
- Add extra Frontdoor routing options to components such as:
- Custom routing paths
- Health probe settings
- Custom host address and ports
- Caching options
- Include `frontend_endpoint` in ignore list when `suppress_changes` is used
- Add Frontdoor `ssl_key_vault` option to supply your own SSL certificate for your endpoints
- Add Azure specific endpoint options:
- `internal_name` Overwrites the frontend endpoint name
- `waf_policy_id` Defines the Web Application Firewall policy ID for the endpoint
- `session_affinity_enabled` Whether to allow session affinity
- `session_affinity_ttl_seconds` The TTL to use in seconds for session affinity
- Add new `service_plans` option `per_site_scaling`
- Fix: set correct root-level DNS record (``) when endpoint URL is the same as the zone

**Commercetools**

- Upgraded Terraform commercetools provider to [`0.25.3`](https://github.com/labd/terraform-provider-commercetools/blob/master/CHANGELOG.md#v0293-2021-06-16)
- Add `tax_categories` to allow more complex tax setups. Does not work in conjunction with `taxes`

Upgrade notes

**For Azure**

- Each component that has an `endpoint` defined needs to have an Terraform output defined for that endpoint. For example:<br>
terraform
output "azure_endpoint_main" {
value = {
address = azurerm_function_app.main.default_hostname
}
}

Read more about the [configuration options](https://docs.machcomposer.io/reference/components/azure.html#defining-outputs).
- Remove endpoints restrictions: Azure components can now use multiple endpoints.
- Changes have been made in the Frontdoor configuration in the underlying Terraform Azure provider.<br>
If you are using endpoints with a custom domain, you'll need to import the new [`azurerm_frontdoor_custom_https_configuration`](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/frontdoor_custom_https_configuration#import) into your Terraform state.<br>
More on how to work with the Terraform state in [our troubleshooting guide](https://docs.machcomposer.io/topics/development/troubleshooting.html).

Page 3 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.