Skip to content

Releases: aws/copilot-cli

copilot-cli: Release v1.8.0

16 Jun 17:31
a486bac
Compare
Choose a tag to compare

⚡️ Features and enhancements

  • Support friendly domain names for Load Balanced Web Services with the new http.alias field (#2379)

    If you initialized an application with a domain: copilot app init --domain, now you can specify a friendly URL instead of the default endpoint generated by Copilot using the manifest:

     http:
       alias: 'api.example.com'

    To learn more check out the docs! Older applications will need to run copilot app upgrade first.

  • Add a tasks summary and stopped task section to copilot svc status to help troubleshoot services (#2381)

    The new task summary section displays stats on deployments, target group health, and capacity providers.

    View sample screenshot

    svc-status

  • Support container dependencies (#2421)

    You can now add a dependency condition for your containers:

     depends_on:
        nginx: HEALTHY
  • Allow importing a VPC with no public subnets when running copilot env init (#2356)

    If you'd like to launch ECS services in environments with no internet access, now you can import a VPC with no public subnets and launch your services with placement: 'private'. For a sample VPC template with VPC endpoints that can be imported see #2378.

🐛 Bug Fixes

  • Allow environment overrides for the image.build field in manifests (#2415)
  • Reduce number of log lines written during deployments when the environment variable CI=true (#2440)
  • The test_commands field in pipeline manifests now works with environments with dashes in their name (#2439)
  • Skip docker login when ECR credentials helper is enabled (#2365)
  • Parse the cloned Bitbucket URL correctly when filling the pipeline manifest (#2400)

❤️ Contributions

Thank you for the contributions!

copilot-cli: Release v1.7.1

21 May 16:34
c2d143d
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Update Mappings in Aurora addons template to work with new environments (#2357)
  • Fix typo in DynamoDB addons template to access secondary indices (#2349)
  • The http.allowed_source_ips field now works for HTTPS listeners (#2343)

❤️ Contributions

Thank you for the contributions!

copilot-cli: Release v1.7.0

19 May 00:34
3595860
Compare
Choose a tag to compare

⚡️ Features and enhancements

  • Add a new service pattern: "Request-Driven Web Service" to launch services using AWS App Runner (#2340)

    Copilot now supports launching services with AWS App Runner as an alternative to "Load Balanced Web Services".
    AWS App Runner scales up your services based on incoming traffic and scales down to a baseline instance when there's no traffic.
    To learn more: https://aws.amazon.com/blogs/containers/introducing-aws-app-runner/

  • Add copilot secret init command to simplify adding secrets to your application (#2335)
  • Add new flag copilot task run --generate-cmd to populate the command from an existing service or job (#2201)

    With the --generate-cmd flag you can spin a one-off task from an existing service and override its entrypoint or command easily.

  • Support CodeBuild test reports for pipelines (#2306)

🐛 Bug Fixes

  • Provide better error messaging when an addon stack fails to create or update (#2270)
  • Upload pipeline CloudFormation template to S3 before deploying the stack to prevent template size limit (#2243)
  • Allow app show and env delete to run outside of your workspace (#2269)

❤️ Contributions

Thank you for the contributions!

copilot-cli: Release v1.6.0

29 Apr 20:18
48cf6ad
Compare
Choose a tag to compare

⚡️ Features and enhancements

  • Support extensible ephemeral task storage (#2219)

    Previously, Fargate tasks were limited to 20GiB of storage space. Now, you can provision up to 200GiB of ephemeral task storage for workloads with large datasets or heavy ephemeral storage requirements.

    storage:
      ephemeral: 100 // Size in GiB

    This storage is shareable between containers and sidecars in the same task definition.

  • Add managed EFS volume support (#2137)

    You can now specify efs: true in volume configuration and Copilot will provision an EFS volume which all services can share.

    storage:
      volumes:
        managedEFSVolume:
          path: /var/efs
          read_only: false
          efs: true

    You can also specify a custom UID and GID for the created access point:

    efs:
      uid: 10000
      gid: 100000
  • Enable Fargate Spot in autoscaling config (#2188)

    You can now specify autoscaling and count configurations which include Fargate Spot capacity! For example, you can specify that you want all your capacity to be placed on spot:

    count:
      spot: 2

    Or, when you specify an autoscaling range, you can specify the spot_from field, which tells Copilot the threshold at which you want your service to start scaling into Spot capacity:

    count:
      range:
        min: 2
        max: 10
        spot_from: 4

    In this example, your service will place 3 tasks on dedicated Fargate capacity. Copilot will attempt to place all tasks above this threshold on Spot capacity.

  • Add --secrets and --cluster flags to copilot task run (#2163, #2164)
  • Allow use of specific Codebuild images in pipelines (#2125)
    //pipeline.yml
    build:
      image: aws/codebuild/standard:3.0
  • Display AWS resources as architecture hints next to patterns (#2179)
  • Add labels field to allow runtime labels on containers and sidecars (#2186)
    image:
      build: ./Dockerfile
      labels:
        com.amazonaws.ecs.copilot.description: Hello world!
    sidecars:
      myCoolSidecar:
        image: public.ecr.aws/my-image:abcde
        labels:
          com.amazonaws.ecs.copilot.sidecar.description: cool sidecar
  • Use image digest instead of commit id when deploying (#2196)

    Now you don't have to create a new commit to ensure that your service is deployed whenever you make a code change. This also streamlines workflows in directories which are not Git repositories, as we no longer require you to enter a tag on deployment.

🐛 Bug Fixes

  • Clean up several minor bugs in copilot pipeline status (#2170)
  • Select from SSM when deleting services to allow selection of services not in local workspace (#2182)
  • Create dedicated KMS keys for Aurora addons to resolve an issue with cross-account decrypt permissions (#2207)
  • Bump version of Lambda runtimes to Node.js 12 from Node.js 10 (#2237)

❤️ Contributions

copilot-cli: Release v1.5.0

14 Apr 12:07
28039f9
Compare
Choose a tag to compare

⚡️ Features and enhancements

  • Redirect HTTP requests to HTTPS automatically for Load Balanced Web Services with a domain name (#2153)
  • Add Aurora Serverless database support to copilot storage init (#2129)

    You can now easily generate an addon for a PostgreSQL or MySQL database associated with your service using a single command.

  • Support NAT Gateways for workloads with placement: private (#2111)

    If you launch tasks in 'private' subnets and use a Copilot-generated VPC, Copilot will add NAT Gateways to your environment.

    network:
     vpc:
       placement: 'private'
  • Enable specifying volumes with only a path field so that sidecar containers and the service container can share storage
    storage:
       volumes:
         scratch:
            path: /var/scratch
    sidecars:
      downloader:
        mount_points:
          - path: /var/scratch
            source_volume: scratch
    
  • Allow sidecar containers to be marked as non-essential (#2099)
    sidecars:
      nonessentialSidecar:
        essential: false
  • Enables running the Docker daemon by default in the test_commands CodeBuild project of a pipeline (#2097)

    To enable this feature with an existing pipeline, please run copilot pipeline update.

  • Allow using an existing AWS CodeStar connection in your pipeline.yml manifests (#2073)
    properties:
        branch: main
        repository: https://github.com/user/sample-repository
        connection_name: a-connection # Optional: specify the name of an existing CodeStar Connections connection.
  • Add a boolean --yes flag to copilot svc exec and copilot task exec to skip installing the SSM plugin (#2060)

🐛 Bug Fixes

  • Fix validation of dynamodb table attributes when running copilot storage init (#2135)
  • Clean up any retained IAM roles when an environment creation fails (#2107)

❤️ Contributions

Thank you for the contributions!

copilot-cli: Release v1.4.0

15 Mar 20:42
0a7c643
Compare
Choose a tag to compare

⚡️ Features and enhancements

  • Add copilot svc exec and copilot task exec commands to connect to an interactive shell on your containers (#2053)

    You can now run a single command to easily open an interactive shell from your local machine to a running task on AWS Fargate!
    For a step-by-step guide check out the blog post: "Connecting to an interactive shell on your containers running in AWS Fargate using AWS Copilot".

    View animation

    demo

  • Copilot now uses AWS CodeStar Connections to trigger your pipeline from a GitHub repository instead of OAuth tokens (#2019)

    This feature does not affect existing pipelines. Only new pipelines created with copilot pipeline init will create an AWS CodeStar Connection.

  • Add --entrypoint flag to copilot task run to override the default entrypoint (#2017)

  • Add command and entrypoint fields to the manifests to override defaults in your service or job image (#1999)

    command: 'bundle exec thin -p 3000'
    entrypoint: '/app/start.sh'

🐛 Bug Fixes

  • Defining overrides in the environments field for scheduled jobs no longer resets defaults (#2044)
  • The copilot task run command can now run tasks if you imported a VPC when initializing an environment (#2024)
  • Do not allow consecutive or trailing hyphens for service names (#2016)
  • Auto-generate CodeBuild project names to run the test_commands part of your pipeline (#2003)

❤️ Contributions

Thank you for the contributions!

copilot-cli: Release v1.3.0

02 Mar 18:16
cc48fae
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Add additional CloudFormation capabilities for deployment stages in your pipeline (#1962)

    We recommend running pipeline update if you have any addons that require Transforms.

  • Limit pipeline names when running pipeline init to 100 characters (#1957)
  • Truncate Docker image tag in the "Build" stage of the pipeline to 128 characters (#1957)

⚡️ Features and enhancements

  • Enable mounting existing EFS volumes (#1971)

    AWS Copilot now supports a new storage field in manifests to share an existing EFS filesystem between services. To learn more check out the developing/storage guide.

    storage:
      volumes:
        fs: 
           path: '/etc/mount1'
           efs:
              id: fs-1234567 
  • Support Bitbucket repositories for pipeline triggers (#1944)

    You can now run pipeline init and choose your Bitbucket repository to trigger your pipeline. 🎉

  • Enable deploying to private subnets and specifying additional security groups (#1979)

    You can now specify a network field to place your tasks in private subnets and add additional security groups.

    network:
      vpc:
        placement: 'public|private'
        security_groups: [sg-1234, ...]

copilot-cli: Release v1.2.0

04 Feb 18:39
d5cba31
Compare
Choose a tag to compare

🐛 Bug Fixes

  • task run no longer associates the ALB security group when tasks are launched in an environment cluster (#1884)
  • The temporary credentials option in env init now uses the values provided (#1862)
  • The Addons stack now depends on the EnvController resource (#1861)
  • The value "on" now evaluates to the string "on" instead of boolean true in the logging configuration (#1857)

⚡️ Features and enhancements

  • Copilot now displays a progress tracker while deploying your services (#1742)
    View animation

    create-svc

  • Add a task delete command to delete the infrastructure for one-off tasks (#1849)

❤️ Contributions

Thank you all for the contributions!

copilot-cli: Release v1.1.0

19 Jan 16:07
79c1654
Compare
Choose a tag to compare

🐛 Bug Fixes

  • The generated buildspec.yml for pipelines now only upgrade environments that are part of your pipeline (#1826)

    Previously, if your pipeline did not contain all the environments available in your application, the build stage in the pipeline would fail.
    If you've run into #1805, we recommend re-running copilot pipeline init to generate the new version of the buildspec.

  • Create the ECS service linked role before creating an ECS cluster if Copilot is used on a brand new AWS account (#1749)
  • Addon templates with a DependsOn field are now correctly parsed and you can now output parameter values (#1804)
  • Lowercase default task group name created with task run to avoid CloudFormation error (#1784)
  • Ignore unreadable directories while listing Dockerfiles instead of throwing an error (#1764)
  • Ignore case considerations while listing Dockerfiles (#1766)
  • Skip prompting for a Dockerfile input if Docker Engine is not running (#1814)
  • Throw an error on job init if there are no applications in the current workspace (#1779)

⚡️ Features and enhancements

  • Support AWS CodeCommit for pipeline triggers (#1808)

    You can now run copilot pipeline init and choose your AWS CodeCommit repository to trigger your pipeline. 🎉

  • Enable deployment circuit breaker for all services by default (#1838)

    Amazon ECS will now automatically rollback your deployment on unhealthy deployments without the need of a manual intervention.

  • Support environment variables and secrets for sidecar containers (#1725)
  • Display injected secret names when running copilot svc show (#1704)

copilot-cli: Release v1.0.0

23 Nov 18:14
238fd70
Compare
Choose a tag to compare

We're excited to announce the general availability of the AWS Copilot CLI with the v1.0.0 release 🥳🎉🎊🍾!
You can now reliably build production-ready containerized applications with Copilot. With the stable releases, you can expect no breaking changes to be introduced unless it's for a bug fix.

We want to thank all customers that tested and helped shape the CLI while it was in preview 🙇‍♂️ .

🐛 Bug Fixes

  • Fix issue where the custom healthcheck path value was ignored and set to default "/" (#1686)
  • Use the dot region URL format while pushing addons templates to S3 in the pipeline buildspec (#1695)
  • The storage init command now allows you to attach a storage resource to a cron job (#1701)

    ⚠️ Breaking change: the --svc flag was renamed to --workload to accommodate jobs.

❤️ Contributions

Thank you all for the contributions!