➜ ✗ copilot svc exec Service: webapp Execute `/bin/sh` in container webapp in task a5e21e33b619445d8fcf17601e14d1bd. ✘ Failed to execute command /bin/sh. Is `exec: true` set in your manifest? ✘ execute command /bin/sh in container webapp: execute command: TargetNotConnectedException: The execute command failed due to an internal error. Try again later.
example.comdomain and its DNS entries are not managed by Route53, can I still host things at
something.example.comusing copilot? Moving the
example.comdomain to Route53 isn't practical, though I can delegate subdomains to Route53 no problem.
Hi copilots! 👩✈️👨✈️
v1.16 is out and it's a big release: https://github.com/aws/copilot-cli/releases/tag/v1.16.0 ! 🥳 🥳
env show(#3379) and more!
We're also going to post short blogs for each releases to illustrate how to use the feature, here is the first one: https://aws.github.io/copilot-cli/blogs/release-v116/ 👀
brew install aws/tap/copilot-cli
fn::sub) within the
manifest.ymlof a service to compose environment variables/secrets? Context: I have a key:value secret in secretsmanager holding database credentials, but my app logic + libraries prefers to have this declared as a full
DATABASE_URL. If i could compose it in the manifest, it would be simple to have for my apps tasks. Alternatively I could maybe dual-store the database credentials in different formats, but trying to avoid that.
if I run
copilot env show the output shows something like:
Environment: the_env_name About Name the_env_name Production false Region eu-central-1 Account ID 1234567890
How do I set the
Production tag or label to production afterwards (the env is already running an application)? And what is this label used for anyway?
Running into an issue that’s only present on a VM I’m running copilot on. Deployment works fine on my local machine.
Getting this error every deployment:
Latest failure event - (service test) (port 80) is unhealthy in (target-group [target-group-arn]) due to (reason Health checks failed with these codes: ).
I know this is not IAM user related because I can run this AWS CLI command fine in the VM -
aws elbv2 describe-target-health --target-group-arn [target-group-arn] – this returns that port 80 is healthy.
Not sure what information could help here as I’ve been dealing with this for the past week, no clue what is causing the 403.
I'm attempting to use this addon:
But am being met with the following error on
The following resource(s) failed to create: [AddonsStack]. - An Addons CloudFormation Stack for your additional AWS resources The following resource(s) failed to create: [UserPoolDomain, MyUserPoo lPolicy]. Rollback requested by user.
Is there any way to get more details around the failure?
copilotdoing almost everything I want it to do. The final bit is to integrate Cognito + OIDC. I already have most of the Cognito work being done through an addon. My question is how would I then integrate the created Cognito bits into the Load Balancer that
If all the tests succeed, your change is promoted to the next stage.. Does this also mean that if tests fail, your current stage will be rolled back? seems like that would make sense considering you've just determined it's unhealthy, but hadn't officially found an answer yet.
copilot initto avoid the prompt/question about deployment without doing a deployment? I know I can add
--deploy, but would prefer to not do a deployment and not be prompted as I have additional bits to add before doing the first deployment (addons, etc).
healthcheck: command: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"] interval: 10s retries: 2 timeout: 5s start_period: 0s
/_healthcheckendpoint set up in my application.
copilot storage inityou can specify which service to add the DB to via the --workload flag, but how do I make the DB accessible to all services in my app?
copilot storage init. I'm wondering if this is a better way to do it if I need it accessible from more than one service?
We are using copilot to deploy our stack containing about 30 microservices and 5 CRONs. After using it for over an year, we are hitting a few issues which I summarized below. We are considering EKS to deploy our services instead. A hybrid approach, where ECS tasks are disabled, services are deployed to EKS while reusing copilot's add-ons infrastructure is being researched by us.
points that make us move towards EKS :
What are your thoughts on supporting EKS?
Do you consider this to be a valid design that may be supported in future?
Hello :wave: ,
I am trying to setup a CI/CD pipeline for a Rails web app using AWS copilot. I'd appreciate your help in figuring out the best way to run database migrations.
I've read through aws/copilot-cli#2992 which suggests to use
test_command as a workaround. However, it looks like
test_command would run only after the service has been deployed. I'd prefer to run the migrations first and deploy the service only if the migration succeed.
As an alternate approach, I was looking into using Github Action instead of Code Pipeline. I was thinking of running the migration as one-off task using the
task run and then running
svc deploy only if the migration task succeed. However, I couldn't figure out a way to know if the migration task succeeded or resulted in an error. I could see the logs with the
--follow flag, but not sure how I could use those logs to automatically stop the Github Action workflow if there are any errors.
Hello guys, anyone can help me?
I'm trying deploy a copilot demo from amazon docs with this URL https://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/getting-started-aws-copilot-cli.html
is a simple docketfile
FROM nginx COPY index.html /usr/share/nginx/html
copilot initand I said yes to deploy but that failed
✔ Created ECR repositories for service api. All right, you're all set for local development. Deploy: Yes ✘ Failed to create the infrastructure for the test environment. - Virtual private cloud on 2 availability zones to hold your services [Complete] - Virtual private cloud on 2 availability zones to hold your services [Complete] - Internet gateway to connect the network to the internet [Failed] Resource creation cancelled ] - Public subnets for internet facing services [Complete] - Private subnets for services that can't be reached from the internet [Complete] - Routing tables for services to talk with each other [Complete] - ECS Cluster to hold your services [Complete] - Application load balancer to distribute traffic [Failed] Resource creation cancelled ✘ wait until stack demo-test create is complete: ResourceNotReady: failed waiting for successful resource state
cloudformation packageprior to running anything in Copilot, but that is not as awesome as everything else in Copilot
➜ mapping-color-in-history git:(feature/manifest-creator) ✗ copilot svc deploy --env dev --name webapp ✘ Failed to upgrade environment dev's template to version v1.9.0. ✘ execute "env upgrade --app mcih --name dev": upgrade environment dev from version v1.7.0 to version v1.9.0: upload manual/templates/mcih-dev/4975ac48f4d5a06ab41982b884e5f71e90a8abcf6681c78e2b16e81f2e4077d2.yml to bucket stackset-mcih-infrastruc-pipelinebuiltartifactbuc-1lyct64kwvokq: AccessDenied: Access Denied status code: 403, request id: VCBW761675S9QF4C, host id: G21HOtXX7ILUEA3OgaPz3IT7my7iZlHx0/Kx9QNdjK3HGw/ACzNH6pf1/NZs0ccJ3aOUwpLx92s=
Hi folks! We just released a patch version v1.18.1: https://github.com/aws/copilot-cli/releases/tag/v1.18.1
If you ran into the following error with v1.18:
upgrade environment preview from version v1.8.0 to version v1.9.0 this patch release should hopefully fix it! Sorry for any inconvenience 🙇♂️
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve secrets from ssm: service call has been retried 1 time(s): AccessDeniedException: User: arn:aws:sts::1111:assumed-role...
Hi! I'm getting this error when deploying:
deploy service ... to environment stage: deploy service: stack ... is currently being updated and cannot be deployed to: Resource handler returned message: "Error occurred during operation 'ECS Deployment Circuit Breaker was triggered'." (RequestToken: ..., HandlerErrorCode: GeneralServiceException). Right now, the service is properly running and is not rolling back.
The latest failed deployment was 4 days ago, which is when it failed. That time the pipeline timed out while doing the rollback. Is it possible that we need to manually clean up something to be able to deploy the service again?