⚡️ Features and Enhancements
-
Extend Copilot-generated CloudFormation templates with the Cloud Development Kit (CDK) or YAML Patch overrides (#4208, #4209)
With the new
copilot [noun] override
command, you can now fully customize your environment, service, or job AWS CloudFormation templates generated from Copilot manifests.
You can override templates using the CDK when you need the expressive power and safety of a programming language, alternatively you can apply YAML patches when you need only a handful modifications.To learn more about how to use overrides, checkout the CDK guide or the YAML patch guide.
For the announcement, check out the blog post. -
Add support for multiple listener rules for
http
and listeners fornlb
for Load Balanced Web and Backend Services (#4170)You can now define multiple host-based or path listener rules for Application Load Balancers with the new
http.additional_rules
property. Similarly, you can define multiple listeners on different ports and protocols for Network Load Balancers with thenlb.additional_listeners
field.Sample manifest file
name: 'frontend' type: 'Load Balanced Web Service' image: build: 'path/to/Dockerfile' port: 8080 sidecars: docs: port: 7000 build: 'path/to/Dockerfile' http: alias: 'example.com' path: '/' additional_rules: - alias: 'admin.example.com' path: '/' target_port: 9000 - path: '/docs' target_container: docs
To learn more on how to add additional listeners and listener rules, see the manifest specification.
For the announcement, check out the blog post. -
Preview CloudFormation template changes with the new
--diff
flag (#4259)You can now run
copilot [noun] package --diff
orcopilot [noun] deploy --diff
to view the difference between your local changes and the latest deployed template.For the announcement, check out the blog post.
-
Enable building container images for sidecars (#4254)
Previously, Copilot only supported taking a container image URL for sidecar containers. Now, you can use
image.build
for your sidecars just like your main container to build and push images from local Dockerfiles.To learn more see the guide for sidecar containers.
For the announcement, check out the blog post. -
Enable uploading local environment files for sidecar containers (#4447)
Previously, you could only specify an environment file (
env_file
) for your main container. You can now specify an environment file to upload for any sidecar container.
To learn more see the guide for sidecar containers.
For the announcement, check out the blog post.