aws-actions / amazon-ecs-render-task-definition

Inserts a container image URI into an Amazon ECS task definition JSON file.
MIT License
261 stars 142 forks source link

Unable to use multi-line environment variables #240

Open bachya opened 1 year ago

bachya commented 1 year ago

We have an ECS task into which we've inserted a private key as a multi-line environment variable from a secret store. To retain the newlines, we wrap the environment variable in quotes inside of this actions:

environment-variables: |
  PRIVATE_KEY="{{ secrets.PRIVATE_KEY }}"

Because of how the action parses environment variables (by newlines), it will fail to see this multi-line value as a single variable:

Error: Cannot parse the environment variable '***'. Environment variable pairs must be of the form NAME=value.

Is there a way this scenario can be accommodated?

dougireton commented 7 months ago

@bachya pretty sure your issue is that GH Actions is masking secrets.PRIVATE_KEY automatically.

VladPetriv commented 3 months ago

@bachya Did you find a way how to fix it?

bachya commented 3 months ago

@bachya Did you find a way how to fix it?

I ended up storing my key as a base64-encoded string; then, in my application code, I decode it before I want to use it.