aws / aws/containers-roadmap

[ECS] [request]: Request for "LATEST" Platform Version returned for ECS services using a CODE_DEPLOY deployment controller.

Open
#2,840 0 comments 0 reactions 0 assignees View on GitHub
ECS Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**

When an ECS service is created with `platformVersion: "LATEST"`, please return the literal string `LATEST` in `DescribeServices` / the console / the CLI **regardless of deployment controller** — including services using the blue/green (`CODE_DEPLOY`) controller.

Currently the representation differs by deployment controller for an otherwise identical configuration:

| Deployment controller | Created with | `DescribeServices` → `platformVersion` |
|---|---|---|
| `ECS` (default) | `--platform-version LATEST` | `LATEST` |
| `CODE_DEPLOY` | `--platform-version LATEST` | `1.4.0` |

**Which service(s) is this request for?**
ECS

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**

**Ease of use / consistency** — customers expect the same platform-version representation regardless of deployment controller. The same service definition (`platformVersion: "LATEST"`) reads back as `LATEST` on the default `ECS` controller and as `1.4.0` on `CODE_DEPLOY`, so identical intent produces two different-looking services in the console, the CLI, and in IaC state. Reconciling that difference is pure overhead: it makes Terraform/CloudFormation drift noisy (declared `LATEST` vs read-back `1.4.0`) and forces per-controller special-casing in any tooling or standard that reads the field.

* **Best practice** — many customers treat displaying `LATEST` as a good practice to signal they are tracking the newest platform version, even though the resolved value (`1.4.0`) already **is** the current latest for Linux ([Fargate platform versions for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform-fargate.html)). On a `CODE_DEPLOY` service that signal is simply unavailable.

And it is unavailable in a way the customer cannot fix:

1. `UpdateService --platform-version LATEST` is rejected:.

**Additional context**

* Reproduction :

Explicit platform version:

aws ecs create-service \
--cluster testing \
--service-name testing-svc \
--task-definition nginx-fargate \
--desired-count 1 \
--launch-type FARGATE \
--platform-version LATEST
--deployment-controller "type=CODE_DEPLOY" \
--load-balancers "targetGroupArn=” \
--network-configuration "awsvpcConfiguration={subnets=[subnet-0576c00584cef59af,subnet-02e68446addc2c63d],securityGroups=[sg-096fddb6e541e1962],assignPublicIp=ENABLED}" --region ap-southeast-1

Without platform version:

aws ecs create-service \
--cluster testing \
--service-name testing-svc2 \
--task-definition nginx-fargate \
--desired-count 1 \
--launch-type FARGATE \
--deployment-controller "type=CODE_DEPLOY" \
--load-balancers "targetGroupArn=” \
--network-configuration "awsvpcConfiguration={subnets=[subnet-0576c00584cef59af,subnet-02e68446addc2c63d],securityGroups=[sg-096fddb6e541e1962],assignPublicIp=ENABLED}" --region ap-southeast-1

- Both return the same 1.4.0 instead of LATEST

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the behavior with the AWS CLI create-service examples in the issue, using both ECS and CODE_DEPLOY deployment controllers. Compare the returned platformVersion from DescribeServices; done means a CODE_DEPLOY service created with platformVersion LATEST preserves and returns the literal LATEST consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
api, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.