Skip to content

App Mesh Controller Development Guide

Prerequisites

Building the Controller

The controller Docker image can be built via:

AWS_REGION=<region> AWS_ACCOUNT=<account ID> make docker-build

This command will compile the controller, run unit tests, and generate a Docker image using the ECR repository format (e.g. <account ID>.dkr.ecr.<region>.amazonaws.com/amazon/appmesh-controller).

The image can be pushed to your local ECR repository via:

AWS_REGION=<region> AWS_ACCOUNT=<account ID> make docker-push

Once the image has been pushed, you can run the following to install the controller and CRDs to your configured cluster (defined in ~/.kube/config):

AWS_REGION=<region> AWS_ACCOUNT=<account ID> make deploy

Building for App Mesh Preview

Important: The preview version of the controller will not work against App Mesh's production environment (and vice versa). App Mesh's endpoint and signing name are chosen during the build process.

When working against the App Mesh Preview environment, the preview SDK models are downloaded and used to generate the AWS SDK for Go dynamically. The steps for building and deploying the controller are the same as above, but with two new variables for the docker-build step.

AWS_REGION=<region> AWS_ACCOUNT=<account ID> APPMESH_SDK_OVERRIDE=y APPMESH_PREVIEW=y make docker-build