dotnet-docker icon indicating copy to clipboard operation
dotnet-docker copied to clipboard

Produce Aspire dashboard images

Open MichaelSimons opened this issue 5 months ago • 15 comments

Having Aspire dashboard images readily available improves the UX for deployment into any environment that supports the resource server or just wants an easy to deploy otlp server.

Related Aspire issue

Issues

  • https://github.com/dotnet/dotnet-docker/pull/5148
  • https://github.com/dotnet/aspire/issues/2035
  • https://github.com/dotnet/dotnet-docker/issues/5153
  • https://github.com/dotnet/dotnet-docker/issues/5154
  • https://github.com/dotnet/dotnet-docker/issues/5155
  • https://github.com/dotnet/dotnet-docker/issues/5156
  • https://github.com/dotnet/dotnet-docker/issues/5335

MichaelSimons avatar Jan 23 '24 20:01 MichaelSimons

@joperezr - Can you help define the following?

  1. Usage scenarios
    1. Is it expected that anyone will build on top of this image (e.g. use it in a FROM)? Will this be strictly an appliance style image?
    2. Do you expect anyone will want to shell into the image? Can/should it be a distroless image?
  2. Repository name
  3. Supported distros and architectures
    1. Will first parties be interested? Are Mariner images needed? Can always be added later.

This will help inform what images are needed and the tag names.

MichaelSimons avatar Jan 23 '24 20:01 MichaelSimons

Adding @davidfowl so he can cross-check my replies here.

Usage scenarios Is it expected that anyone will build on top of this image (e.g. use it in a FROM)? Will this be strictly an appliance style image? Do you expect anyone will want to shell into the image? Can/should it be a distroless image?

No, we don't expect people to derive from the image, and we do believe it is an appliance style image. Shelling into the image will in large be mostly for debugging purposes in case of troubleshooting, but the average user isn't expected to do so. As far as distroless image, I'm not sure I understand the question; My intuition says that given it is an appliance style image, as long as it works in all different platforms and archs I don't think we really care about what the base distro is.

Repository name

Do we have an existing convention? Looks like at least the docker-monitor one is dotnet/monitor, so I'm assuming ours could be something like dotnet/aspire-dashboard

Supported distros and architectures Will first parties be interested? Are Mariner images needed? Can always be added later.

Yes. Main scenario for now is ACA (Azure Container Apps), but we do see in the future first parties adopting and using this image.

joperezr avatar Jan 23 '24 20:01 joperezr

My intuition says that given it is an appliance style image, as long as it works in all different platforms and archs I don't think we really care about what the base distro is.

The smaller the better

Do we have an existing convention? Looks like at least the docker-monitor one is dotnet/monitor, so I'm assuming ours could be something like dotnet/aspire-dashboard

I like this.

Yes. Main scenario for now is ACA (Azure Container Apps), but we do see in the future first parties adopting and using this image.

and 3rd parties

davidfowl avatar Jan 23 '24 20:01 davidfowl

My intuition says that given it is an appliance style image, as long as it works in all different platforms and archs I don't think we really care about what the base distro is.

The advantage of using distroless images is they are very small thus have a reduced attack surface area and are faster to pull. See our recent blog post announcing Ubuntu distroless images for additional details. I think distroless is an attractive option here. I asked about scenarios because it determines if including bash is necessary or not.

Do we have an existing convention? Looks like at least the docker-monitor one is dotnet/monitor, so I'm assuming ours could be something like dotnet/aspire-dashboard

That was my initial idea as well. I will propose a shorter alternative as having shorter repository names is attractive - dotnet/aspire-dash. It feels similar to dotnet/runtime-deps in that we don't spell out dependencies.

Yes. Main scenario for now is ACA (Azure Container Apps), but we do see in the future first parties adopting and using this image.

It sounds like producing Ubuntu Chiseled and Mariner distroless images is what we are gravitating towards. What about architectures? Both amd64 and arm64?

CC @richlander, @lbussell for awareness

MichaelSimons avatar Jan 23 '24 20:01 MichaelSimons

I will propose a shorter alternative as having shorter repository names is attractive - dotnet/aspire-dash.

This is a nitpick, but may be important to others. When I read that out loud, I say "dotnet slash aspire dash dash". The repeated "dash" might be confusing to others when describing the repository verbally.

jander-msft avatar Jan 23 '24 21:01 jander-msft

Yes, I think we care about arm64 as well, especially if it is relatively straight forward to also support it.

I don't have strong opinions regarding the repository name, so either the shorter or longer version works for me, whichever you folks recommend.

joperezr avatar Jan 23 '24 21:01 joperezr

I will propose a shorter alternative as having shorter repository names is attractive - dotnet/aspire-dash.

This is a nitpick, but may be important to others. When I read that out loud, I say "dotnet slash aspire dash dash". The repeated "dash" might be confusing to others when describing the repository verbally.

Thanks for pointing that out. The problem still exists in a way with it spelled out - "dotnet slash aspire dash dashboard"

MichaelSimons avatar Jan 23 '24 21:01 MichaelSimons

+1 to @jander-msft

aspire-dash is an objectively bad name, particularly only to save five characters. Don't do it.

Oh right, we're the folks that own https://dot.net. Same naming committee.

richlander avatar Jan 23 '24 22:01 richlander

Oh right, we're the folks that own https://dot.net/. Same naming committee.

Lol! I swear I was going to make a comment about https://get.dot.net/ above.

joperezr avatar Jan 23 '24 23:01 joperezr

Can we get "marketing" to change the name to Aspire Portal? 🙂

mthalman avatar Jan 24 '24 14:01 mthalman

I'm happy to ask, but I doubt that they will. "Aspire Portal" could be confusing and misleading, since what it really is, is a dashboard where you can see your Aspire Application and monitor it's logs, telemetry, etc. We do plan to have a centralized documentation site for Aspire, which we may want to refer to as the "Aspire Portal" in the future, so wouldn't want the dashboard to conflict with that.

joperezr avatar Jan 24 '24 20:01 joperezr

Correct, it's a dashboard, lets use the name aspire-dashboard and deal with the fallout.

davidfowl avatar Jan 24 '24 20:01 davidfowl

+1

Also, "Azure Portal" seems to have the "portal" name locked up for us.

Since we're talking about portals, I guess that brings up the question of high vs low fantasy. I'm more into high fantasy so have a general aversion to portals. None of this platform 9 & 3/4 business.

richlander avatar Jan 24 '24 22:01 richlander

[Triage] We'll use this issue as an epic to track the .NET Docker side of the aspire-dashboard containers work. All of the (future) issues for aspire-dashboard images should be linked here.

lbussell avatar Feb 01 '24 19:02 lbussell

I'm happy to ask, but I doubt that they will. "Aspire Portal" could be confusing and misleading, since what it really is, is a dashboard where you can see your Aspire Application and monitor it's logs, telemetry, etc. We do plan to have a centralized documentation site for Aspire, which we may want to refer to as the "Aspire Portal" in the future, so wouldn't want the dashboard to conflict with that.

Why don't rebrand as Aspire APM instead?

MithrilMan avatar Feb 12 '24 22:02 MithrilMan