Skip to content

Commit

Permalink
updating controller to include APPMESH_RESOURCE_ARN env variable (#721)
Browse files Browse the repository at this point in the history
* updating controller to use APPMESH_RESOURCE_ARN
  • Loading branch information
dileepng committed Aug 14, 2023
1 parent 1b10f2f commit a73352c
Show file tree
Hide file tree
Showing 3 changed files with 135 additions and 2 deletions.
76 changes: 74 additions & 2 deletions pkg/inject/envoy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func Test_envoyMutator_mutate(t *testing.T) {
Namespace: "my-ns",
Name: "my-pod",
Annotations: map[string]string{
"appmesh.k8s.aws/sidecarEnv": "DD_ENV=prod, APPMESH_VIRTUAL_NODE_NAME=random_val",
"appmesh.k8s.aws/sidecarEnv": "DD_ENV=prod, APPMESH_RESOURCE_ARN=random_val, APPMESH_VIRTUAL_NODE_NAME=random_val",
},
},
Spec: corev1.PodSpec{
Expand Down Expand Up @@ -258,6 +258,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -401,6 +405,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -543,6 +551,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -725,6 +737,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -878,6 +894,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1030,6 +1050,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1177,6 +1201,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1335,6 +1363,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1518,6 +1550,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1683,6 +1719,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1826,6 +1866,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -1984,6 +2028,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -2149,6 +2197,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -2348,6 +2400,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -2507,6 +2563,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -2669,6 +2729,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -2798,7 +2862,7 @@ func Test_envoyMutator_mutate(t *testing.T) {
Namespace: "my-ns",
Name: "my-pod",
Annotations: map[string]string{
"appmesh.k8s.aws/sidecarEnv": "DD_ENV=prod, APPMESH_VIRTUAL_NODE_NAME=random_val",
"appmesh.k8s.aws/sidecarEnv": "DD_ENV=prod, APPMESH_RESOURCE_ARN=random_val, APPMESH_VIRTUAL_NODE_NAME=random_val",
},
},
Spec: corev1.PodSpec{
Expand Down Expand Up @@ -2842,6 +2906,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down Expand Up @@ -2997,6 +3065,10 @@ func Test_envoyMutator_mutate(t *testing.T) {
FailureThreshold: 3,
},
Env: []corev1.EnvVar{
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualNode/my-vn_my-ns",
Expand Down
1 change: 1 addition & 0 deletions pkg/inject/sidecar_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ func updateEnvMapForEnvoy(vars EnvoyTemplateVariables, env map[string]string, vn
// add all the controller managed env to the map so
// 1) we remove duplicates
// 2) we don't allow overriding controller managed env with pod annotations
env["APPMESH_RESOURCE_ARN"] = vname
env["APPMESH_VIRTUAL_NODE_NAME"] = vname
env["AWS_REGION"] = vars.AWSRegion

Expand Down
60 changes: 60 additions & 0 deletions pkg/inject/virtualgateway_envoy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "TEST_ENV",
Value: "test_val",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "incorrect_node_name",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "incorrect_node_name",
Expand Down Expand Up @@ -325,6 +329,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -441,6 +449,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -562,6 +574,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -663,6 +679,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "TEST_ENV",
Value: "test_val",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -780,6 +800,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "TEST_ENV",
Value: "test_val",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -897,6 +921,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "TEST_ENV",
Value: "test_val",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1029,6 +1057,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1188,6 +1220,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1323,6 +1359,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1461,6 +1501,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1586,6 +1630,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1705,6 +1753,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "APPMESH_SDS_SOCKET_PATH",
Value: "/run/spire/sockets/agent.sock",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1839,6 +1891,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "AWS_REGION",
Value: "us-west-2",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down Expand Up @@ -1958,6 +2014,10 @@ func Test_virtualGatewayEnvoyMutator_mutate(t *testing.T) {
Name: "APPMESH_SDS_SOCKET_PATH",
Value: "/run/spire/sockets/agent.sock",
},
{
Name: "APPMESH_RESOURCE_ARN",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
},
{
Name: "APPMESH_VIRTUAL_NODE_NAME",
Value: "mesh/my-mesh/virtualGateway/my-vg_my-ns",
Expand Down

0 comments on commit a73352c

Please sign in to comment.