Skip to content

Latest commit

 

History

History
194 lines (184 loc) · 22.7 KB

File metadata and controls

194 lines (184 loc) · 22.7 KB

AWS ECS (and AWS Fargate) Features

Container Definition

Property Name Supported Override Note/Extras Compose/X Property
Command Y Y   service.command
         
Cpu Y Y Auto-defined if not set for Fargate service.deploy.resources
DependsOn Y Y When joined to same family, can depend on each other service.deploy.labels.ecs.task.family service.deploy.labels.ecs.depends.condition
DisableNetworking N N N/A  
DnsSearchDomains N N Not supported with AWS Fargate  
DnsServers N N Not supported with AWS Fargate  
DockerLabels N Y Will be added in future version  
DockerSecurityOptions N N Not supported with AWS Fargate  
EntryPoint Y Y   service.entrypoint
Environment Y Y   service.environment
EnvironmentFiles Y Y files automatically copied from local to AWS S3 service.env_file
Essential Y Y Automatically determined based on other deploy labels  
ExtraHosts N N Not supported with AWS Fargate  
FirelensConfiguration N N    
HealthCheck Y Y Full docker-compose support with commands. Separate healcheck with ELBv2 service.healthcheck
Hostname Y Y Disabled with AWS Fargate  
Image Y Y   service.image
Interactive N N    
Links N N Not supported with awsvpc network  
LinuxParameters N N    
LogConfiguration Y Y Full AWS CloudWatch support service.logging service.x-logging
Memory Y Y Auto-defined if not set for Fargate service.deploy.resources
MemoryReservation       service.deploy.resources
MountPoints Y Y   service.volumes
Name Y Y Generated by CFN service.name
PortMappings Y Y Full support. Overrides to awsvpc for network service.ports
Privileged N N Not supported with AWS Fargate  
PseudoTerminal N N    
ReadonlyRootFilesystem N N    
RepositoryCredentials Y Y   service.x-aws-pull_policy
ResourceRequirements N N    
Secrets Y Y Strongly automated for RDS and others secrets.x-secrets
StartTimeout N N    
StopTimeout Y N   service.stop_grace_timeout
SystemControls N N    
Ulimits Y Y Automatically disable non AWS Fargate supported service.ulimits
User Y Y Expects IDs as docker-compose does service.user
VolumesFrom N N To be implemented  
WorkingDirectory N N    

Task Definition

Property Name Supported Override Note/Extras Compose/X Property
ContainerDefinitions Y Y Strictly generated by Compose-X services
Cpu Y Y Automatic value for Fargate based on service.resources deploy.resources :ref:`composex_deploy_extension`
ExecutionRoleArn Y Y Strictly generated by Compose-X :ref:`x_iam_syntax_reference`
Family Y Y Uses service name or uses label deploy.labels.ecs.task.family :ref:`composex_families_labels_syntax_reference`
InferenceAccelerators N N    
IpcMode N N    
Memory Y Y
Auto computed for AWS Fargate
based on deploy.resources
deploy.resources
NetworkMode Y N Always awsvpc  
PidMode N N Not supported in Fargate  
PlacementConstraints N N Not applicable to Fargate  
RequiresCompatibilities Y N EC2 and Fargate always defined  
Tags Y Y Generated by Compose-X See x-tags

Service Definition

Property Name Supported Override Note/Extras Compose/X Property
CapacityProviderStrategy N      
Cluster Y Y x-cluster to create or use :ref:`ecs_cluster_syntax_reference`
DeploymentConfiguration N      
DeploymentController Y N To date, only ECS  
DesiredCount Y N/A   service.deploy.replicas :ref:`composex_deploy_extension` :ref:`ecs_composex_scaling_syntax_reference`
EnableECSManagedTags Y N    
LoadBalancers Y N/A   :ref:`elbv2_syntax_reference`
NetworkConfiguration Y Y   service.networks :ref:`x_configs_network_syntax`
PlacementConstraints N N/A    
PlacementStrategies N N/A    
PlatformVersion Y Y Default to 1.4.0 for full features support  
PropagateTags Y N    
Role Y N Can extend default with x-aws- or x-iam :ref:`x_iam_syntax_reference`
SchedulingStrategy N N/A    
ServiceArn N N/A    
ServiceName Y N Stricly generated by AWS CFN  
Tags Y Y    
TaskDefinition Y N Strictly generated by Compose-X and AWS CFN  

Cluster definition

All properties for AWS::ECS::Cluster are supported. Pass them through :ref:`ecs_cluster_syntax_reference`