Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ecs-cli local up badly handles secrets if the docker-compose container name has dashes #1141

Open
remidebette opened this issue Jan 21, 2022 · 0 comments

Comments

@remidebette
Copy link

remidebette commented Jan 21, 2022

Summary

Creating a local docker compose file (for example with ecs-cli local create) that contains a container and an AWS secret will fail to populate the environment variables if the container name has dashes.

Description

Taking back the terminology of the initial issue: #797
From creating a docker compose file with command ecs-cli local create

// From task-definition.json
{
  "containerDefinitions": [{
    "name": "example-name-container",
    "secrets": [{
      "name": "environment_variable_name",
      "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name-AbCdEf"
    }]
  }]
}

We expect a docker-compose file such as:

# To docker-compose.local.yml
services:
  example-name-container:
    environment:
      <environment_variable_name>=${example-name-container_<environment_variable_name}}
    labels:
      ecs-local.secret.environment_variable_name: "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name-AbCdEf"

Expected Behavior

ecs-cli local up should get the value from the AWS Secret and set it in the environment variable <environment_variable_name>

A docker compose file freshly created from ecs-cli local create should work AS-IS

Observed Behavior

The issue is that, with example-name-container having an hyphen -, the container actually running on local will have the env var populated with the value name-container_<environment_variable_name} instead of the content of the secret.
(note the value truncated at the first dash)

Instead, if in the docker-compose file one manually modifies the example-name-container container name and all occurences in the environment to example (with no hyphen), then everything works as expected

@remidebette remidebette changed the title local up badly handles secrets if the docker-compose container name has dashes ecs-cli local up badly handles secrets if the docker-compose container name has dashes Jan 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant