mirror of https://github.com/docker/compose.git
333 lines
8.4 KiB
Plaintext
333 lines
8.4 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 nextwork",
|
|
"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": "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",
|
|
"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"
|
|
}
|
|
}
|
|
}
|