## Summary Application chart has two modes driven by the "`appMesh.enabled`" [parameter](./chart/values.yaml): - Without App Mesh, where it is quite similar to the stock Helm Chart generated by Visual Studio Kubernetes project template. - With App Mesh, where most regular Kubernetes resources are augmented with App Mesh specific resources (VirtualNode, VirtualRouter, VirtualService). Kubernetes Ingress resources is replaced with App Mesh GatewayRoute resource. GatewayRoute is optional, just like regular Kubernetes Ingress, and is driven by the "`appMesh.outsideTrafficAllowed`" parameter. Both Ingress and GatewayRoute resources were tested with ALB Ingress Controller. ## Helm Release name matters When deploying an application using this chart, please be sure to give your Helm release meaningful, URI-compatible, *immutable* release name, like "order-service-v1-1-02". Helm release name is used for naming resources. [Canary chart](../canary/README.MD) is where one may go mutable: creating a stable network endpoint shielding clients from version-specific endpoints. ## App Mesh with EKS Fargate Please note that when running your application containers within an App Mesh on EKS Fargate nodes, "`appmesh.fargatePodServiceAccount`" parameter needs to point to a per-namespace Kubernetes ServiceAccount mapped to an [IAM policy with specific permissions](https://github.com/aws/aws-app-mesh-examples/blob/master/walkthroughs/howto-k8s-fargate/v1beta2/clusterconfig.yaml#L41).