`docker_additional_options` is not passed to container when building with poetry
FurqanHabibi opened this issue · 6 comments
Description
We are trying to pass the following environment variable to the docker container via docker_additional_options
:
docker_additional_options = ["-e", "PIP_PLATFORM=manylinux2014_aarch64"]
but as can be seen in the following output, said options is not being passed to the docker run command:
module.le_auto_stack.module.lambda_issue_layer.null_resource.archive[0] (local-exec): > docker run --rm -w /var/task -v /tmp/terraform-aws-lambda-fyvlzv2k:/var/task:z -v /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:z --entrypoint '' 1d556381b475 /bin/sh -c 'poetry config --no-interaction virtualenvs.create true && poetry config --no-interaction virtualenvs.in-project true && poetry export --format requirements.txt --output requirements.txt --with-credentials && python3.9 -m pip install --no-compile --no-deps --prefix= --target=. --requirement=requirements.txt && chown -R 1001:123 .'
- ✋ I have searched the open/closed issues and my issue is not listed.
Versions
- Module version: 4.10.1
- Terraform version:v1.3.7
- Provider version(s):
+ provider registry.terraform.io/hashicorp/aws v4.56.0
+ provider registry.terraform.io/hashicorp/external v2.2.3
+ provider registry.terraform.io/hashicorp/local v2.3.0
+ provider registry.terraform.io/hashicorp/null v3.2.1
Reproduction Code
Modify the build-package example's package_dir_poetry
module below
by adding
docker_additional_options = ["-e", "PIP_PLATFORM=manylinux2014_aarch64"]
Steps to reproduce the behavior:
- run the build-package example by following the readme
https://github.com/terraform-aws-modules/terraform-aws-lambda/tree/master/examples/build-package - check the docker run command output.
Expected behavior
docker_additional_options should be passed to the docker run command.
Actual behavior
docker_additional_options is not passed to the docker run command.
Terminal Output Screenshot(s)
Additional context
The culprit is likely this line
terraform-aws-lambda/package.py
Line 1168 in 1171025
docker
object is not passed to docker_run_command
.This issue has been automatically marked as stale because it has been open 30 days
with no activity. Remove stale label or comment or this issue will be closed in 10 days
Hi @FurqanHabibi,
you mention it is not working with poetry, does that mean it works with pip?
Ok, understood what you meant when pointing to
terraform-aws-lambda/package.py
Line 1168 in 1171025
Working on a fix...
This issue has been resolved in version 4.13.0 🎉
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.