Tell us about your request
What do you want us to build?
Support Cross Service Cross Task Definition Dependency
Which service(s) is this request for?
Fargate, ECS
Based on aws documentation https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html,
"Your entire application stack does not need to exist on a single task definition, and in most cases it should not. Your application can span multiple task definitions by combining related containers into their own task definitions, each representing a single component"
This means that it is best practice to separate each component/service into its own task definition. However, cross task definition is not yet supported. Only container dependencies within a single task definition is supported. This needs extending to support cross service.
Can you explain more about your use case? Do you want to have services that start up and shut down in a certain order? Or something else? The more detail you can provide, the better we can evaluate and prioritize.
Thanks for your feedback!
+1 for this.
As you said @coultn we would like to prioritize startup order of different services which can run into issues if a certain service starts before the other (currently random). This has come up basically as a result of starting and stopping the ECS cluster overnight for cost saving reasons.
Need this to run Apollo GraphQL Federated Schema.
In short, there is a Gateway that polls child schemas (Fargate services) on startup to compile a single schema. The Gateway must spawn after all child services are up. Otherwise it won't contain parts of schema that were spawned after it.
We have daemon services of datadog-agent on ECS EC2 clusters. As the agent task collects metrics and logs from other tasks on an EC2 instance, it should start before (and stop after) any other tasks when an EC2 instance is initializing (and draining). It would be achieved if we can define the dependency between services.
Most helpful comment
+1 for this.
As you said @coultn we would like to prioritize startup order of different services which can run into issues if a certain service starts before the other (currently random). This has come up basically as a result of starting and stopping the ECS cluster overnight for cost saving reasons.