Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/docs-builder/Http/DocumentationWebHost.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,13 @@ public DocumentationWebHost(string? path, int port, ILoggerFactory logger, IFile
builder.Services.AddHostedService<ReloadGeneratorService>();

//builder.Services.AddSingleton(logger);
builder.WebHost.UseUrls($"http://localhost:{port}");

// See https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-environment-variables#dotnet_running_in_container-and-dotnet_running_in_containers
// This way use the default port when running in a container
if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("DOTNET_RUNNING_IN_CONTAINER")) &&
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking one will suffice 😸 both will be set (don't ask my why!).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay 😅

c9b04bb

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm starting to wonder.

IIUC, the main reason for the differing ports for the native binary and the docker image are dotnet defaults.

Would it be a better UX if both use the same port?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://learn.microsoft.com/en-us/dotnet/core/compatibility/containers/8.0/aspnet-port has some background as to why its 8080.

In .net the default changes based on environments: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-9.0

Which is not something we leverage. Docker is a prod environments hence the different port as the rest of the run environments which are dev by default..

It makes sense to normalize this to one non privileged port and forego the docker env check to keep it simple.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I understand correctly? We skip the environment check and always do UseUrls?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes thats the less long winded conclusion 😸

We'll have to update https://github.com/elastic/docs-builder-example or maybe we should archive that repository now that we have the migration repositories.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

string.IsNullOrEmpty(Environment.GetEnvironmentVariable("DOTNET_RUNNING_IN_CONTAINERS")))
builder.WebHost.UseUrls($"http://localhost:{port}");

_webApplication = builder.Build();
SetUpRoutes();
}
Expand Down
Loading