mirror of https://github.com/docker/compose.git
209 lines
5.6 KiB
Plaintext
209 lines
5.6 KiB
Plaintext
AWSTemplateFormatVersion: 2010-09-09
|
|
Resources:
|
|
CloudMap:
|
|
Properties:
|
|
Description: Service Map for Docker Compose project TestSimpleConvert
|
|
Name: TestSimpleConvert.local
|
|
Vpc: vpc-123
|
|
Type: AWS::ServiceDiscovery::PrivateDnsNamespace
|
|
Cluster:
|
|
Properties:
|
|
ClusterName: TestSimpleConvert
|
|
Tags:
|
|
- Key: com.docker.compose.project
|
|
Value: TestSimpleConvert
|
|
Type: AWS::ECS::Cluster
|
|
Default80Ingress:
|
|
Properties:
|
|
CidrIp: 0.0.0.0/0
|
|
Description: simple:80/tcp on default network
|
|
FromPort: 80
|
|
GroupId:
|
|
Ref: DefaultNetwork
|
|
IpProtocol: TCP
|
|
ToPort: 80
|
|
Type: AWS::EC2::SecurityGroupIngress
|
|
DefaultNetwork:
|
|
Properties:
|
|
GroupDescription: TestSimpleConvert Security Group for default network
|
|
Tags:
|
|
- Key: com.docker.compose.project
|
|
Value: TestSimpleConvert
|
|
- Key: com.docker.compose.network
|
|
Value: TestSimpleConvert_default
|
|
VpcId: vpc-123
|
|
Type: AWS::EC2::SecurityGroup
|
|
DefaultNetworkIngress:
|
|
Properties:
|
|
Description: Allow communication within network default
|
|
GroupId:
|
|
Ref: DefaultNetwork
|
|
IpProtocol: "-1"
|
|
SourceSecurityGroupId:
|
|
Ref: DefaultNetwork
|
|
Type: AWS::EC2::SecurityGroupIngress
|
|
LoadBalancer:
|
|
Properties:
|
|
Scheme: internet-facing
|
|
SecurityGroups:
|
|
- Ref: DefaultNetwork
|
|
Subnets:
|
|
- subnet1
|
|
- subnet2
|
|
Tags:
|
|
- Key: com.docker.compose.project
|
|
Value: TestSimpleConvert
|
|
Type: application
|
|
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
|
|
LogGroup:
|
|
Properties:
|
|
LogGroupName: /docker-compose/TestSimpleConvert
|
|
Type: AWS::Logs::LogGroup
|
|
SimpleService:
|
|
DependsOn:
|
|
- SimpleTCP80Listener
|
|
Properties:
|
|
Cluster:
|
|
Fn::GetAtt:
|
|
- Cluster
|
|
- Arn
|
|
DeploymentConfiguration:
|
|
MaximumPercent: 200
|
|
MinimumHealthyPercent: 100
|
|
DeploymentController:
|
|
Type: ECS
|
|
DesiredCount: 1
|
|
LaunchType: FARGATE
|
|
LoadBalancers:
|
|
- ContainerName: simple
|
|
ContainerPort: 80
|
|
TargetGroupArn:
|
|
Ref: SimpleTCP80TargetGroup
|
|
NetworkConfiguration:
|
|
AwsvpcConfiguration:
|
|
AssignPublicIp: ENABLED
|
|
SecurityGroups:
|
|
- Ref: DefaultNetwork
|
|
Subnets:
|
|
- subnet1
|
|
- subnet2
|
|
PlatformVersion: 1.4.0
|
|
PropagateTags: SERVICE
|
|
SchedulingStrategy: REPLICA
|
|
ServiceRegistries:
|
|
- RegistryArn:
|
|
Fn::GetAtt:
|
|
- SimpleServiceDiscoveryEntry
|
|
- Arn
|
|
Tags:
|
|
- Key: com.docker.compose.project
|
|
Value: TestSimpleConvert
|
|
- Key: com.docker.compose.service
|
|
Value: simple
|
|
TaskDefinition:
|
|
Ref: SimpleTaskDefinition
|
|
Type: AWS::ECS::Service
|
|
SimpleServiceDiscoveryEntry:
|
|
Properties:
|
|
Description: '"simple" service discovery entry in Cloud Map'
|
|
DnsConfig:
|
|
DnsRecords:
|
|
- TTL: 60
|
|
Type: A
|
|
RoutingPolicy: MULTIVALUE
|
|
HealthCheckCustomConfig:
|
|
FailureThreshold: 1
|
|
Name: simple
|
|
NamespaceId:
|
|
Ref: CloudMap
|
|
Type: AWS::ServiceDiscovery::Service
|
|
SimpleTCP80Listener:
|
|
Properties:
|
|
DefaultActions:
|
|
- ForwardConfig:
|
|
TargetGroups:
|
|
- TargetGroupArn:
|
|
Ref: SimpleTCP80TargetGroup
|
|
Type: forward
|
|
LoadBalancerArn:
|
|
Ref: LoadBalancer
|
|
Port: 80
|
|
Protocol: HTTP
|
|
Type: AWS::ElasticLoadBalancingV2::Listener
|
|
SimpleTCP80TargetGroup:
|
|
Properties:
|
|
Port: 80
|
|
Protocol: HTTP
|
|
Tags:
|
|
- Key: com.docker.compose.project
|
|
Value: TestSimpleConvert
|
|
TargetType: ip
|
|
VpcId: vpc-123
|
|
Type: AWS::ElasticLoadBalancingV2::TargetGroup
|
|
SimpleTaskDefinition:
|
|
Properties:
|
|
ContainerDefinitions:
|
|
- Command:
|
|
- .compute.internal
|
|
- TestSimpleConvert.local
|
|
Essential: false
|
|
Image: docker/ecs-searchdomain-sidecar:1.0
|
|
LogConfiguration:
|
|
LogDriver: awslogs
|
|
Options:
|
|
awslogs-group:
|
|
Ref: LogGroup
|
|
awslogs-region:
|
|
Ref: AWS::Region
|
|
awslogs-stream-prefix: TestSimpleConvert
|
|
Name: Simple_ResolvConf_InitContainer
|
|
- DependsOn:
|
|
- Condition: SUCCESS
|
|
ContainerName: Simple_ResolvConf_InitContainer
|
|
Essential: true
|
|
Image: nginx
|
|
LinuxParameters: {}
|
|
LogConfiguration:
|
|
LogDriver: awslogs
|
|
Options:
|
|
awslogs-group:
|
|
Ref: LogGroup
|
|
awslogs-region:
|
|
Ref: AWS::Region
|
|
awslogs-stream-prefix: TestSimpleConvert
|
|
Name: simple
|
|
PortMappings:
|
|
- ContainerPort: 80
|
|
HostPort: 80
|
|
Protocol: tcp
|
|
Cpu: "256"
|
|
ExecutionRoleArn:
|
|
Ref: SimpleTaskExecutionRole
|
|
Family: TestSimpleConvert-simple
|
|
Memory: "512"
|
|
NetworkMode: awsvpc
|
|
RequiresCompatibilities:
|
|
- FARGATE
|
|
Type: AWS::ECS::TaskDefinition
|
|
SimpleTaskExecutionRole:
|
|
Properties:
|
|
AssumeRolePolicyDocument:
|
|
Statement:
|
|
- Action:
|
|
- sts:AssumeRole
|
|
Condition: {}
|
|
Effect: Allow
|
|
Principal:
|
|
Service: ecs-tasks.amazonaws.com
|
|
Version: 2012-10-17
|
|
ManagedPolicyArns:
|
|
- arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
|
|
- arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
|
|
Tags:
|
|
- Key: com.docker.compose.project
|
|
Value: TestSimpleConvert
|
|
- Key: com.docker.compose.service
|
|
Value: simple
|
|
Type: AWS::IAM::Role
|
|
|