Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    srikaransc
    @srikaransc
    Thanks @efekarakus we are running the copilot commands on bitbucket can you please help me to stop interactive terminal for copilot an bitbucket?
    3 replies
    rs-ds
    @rs-ds
    Hi Team, I have two services (1 load balanced web service and 1 backend service). Both images are exactly same but each has its own command to run. How can I use the same Dockerfile with different commands for both the service. Or is there any alternative to do this?
    Also, one of the probelm that I have is although both these images are identical, I end up building it twice because I need to run 2 deploy command to run each service. Is there any way I can avoid building this multiple times?
    6 replies
    oedemis
    @oedemis
    Hello I have the following sitation i have created a service api with rds and redis as addons and outputet the rds_endpoints and redis_endpoint accoringly to the api. But i have another service api-bff and want also use the rds_endpoints / rds_secrets / redis_endpoint from other created service . How can I implement this using service discovery ?
    9 replies
    Marcelo Sousa
    @marcelosousa
    Hi team, I'm currently migrating a microservice build & deployment from gcp to aws. I've been using skaffold to build and push to the registry and I was wondering if there is any tutorial on how to switch from skaffold to copilot? Thank you!
    bennyderickm
    @bennyderickm
    Hi Team, I am using copilot with my external VPC which has 2 public subnets and 2 private subnets. I tried to deploy backend services and it is getting deployed to the public subnet. How can i force this to deploy to private subnets?
    David Killmon
    @kohidave
    @bennyderickm hey hey ! While the service is provisioned in the public subnet - that’s only so it gets an IP address and can make external internet calls. It’s protected through its security group to block all external traffic
    @marcelosousa oh sweet! Best of luck on your move! I don’t know of any such tutorial. I’m sorry 🙏
    bennyderickm
    @bennyderickm
    @kohidave Thanks. I am assuming I don't need a NAT gateway in my VPC if the service can external calls since it resides in a public subnet.
    David Killmon
    @kohidave
    Exactly
    deoson
    @thedeo
    @bennyderickm if you are interested, i was able to force it to deploy into a private subnet for a VPC I created.
    Basically you can update the buildspec file to add a sed command to replace the term “-PublicSubnet” with “-PrivateSubnet”.
    The buildspec file is where it generates the cloudformation that decides what subnets and security groups are assigned at cluster creation.
    bennyderickm
    @bennyderickm
    @thedeo Thanks. I ran copilot svc init but it didn't generate buildspec but it did generate manifest.yml within the serivce folder
    deoson
    @thedeo
    To get the buildspec you have to also have done pipeline init https://aws.github.io/copilot-cli/docs/concepts/pipelines/
    @bennyderickm the buildspec gets used by the pipeline when deploying new containers to the cluster. Its mostly some bash commands that generate cloudformation templates. There you can run commands like sed against the files in the ./infrastructure folder the copilot command creates.
    bennyderickm
    @bennyderickm
    Thanks @thedeo
    Is there a way to get the ARN of the service deployed? I am trying to use the API Gateway V2 with Cloud Map and I need to know the ARN of the service so I can map it in the gateway cloud formation template
    Khairul
    @kahirul

    Hi, I'm trying to ship log from my container to Datadog with logging sidecars
    Here is how my manifest.yml look like

    logging:
      image: amazon/aws-for-fluent-bit:latest
      destination:
        Name: datadog
        TLS: on
        apikey: <DD_API_KEY>
      enableMetadata: true
      configFile: /fluent-bit/configs/parse-json.conf

    Is it possible to set this apikey from SSM?

    Penghao He
    @iamhopaul123
    Hello @kahirul it is not possible yet. Could you cut an issue for it? So that we can track and prioritize it.
    1 reply
    shaktek
    @shaktek

    Hi everyone, I am trying to apply a custom firelens config to make the Fargate logs work better with our Kinesis + Function Beat setup.

    Our manifest.yml looks like:

    logging:
      image: 123456789.dkr.ecr.us-east-1.amazonaws.com/ns/firelens-custom:v0.2
      destination:
        Name: cloudwatch
        region: us-east-1
        log_group_name: /copilot/test-fargate-services
        log_stream_prefix: copilot/
      configFile: /extra.conf

    The Fargate service works well, however the custom configuration changes don't get applied to the generated logs.

    I reckon its because of the service task definition generated by copilot. The custom config is missing from the firelensConfiguration :

     "image": "123456789.dkr.ecr.us-east-1.amazonaws.com/ns/firelens-custom:v0.2",
    "startTimeout": null,
    "firelensConfiguration": {
      "type": "fluentbit",
      "options": {
        "enable-ecs-log-metadata": "true"
      }
    },

    Any ideas on why copilot is not adding the custom config to task definition?

    Penghao He
    @iamhopaul123
    Hello @shaktek, the field name on the doc is not correct. This PR should fix the doc aws/copilot-cli#1859. The field name should be configFilePath instead.
    Sorry for the inconvenience.
    shaktek
    @shaktek
    No worries @iamhopaul123 . configFilePath works. Thank you
    bennyderickm
    @bennyderickm
    Is there to add the output to the cf templates created by the copilot. I am looking to expose additional outputs that can be used by other services such as API Gateway and Lambda
    John Cantrell
    @johncantrell97

    i've been using copilot with a pipeline to deploy an app. today when I went to merge it triggered my codepipeline just fine, build worked, but it has been stuck on the deploy step. Upon further investigation the ECS update is what is stuck. If I watch the ECS service there are actually two tasks (one that is active) and then one that goes PROVISIONING -> PENDING -> ACTIVE then disappears. It just continues that loop over and over and over again. In the logs everything looks perfect, I can see server started successfully with no errors.

    Any idea why this infinite loop is happening? I can't find any more information anywhere in the console

    4 replies
    shaktek
    @shaktek

    Hi everyone, is there a way to force the copilot scheduled job to use the private subnets?

    Our use case requires the requests to originate from a specific IP address that's whitelisted by a 3rd party and our VPC setup provides that for ECS services running from private subnets.

    3 replies
    tactevo
    @tactevo
    What's best practice for tearing down infrastructure (svc/env) temporarily to save aws costs while not working on a project? Is it just a svc delete?
    1 reply
    Steve
    @DropKickHume_twitter
    Hi, I'm testing copilot and I saw earlier that it's possible to have multiple repos per service that refer to the same app via the workspace file. How can I restrict permissions so that the owner of service A does not have permissions to make changes to service B that is under a different owner?
    2 replies
    bennyderickm
    @bennyderickm
    Hi, I am wondering in what order the addons are deployed on CF? Do they get executed before or after the ECS task templates? Is there way to force addons to execute after the ECS task is deployed?
    2 replies
    rmarap
    @rmarap
    Hello - Pretty impressive stuff. I have one minor issue though - the addons don't seem to execute anymore after it ran for the first time. I deleted the app and recreated the app again under the same name, and add-ons don't seem to run anymore.
    33 replies
    Steve
    @DropKickHume_twitter
    Is app mesh supported? I see in issue #644 there was mention of something like ecs-preview mesh init and was closed on Nov 16th, 2020. However I don't see in the docs how to setup a mesh for the app
    3 replies
    Marcelo Sousa
    @marcelosousa
    Is it possible to use copilot just to build and push a microservice architecture that is stored in a single github repo to ECR? I don't want to deploy the services to a cluster yet -- I just want to automate the docker build and docker push to ECR .
    7 replies
    rmarap
    @rmarap
    Hello, I'm having trouble updating the app while running in ECS. The deploy goes through fine but the app never seem to get updated with the latest docker image, when I run deploy. Am I missing any steps?
    3 replies
    rmarap
    @rmarap
    Is there an easy way to stop the cluster using co-pilot so that it doesn't incur cost running overnight?
    1 reply
    Steve
    @DropKickHume_twitter

    In the documentation for secrets at the very bottom it says the following: "Some of our next work is to add a secrets command that lets you add a secret without having to worry about which environment you're in, or how SSM works."

    However, I don't see this in the roadmap. Is this being worked on?

    1 reply
    shaktek
    @shaktek

    Can Firelens sidecar be configured to send logs to a Kinesis stream from manfiest.yml ? I am using this configuration:

    logging:
      destination:
        Name: kinesis
        region: us-east-1
        stream: kinesis-stream
        partition_key: container_id
        log_key: log

    Which gives me ✘ select job: retrieve jobs from workspace: yaml: line 62: did not find expected key on deploy. I can deploy with a CloudWatch logs configuration:

    logging:
      destination:
        Name: cloudwatch
        region: us-east-1
        log_group_name: /copilot/fargate-services
        log_stream_prefix: copilot/
        log_key: log
    5 replies
    Marcelo Sousa
    @marcelosousa
    Hi all, is there a way to specify a custom domain somewhere in the configuration?
    3 replies
    Anish Dcruz
    @anishdcruz_gitlab
    Hello everyone,
    We have moved one of our app to prod env and we always forget 😄 to approve the DeployTo-prod stage. Is there a way we can trigger SNS to notifiy pending stages with copilot addon?
    3 replies
    mmontel
    @z00dev
    from what i read i will have to declare all environment variables i need, inside the manifest, or is it possible to just list them as you would in cfn eg environment: - var
    1 reply
    rmarap
    @rmarap
    Hello, currently we use the add-ons to create SSM parameters. Values for the parameters change by the environment. What is the recommended way to set variables depending upon the environment? Currently, there is only one add-ons folder by services. Is there a way to create add-ons for an 'env/svc' combination?
    2 replies
    Jeroen Rosenberg
    @jeroenr

    Hi, I'm trying to deploy a dockerized app using AWS copilot. I have two environments: uaa1 and uaa2. My Dockerfile expects a build-arg with a different input for each environment. Hence, in my manifest.yml I'm defining overrides for image.build.args for both environments. Unfortunately, they don't seem to get picked up when I deploy (e.g. copilot svc deploy -e uaa1). My manifest looks like this:

    name: mxuaa
    type: Load Balanced Web Service
    
    image:
      build: 
        dockerfile: ./Dockerfile
        args:
          config_file: uaa.yml
      port: 8080
    
    http:
      path: 'uaa'
      healthcheck:
        path: '/uaa/login'
        interval: 300s
        timeout: 120s
    
    # Number of CPU units for the task.
    cpu: 256
    # Amount of memory in MiB used by the task.
    memory: 512
    # Number of tasks that should be running in your service.
    count: 1
    
    # You can override any of the values defined above by environment.
    environments:
      uaa1:
        image:
          build:
            args:
              config_file: instance1.yml
      uaa2:
        image:
          build:
            args:
              config_file: instance2.yml

    What am I missing here?

    8 replies
    mmontel
    @z00dev
    Is the scaling based on SQS queue depth something that is going to implemented, or if someone has an alternative workaround please let me know
    9 replies
    Khairul
    @kahirul
    Hi all, is there any option to specify docker labels from the manifest file?
    2 replies
    rmarap
    @rmarap
    hello all, Is it possible to have 2 applications with different names in the same code base, like below.
    image.png
    I get the following error when I try to deploy the second stack

    ✘ Proposing infrastructure changes for stack vault-dev-local-jasper-svc

    ✘ deploy service: wait for creation of change set copilot-0127b375-b3ff-4790-8c4b-541bb12580dd for stack vault-dev-local-jasper-svc: ResourceNotReady: failed waiting for successful resource state

    29 replies
    rmarap
    @rmarap
    image.png