From c65a21f81cb712cb41e0590ac93b2015a6397812 Mon Sep 17 00:00:00 2001 From: David Fowler Date: Mon, 23 Mar 2020 21:51:54 -0700 Subject: [PATCH] Rename internalPort to containerPort (#182) - Updated the docs --- docs/schema.md | 8 ++++++-- src/Microsoft.Tye.Core/ApplicationFactory.cs | 2 +- src/Microsoft.Tye.Core/BindingBuilder.cs | 2 +- .../ConfigModel/ConfigServiceBinding.cs | 2 +- src/Microsoft.Tye.Hosting/DockerRunner.cs | 10 +++++----- src/Microsoft.Tye.Hosting/Model/ServiceBinding.cs | 2 +- src/Microsoft.Tye.Hosting/Model/V1/V1ServiceBinding.cs | 2 +- src/Microsoft.Tye.Hosting/ProxyService.cs | 4 ++-- src/Microsoft.Tye.Hosting/TyeDashboardApi.cs | 2 +- src/tye/ApplicationBuilderExtensions.cs | 2 +- 10 files changed, 20 insertions(+), 16 deletions(-) diff --git a/docs/schema.md b/docs/schema.md index b9932692..0365315c 100644 --- a/docs/schema.md +++ b/docs/schema.md @@ -261,9 +261,13 @@ Specifies the hostname used by the binding. The protocol is used in [service dis Specifies the port used by the binding. The port is used in [service discovery](/docs/service_discovery.md) to construct a URL. -#### `internalPort` (string) +#### `internalPort` (string deprecated, use containerPort instead) -Specifies the internal port used by the binding when running in a docker container. +Specifies the port used by the binding when running in a docker container. + +#### `containerPort` (string) + +Specifies the port used by the binding when running in a docker container. #### `autoAssignPort` (bool) diff --git a/src/Microsoft.Tye.Core/ApplicationFactory.cs b/src/Microsoft.Tye.Core/ApplicationFactory.cs index b5ce7a71..f18cf378 100644 --- a/src/Microsoft.Tye.Core/ApplicationFactory.cs +++ b/src/Microsoft.Tye.Core/ApplicationFactory.cs @@ -87,7 +87,7 @@ namespace Microsoft.Tye AutoAssignPort = configBinding.AutoAssignPort, ConnectionString = configBinding.ConnectionString, Host = configBinding.Host, - InternalPort = configBinding.InternalPort, + ContainerPort = configBinding.ContainerPort, Port = configBinding.Port, Protocol = configBinding.Protocol, }; diff --git a/src/Microsoft.Tye.Core/BindingBuilder.cs b/src/Microsoft.Tye.Core/BindingBuilder.cs index 538f4e05..8e8b6307 100644 --- a/src/Microsoft.Tye.Core/BindingBuilder.cs +++ b/src/Microsoft.Tye.Core/BindingBuilder.cs @@ -10,7 +10,7 @@ namespace Microsoft.Tye public string? ConnectionString { get; set; } public bool AutoAssignPort { get; set; } public int? Port { get; set; } - public int? InternalPort { get; set; } + public int? ContainerPort { get; set; } public string? Host { get; set; } public string? Protocol { get; set; } } diff --git a/src/Microsoft.Tye.Core/ConfigModel/ConfigServiceBinding.cs b/src/Microsoft.Tye.Core/ConfigModel/ConfigServiceBinding.cs index 31c9a741..9d229f09 100644 --- a/src/Microsoft.Tye.Core/ConfigModel/ConfigServiceBinding.cs +++ b/src/Microsoft.Tye.Core/ConfigModel/ConfigServiceBinding.cs @@ -10,7 +10,7 @@ namespace Microsoft.Tye.ConfigModel public string? ConnectionString { get; set; } public bool AutoAssignPort { get; set; } public int? Port { get; set; } - public int? InternalPort { get; set; } + public int? ContainerPort { get; set; } public string? Host { get; set; } public string? Protocol { get; set; } } diff --git a/src/Microsoft.Tye.Hosting/DockerRunner.cs b/src/Microsoft.Tye.Hosting/DockerRunner.cs index 86ca02e1..889f71f1 100644 --- a/src/Microsoft.Tye.Hosting/DockerRunner.cs +++ b/src/Microsoft.Tye.Hosting/DockerRunner.cs @@ -83,7 +83,7 @@ namespace Microsoft.Tye.Hosting var dockerInfo = new DockerInformation(new Task[service.Description.Replicas]); - async Task RunDockerContainer(IEnumerable<(int Port, int? InternalPort, int BindingPort, string? Protocol)> ports) + async Task RunDockerContainer(IEnumerable<(int Port, int? ContainerPort, int BindingPort, string? Protocol)> ports) { var hasPorts = ports.Any(); @@ -110,10 +110,10 @@ namespace Microsoft.Tye.Hosting // These are the ports that the application should use for binding // 1. Tell the docker container what port to bind to - portString = string.Join(" ", ports.Select(p => $"-p {p.Port}:{p.InternalPort ?? p.Port}")); + portString = string.Join(" ", ports.Select(p => $"-p {p.Port}:{p.ContainerPort ?? p.Port}")); // 2. Configure ASP.NET Core to bind to those same ports - environment["ASPNETCORE_URLS"] = string.Join(";", ports.Select(p => $"{p.Protocol ?? "http"}://*:{p.InternalPort ?? p.Port}")); + environment["ASPNETCORE_URLS"] = string.Join(";", ports.Select(p => $"{p.Protocol ?? "http"}://*:{p.ContainerPort ?? p.Port}")); // Set the HTTPS port for the redirect middleware foreach (var p in ports) @@ -126,7 +126,7 @@ namespace Microsoft.Tye.Hosting } // 3. For non-ASP.NET Core apps, pass the same information in the PORT env variable as a semicolon separated list. - environment["PORT"] = string.Join(";", ports.Select(p => $"{p.InternalPort ?? p.Port}")); + environment["PORT"] = string.Join(";", ports.Select(p => $"{p.ContainerPort ?? p.Port}")); } // See: https://github.com/docker/for-linux/issues/264 @@ -243,7 +243,7 @@ namespace Microsoft.Tye.Hosting continue; } - ports.Add((service.PortMap[binding.Port.Value][i], binding.InternalPort, binding.Port.Value, binding.Protocol)); + ports.Add((service.PortMap[binding.Port.Value][i], binding.ContainerPort, binding.Port.Value, binding.Protocol)); } dockerInfo.Tasks[i] = RunDockerContainer(ports); diff --git a/src/Microsoft.Tye.Hosting/Model/ServiceBinding.cs b/src/Microsoft.Tye.Hosting/Model/ServiceBinding.cs index 7f518ab4..beebcb9b 100644 --- a/src/Microsoft.Tye.Hosting/Model/ServiceBinding.cs +++ b/src/Microsoft.Tye.Hosting/Model/ServiceBinding.cs @@ -10,7 +10,7 @@ namespace Microsoft.Tye.Hosting.Model public string? ConnectionString { get; set; } public bool AutoAssignPort { get; set; } public int? Port { get; set; } - public int? InternalPort { get; set; } + public int? ContainerPort { get; set; } public string? Host { get; set; } public string? Protocol { get; set; } } diff --git a/src/Microsoft.Tye.Hosting/Model/V1/V1ServiceBinding.cs b/src/Microsoft.Tye.Hosting/Model/V1/V1ServiceBinding.cs index c4102194..935a8d50 100644 --- a/src/Microsoft.Tye.Hosting/Model/V1/V1ServiceBinding.cs +++ b/src/Microsoft.Tye.Hosting/Model/V1/V1ServiceBinding.cs @@ -10,7 +10,7 @@ namespace Microsoft.Tye.Hosting.Model.V1 public string? ConnectionString { get; set; } public bool AutoAssignPort { get; set; } public int? Port { get; set; } - public int? InternalPort { get; set; } + public int? ContainerPort { get; set; } public string? Host { get; set; } public string? Protocol { get; set; } } diff --git a/src/Microsoft.Tye.Hosting/ProxyService.cs b/src/Microsoft.Tye.Hosting/ProxyService.cs index 4cc888d3..bc937b57 100644 --- a/src/Microsoft.Tye.Hosting/ProxyService.cs +++ b/src/Microsoft.Tye.Hosting/ProxyService.cs @@ -71,11 +71,11 @@ namespace Microsoft.Tye.Hosting if (binding.Protocol == "http" || binding.Protocol == null) { - binding.InternalPort = 80; + binding.ContainerPort = 80; } else if (binding.Protocol == "https") { - binding.InternalPort = 443; + binding.ContainerPort = 443; } if (service.Description.Replicas == 1) diff --git a/src/Microsoft.Tye.Hosting/TyeDashboardApi.cs b/src/Microsoft.Tye.Hosting/TyeDashboardApi.cs index 5f2db966..5c1556ab 100644 --- a/src/Microsoft.Tye.Hosting/TyeDashboardApi.cs +++ b/src/Microsoft.Tye.Hosting/TyeDashboardApi.cs @@ -112,7 +112,7 @@ namespace Microsoft.Tye.Hosting ConnectionString = binding.ConnectionString, AutoAssignPort = binding.AutoAssignPort, Port = binding.Port, - InternalPort = binding.InternalPort, + ContainerPort = binding.ContainerPort, Host = binding.Host, Protocol = binding.Protocol }); diff --git a/src/tye/ApplicationBuilderExtensions.cs b/src/tye/ApplicationBuilderExtensions.cs index ab4658e1..11900c59 100644 --- a/src/tye/ApplicationBuilderExtensions.cs +++ b/src/tye/ApplicationBuilderExtensions.cs @@ -85,7 +85,7 @@ namespace Microsoft.Tye.ConfigModel ConnectionString = binding.ConnectionString, Host = binding.Host, AutoAssignPort = binding.AutoAssignPort, - InternalPort = binding.InternalPort, + ContainerPort = binding.ContainerPort, Name = binding.Name, Port = binding.Port, Protocol = binding.Protocol,