Skip to content
This repository was archived by the owner on Nov 27, 2023. It is now read-only.
This repository was archived by the owner on Nov 27, 2023. It is now read-only.

[Enhancement] [ECS] Environment variables "valueFrom" AWS Parameter Store and Secret Manager #2200

Open
@os1ma

Description

@os1ma

Description

Thanks for providing a great tool! I have a small proposal. AWS ECS allows environment variables to be set from AWS Systems Manager Parameter Store or AWS Secrets Manager with "valueFrom". This ECS support for compose does not seem to have a setting for this feature. It would be nice to be able to configure like following in the same way as x-aws-role.

services:
  foo:
    x-aws-secrets:
      - name: ENV_VAR_NAME
        value_from: parameter-name or ARN

I found in the documentation here that we can use AWS Secret Manager to set a secret on a file. However, it would be more convenient if we could easily set values for environment variables as described above.

Additional information you deem important (e.g. issue happens only occasionally):

I also considered a workaround to override the task definition using x-aws-cloudformation, but it was not practical. I tried to write the following configuration and convert it.

services:
  web:
    image: nginx:alpine
    ports:
      - '80:80'

x-aws-cloudformation:
  Resources:
    WebTaskDefinition:
      Properties:
        ContainerDefinitions:
          - Name: web
            Secrets:
              - Name: ENV_VAR_NAME
                ValueFrom: my-parameter

Then I got the following output, and the original ContainerDefinitions disappeared.

  WebTaskDefinition:
    Properties:
      ContainerDefinitions:
        - Name: web
          Secrets:
            - Name: ENV_VAR_NAME
              ValueFrom: my-parameter

It may be sufficient if Secrets can be set using x-aws-cloudformation without adding a configuration like x-aws-secrets. This could be solved with an implementation for #2160 .

Additional environment details (AWS ECS, Azure ACI, local, etc.):

AWS ECS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions