- Newest
- Most votes
- Most comments
The error you're encountering with the Terraform Community Edition action in CodeCatalyst is related to container architecture compatibility issues.
Based on your description, the "CLIENT_ERROR: Provided image is incompatible with the container architecture" suggests there's a mismatch between the container image being used by the action and the EC2 compute environment you've selected.
To resolve this issue, you should:
-
Make sure you're using the correct action identifier. The proper identifier for the Terraform Community action is
codecatalyst-labs/provision-with-terraform-community@v1. -
Check your workflow configuration. A proper Terraform Community action configuration should include:
- AWSRegion (you've set this to Europe/Ireland)
- StateBucket (for storing Terraform state)
- StateKey (the Terraform state file name)
- StateTable (DynamoDB table for state locking)
- TerraformVersion (specify a version like '1.5.1')
- TerraformOperationMode (you've set this to 'plan')
- Ensure your IAM role has the necessary permissions to perform the Terraform operations.
As an alternative approach, you could use the aws/build@v1 action with custom steps to download and run Terraform directly. This approach involves:
- Downloading the specific Terraform version
- Extracting and installing it
- Running the necessary Terraform commands (init, validate, plan, apply)
This method gives you more control over the Terraform execution process and might avoid the container architecture compatibility issues.
Remember that due to licensing changes, AWS has moved from "Terraform Open Source" to "External" as the product type for Terraform Community Edition in some services, though this is specifically for AWS Service Catalog and shouldn't directly affect your CodeCatalyst workflow.
Sources
Automate Terraform Deployments with Amazon CodeCatalyst and Terraform Community action | AWS DevOps Blog
Community | Amazon CodeCatalyst workflow for Terraform
Community | Amazon CodeCatalyst workflow for Terraform
Updating existing Terraform Open Source products and provisioned products to the External product type - AWS Service Catalog
answered a year ago
I did everything that was mandatory in GUI template for Terraform Community Edition action so I assume I couldn't do anything wrong. The problem seems to be with compute provisioning. EC2 has been chosen in action template but the error says somoething about container architecture. Can see if youre able to use this action properly? You dont have to have s3 bucket and dynamo DB and terraform code, I think it will fail on compute provisioning so maybe it won't go with the next steps :)

The error is due to an architecture mismatch between the container image and the EC2 compute. Try using a different compute type, check for action updates
ok. but the action's developer has prepared action's configuration template (in GUI) and the only options there are EC2 or Lambda and I tried both. Thats not the case where I could do something wrong or right, I just choose from available options but it doesn't work :( does anybody know that action's developer to tell him that he need to fix it?
I don't understand how this action (Terraform Community Edition) was developed but it has environment section in it's GUI template. I did enter all these environment information and I thought that compute will be provisioned using that environment (my AWS account). Now i'm starting to realize that the compute cannot be provisioned in my AWS accout and the codecatalyst managed compute is the only option. I don't understand what is the purpoce of the environment section in action's GUI template as the codecatalyst managed compute is the only option. Can any one help me to uderstad that?