|
|
|
@ -132,33 +132,39 @@ namespace Microsoft.Tye.Hosting.Model |
|
|
|
{ |
|
|
|
var bindings = new List<EffectiveBinding>(); |
|
|
|
|
|
|
|
var isDockerRunInfo = service.Description.RunInfo is DockerRunInfo; |
|
|
|
GetEffectiveBindings(isDockerRunInfo, defaultHost, bindings, service); |
|
|
|
|
|
|
|
foreach (var serv in service.Description.Dependencies) |
|
|
|
{ |
|
|
|
var s = Services[serv]; |
|
|
|
GetEffectiveBindings(isDockerRunInfo, defaultHost, bindings, Services[serv]); |
|
|
|
} |
|
|
|
|
|
|
|
foreach (var b in s.Description.Bindings) |
|
|
|
{ |
|
|
|
var protocol = b.Protocol; |
|
|
|
var host = b.Host ?? (service.Description.RunInfo is DockerRunInfo ? s.Description.Name : defaultHost); |
|
|
|
return bindings; |
|
|
|
} |
|
|
|
|
|
|
|
var port = b.Port; |
|
|
|
if (b.Port is object && service.Description.RunInfo is DockerRunInfo) |
|
|
|
{ |
|
|
|
port = b.ContainerPort ?? b.Port.Value; |
|
|
|
} |
|
|
|
private static void GetEffectiveBindings(bool isDockerRunInfo, string defaultHost, List<EffectiveBinding> bindings, Service service) |
|
|
|
{ |
|
|
|
foreach (var b in service.Description.Bindings) |
|
|
|
{ |
|
|
|
var protocol = b.Protocol; |
|
|
|
var host = b.Host ?? (isDockerRunInfo ? service.Description.Name : defaultHost); |
|
|
|
|
|
|
|
bindings.Add(new EffectiveBinding( |
|
|
|
s.Description.Name, |
|
|
|
b.Name, |
|
|
|
protocol, |
|
|
|
host, |
|
|
|
port, |
|
|
|
b.ConnectionString, |
|
|
|
s.Description.Configuration)); |
|
|
|
var port = b.Port; |
|
|
|
if (b.Port is object && isDockerRunInfo) |
|
|
|
{ |
|
|
|
port = b.ContainerPort ?? b.Port.Value; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return bindings; |
|
|
|
bindings.Add(new EffectiveBinding( |
|
|
|
service.Description.Name, |
|
|
|
b.Name, |
|
|
|
protocol, |
|
|
|
host, |
|
|
|
port, |
|
|
|
b.ConnectionString, |
|
|
|
service.Description.Configuration)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|