{
|
|
"id": "/eshop",
|
|
"apps": [
|
|
{
|
|
"id": "basket-data",
|
|
"container": {
|
|
"type": "DOCKER",
|
|
"docker": {
|
|
"image": "redis:3.2-alpine",
|
|
"network": "BRIDGE",
|
|
"portMappings": [
|
|
{
|
|
"hostPort": 6379,
|
|
"labels": {
|
|
"VIP_0": "eshopbasket-data:6379"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"protocol": "TCP",
|
|
"gracePeriodSeconds": 30,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 30,
|
|
"maxConsecutiveFailures": 3,
|
|
"port": 6379
|
|
}
|
|
],
|
|
"cpus": 0.1,
|
|
"mem": 1024,
|
|
"instances": 1
|
|
},
|
|
{
|
|
"id": "basket-api",
|
|
"dependencies": [
|
|
"basket-data",
|
|
"rabbitmq"
|
|
],
|
|
"env": {
|
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80/basket",
|
|
"ConnectionString": "eshopbasket-data.marathon.l4lb.thisdcos.directory",
|
|
"EventBusConnection": "eshoprabbitmq.marathon.l4lb.thisdcos.directory",
|
|
"IdentityUrl": "http://AGENTS_FQDN/id"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/basket.api",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"path": "/hc",
|
|
"protocol": "HTTP",
|
|
"gracePeriodSeconds": 60,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 10,
|
|
"maxConsecutiveFailures": 3,
|
|
"ignoreHttp1xx": false
|
|
}
|
|
],
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http",
|
|
"HAPROXY_0_PATH": "/basket"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
},
|
|
{
|
|
"id": "catalog",
|
|
"dependencies": [
|
|
"rabbitmq",
|
|
"sql-data"
|
|
],
|
|
"env": {
|
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80/catalog",
|
|
"ConnectionString": "Server=eshopsql-data.marathon.l4lb.thisdcos.directory;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
|
|
"EventBusConnection": "eshoprabbitmq.marathon.l4lb.thisdcos.directory",
|
|
"ExternalCatalogBaseUrl": "http://AGENTS_FQDN/catalog"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/catalog.api",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"path": "/hc",
|
|
"protocol": "HTTP",
|
|
"gracePeriodSeconds": 60,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 10,
|
|
"maxConsecutiveFailures": 3,
|
|
"ignoreHttp1xx": false
|
|
}
|
|
],
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http",
|
|
"HAPROXY_0_PATH": "/catalog"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
},
|
|
{
|
|
"id": "identity",
|
|
"dependencies": [
|
|
"sql-data"
|
|
],
|
|
"env": {
|
|
"MvcClient": "http://AGENTS_FQDN/webmvc",
|
|
"SpaClient": "http://AGENTS_FQDN",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80/id",
|
|
"ConnectionStrings__DefaultConnection": "Server=eshopsql-data.marathon.l4lb.thisdcos.directory;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
|
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/identity.api",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"path": "/hc",
|
|
"protocol": "HTTP",
|
|
"gracePeriodSeconds": 60,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 10,
|
|
"maxConsecutiveFailures": 3,
|
|
"ignoreHttp1xx": false
|
|
}
|
|
],
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http",
|
|
"HAPROXY_0_PATH": "/id"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
},
|
|
{
|
|
"id": "ordering",
|
|
"dependencies": [
|
|
"rabbitmq",
|
|
"sql-data"
|
|
],
|
|
"env": {
|
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80/ordering",
|
|
"ConnectionString": "Server=eshopsql-data.marathon.l4lb.thisdcos.directory;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
|
|
"EventBusConnection": "eshoprabbitmq.marathon.l4lb.thisdcos.directory",
|
|
"IdentityUrl": "http://AGENTS_FQDN/id"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/ordering.api",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"path": "/hc",
|
|
"protocol": "HTTP",
|
|
"gracePeriodSeconds": 60,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 10,
|
|
"maxConsecutiveFailures": 3,
|
|
"ignoreHttp1xx": false
|
|
}
|
|
],
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http",
|
|
"HAPROXY_0_PATH": "/ordering"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
},
|
|
{
|
|
"id": "rabbitmq",
|
|
"container": {
|
|
"type": "DOCKER",
|
|
"docker": {
|
|
"image": "rabbitmq:3.6-alpine",
|
|
"network": "BRIDGE",
|
|
"portMappings": [
|
|
{
|
|
"hostPort": 5672,
|
|
"labels": {
|
|
"VIP_0": "eshoprabbitmq:5672"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"protocol": "TCP",
|
|
"gracePeriodSeconds": 30,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 30,
|
|
"maxConsecutiveFailures": 3,
|
|
"port": 5672
|
|
}
|
|
],
|
|
"cpus": 0.1,
|
|
"mem": 256,
|
|
"instances": 1
|
|
},
|
|
{
|
|
"id": "sql-data",
|
|
"container": {
|
|
"type": "DOCKER",
|
|
"docker": {
|
|
"image": "microsoft/mssql-server-linux:ctp1-4",
|
|
"network": "BRIDGE",
|
|
"portMappings": [
|
|
{
|
|
"hostPort": 1433,
|
|
"labels": {
|
|
"VIP_0": "eshopsql-data:1433"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"env": {
|
|
"ACCEPT_EULA": "Y",
|
|
"SA_PASSWORD": "Pass@word"
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"protocol": "TCP",
|
|
"gracePeriodSeconds": 30,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 30,
|
|
"maxConsecutiveFailures": 3,
|
|
"port": 1433
|
|
}
|
|
],
|
|
"cpus": 0.1,
|
|
"mem": 1024,
|
|
"instances": 1
|
|
},
|
|
{
|
|
"id": "webmvc",
|
|
"dependencies": [
|
|
"basket-api",
|
|
"catalog",
|
|
"identity",
|
|
"ordering"
|
|
],
|
|
"env": {
|
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80/webmvc",
|
|
"BasketUrl": "http://AGENTS_FQDN/basket",
|
|
"CallBackUrl": "http://AGENTS_FQDN/webmvc",
|
|
"CatalogUrl": "http://AGENTS_FQDN/catalog",
|
|
"IdentityUrl": "http://AGENTS_FQDN/id",
|
|
"OrderingUrl": "http://AGENTS_FQDN/ordering"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/webmvc",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"path": "/hc",
|
|
"protocol": "HTTP",
|
|
"gracePeriodSeconds": 60,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 10,
|
|
"maxConsecutiveFailures": 3,
|
|
"ignoreHttp1xx": false
|
|
}
|
|
],
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http",
|
|
"HAPROXY_0_PATH": "/webmvc"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
},
|
|
{
|
|
"id": "webspa",
|
|
"dependencies": [
|
|
"basket-api",
|
|
"catalog",
|
|
"identity",
|
|
"ordering"
|
|
],
|
|
"env": {
|
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80",
|
|
"BasketUrl": "http://AGENTS_FQDN/basket",
|
|
"CallBackUrl": "http://AGENTS_FQDN/webmvc",
|
|
"CatalogUrl": "http://AGENTS_FQDN/catalog",
|
|
"IdentityUrl": "http://AGENTS_FQDN/id",
|
|
"OrderingUrl": "http://AGENTS_FQDN/ordering"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/webspa",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"healthChecks": [
|
|
{
|
|
"path": "/hc",
|
|
"protocol": "HTTP",
|
|
"gracePeriodSeconds": 60,
|
|
"intervalSeconds": 60,
|
|
"timeoutSeconds": 10,
|
|
"maxConsecutiveFailures": 3,
|
|
"ignoreHttp1xx": false
|
|
}
|
|
],
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
},
|
|
{
|
|
"id": "webstatus",
|
|
"env": {
|
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
|
"ASPNETCORE_URLS": "http://0.0.0.0:80/webstatus",
|
|
"BasketUrl": "http://AGENTS_FQDN/basket",
|
|
"CatalogUrl": "http://AGENTS_FQDN/catalog",
|
|
"IdentityUrl": "http://AGENTS_FQDN/id",
|
|
"OrderingUrl": "http://AGENTS_FQDN/ordering",
|
|
"mvc": "http://AGENTS_FQDN/webmvc",
|
|
"spa": "http://AGENTS_FQDN/webspa"
|
|
},
|
|
"instances": 1,
|
|
"cpus": 0.1,
|
|
"mem": 128,
|
|
"container": {
|
|
"docker": {
|
|
"image": "REGISTRY/eshop/webstatus",
|
|
"forcePullImage": true,
|
|
"portMappings": [
|
|
{
|
|
"containerPort": 80
|
|
}
|
|
],
|
|
"network": "BRIDGE"
|
|
}
|
|
},
|
|
"labels": {
|
|
"HAPROXY_GROUP": "external",
|
|
"HAPROXY_0_VHOST": "AGENTS_FQDN",
|
|
"HAPROXY_0_MODE": "http",
|
|
"HAPROXY_0_PATH": "/webstatus"
|
|
},
|
|
"uris": [
|
|
"file:///mnt/share/docker.tar.gz"
|
|
]
|
|
}
|
|
]
|
|
}
|