aws / copilot-cli

The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.
https://aws.github.io/copilot-cli/
Apache License 2.0
3.52k stars 417 forks source link

Bug: Request-Driven Web Service CFN Outputs not passed to Environment Variables #2658

Open scharissis opened 3 years ago

scharissis commented 3 years ago

Request-Driven Web Service Cloudformation Outputs do not seem to be passed as environment variables, as the docs suggest: https://aws.github.io/copilot-cli/docs/developing/environment-variables/ https://aws.github.io/copilot-cli/docs/developing/additional-aws-resources/#what-does-an-addon-template-look-like

I have tried creating the same API using all three types of service and only the request-driven didn't do this. The addon manifest seemed identical for all three.

Copilot: copilot version: v1.8.3 Addon: Aurora PostgresSQL 10.12 API Dockerfile uses image alpine:3.14

efekarakus commented 3 years ago

Hi @scharissis !

This is our bad, we should make it clear that Aurora addons do not work with Request-Driven web services (App Runner) as the App Runner service would need to be in a VPC 🙇

Alternatively, the other addons provided such as DynamoDB as a database should work if that's possible.

scharissis commented 3 years ago

Hi @efekarakus ,

Thank you for your response and confirmation; this had me stumped for quite some time!

If I may suggest, I think some sort of 'bad config checker' which would prevent users from doing these things would be a great addition to copilot. For example, another similar issue I faced, was that AppRunner wasn't available in my region. But copilot happily produced the CFN and ran the deployment. I did get a generic error message 15-20mins later, but it was still a suboptimal experience.

I'm happy for you to close this ticket; wasn't sure if you were going to act on it in any way (eg. add documentation?).

Thanks!