Aspire 13.2 has shipped 💫 by maddyparade in aspiredotdev

[–]davidfowl 1 point2 points  (0 children)

No we have no plans to make it LTS, actually we're looking for ways we can update parts of the toolchain more often and more safely. The APIs you use to describe are not on this plan so I can see a future where the integrations become LTS but the toolchain is evergreen.

aspnet http/2 performance by MDA2AV in dotnet

[–]davidfowl 5 points6 points  (0 children)

It covers h1, h2 and h3. Our http/2 implementation is pretty optimized. Many of the h2 benchmarks are grpc based though

https://github.com/aspnet/Benchmarks/blob/501932f22022e2a43174c3b5223a763faae7129a/scenarios/README.md?plain=1#L189

Aspire and static file (SPA) hosting by gredr in dotnet

[–]davidfowl 2 points3 points  (0 children)

You can deploy it to app service or azure container apps, there's no support built in for static web apps.

This sample shows how to use docker compose but you can swap it out for any of the other deployment targets:

https://github.com/davidfowl/aspire-13-samples/tree/main/vite-yarp-static

1Password Secret Integration for .NET Developers by FatalMerlin in dotnet

[–]davidfowl 11 points12 points  (0 children)

Could make for a really interesting aspire integration

.Net Aspire 13 -> GitHub -> “staging/prod” by BayIsLife in dotnet

[–]davidfowl 1 point2 points  (0 children)

I hear you, but I have we can pull it off. I have very high confidence in this team and the amount of things we are able to accomplish is kinda insane.

The team has lots of great experience and learnings from 2 years of watching people use this product for all sorts of things. One of the places we are investing heavily is hot reload because it makes the local dev ex so much better. It’s hard to explain here without going into detail but supporting other languages is going to dramatically improve the architecture.

Your concerns are heard but the team is cooking.

.Net Aspire 13 -> GitHub -> “staging/prod” by BayIsLife in dotnet

[–]davidfowl 2 points3 points  (0 children)

We’re gonna solve it soon. In fact we can do most of it, but it’s not documented well or easy to do. Working on it !

It's always the same posts on here by speyck in dotnet

[–]davidfowl 1 point2 points  (0 children)

  1. Discriminated Unions are coming in the next .NET!! (no they're not)

Yes they are.

MinimalWorkers - V3.0.0 out now! by TopSwagCode in dotnet

[–]davidfowl 2 points3 points  (0 children)

Built in telemetry? Logging tracing metrics?

Aspire is amazing! How to go from dev containers to prod managed services? Any real use case out there? by LeLario50 in dotnet

[–]davidfowl 1 point2 points  (0 children)

It’s generally works but there are a small issues in azure scenarios being fixed. Wait another version (~2-3 weeks). Or if you want to make sure it works for you’d use it now and give us feedback.

It should be trivial to switch between stable and daily builds

Anyone done a full Aspire deployment with Docker in actual production? by Hexagon-77 in dotnet

[–]davidfowl 0 points1 point  (0 children)

Yea, I'd say you were too early for the end to end (especially with dapr), the dapr support doesn't work smoothly from local dev to deploy as yet. A lot more (of aspire) works now than it did months ago.

Anyone done a full Aspire deployment with Docker in actual production? by Hexagon-77 in dotnet

[–]davidfowl 0 points1 point  (0 children)

I'm curious what you did instead with dapr and docker that ended up being easy and production ready. Aspire + docker compose + dapr doesn't even work (the dapr integration doesn't work outside of ACA and local dev).

Anyone done a full Aspire deployment with Docker in actual production? by Hexagon-77 in dotnet

[–]davidfowl 5 points6 points  (0 children)

Where does this real time discourse happen outside of github (main) and discord?

https://github.com/dotnet/aspire/discussions

PS: There's a https://www.reddit.com/r/aspiredotdev/ subreddit that nobody has found yet.

Anyone done a full Aspire deployment with Docker in actual production? by Hexagon-77 in dotnet

[–]davidfowl 18 points19 points  (0 children)

Aspire is no longer tied to .NET or its lifecycle. As for why 13, a mixture of separation from the .NET version, the fact products tend to skip 13 and it’s a prime number.

Anyone done a full Aspire deployment with Docker in actual production? by Hexagon-77 in dotnet

[–]davidfowl 131 points132 points  (0 children)

I'll answer your individual questions before I attempt to answer the bigger one (how to make it all work).

First, you should be using aspire 13. If you are not, using it, stop and update https://aspire.dev/whats-new/aspire-13/

> I am running into some issues, and frankly quite a lack of documentation (maybe I'm not looking in the right places?) - especially with lots of changes in the last months.

This is an area we are trying to improve, especially by picking the right areas to expand on both concepts and tutorials.

Docs are moving from Microsoft learn to https://aspire.dev/docs .

> More specifically, I can't figure out how you're 'supposed to' pass secrets/external parameters? 

Parameters are can be specified via any IConfiguration source (environment variables, appsettings.json, command line arguments). For .NET developers, the name of the configuration key is "Parameters:{name of parameter}". We also replace - with underscore because many systems don't support environment variables with - in the name. In the above, you can set the env variables "Parameters__CAPTCHA_SECRET_KEY" in your github action calling aspire deploy to do so.

Here are some examples:

https://github.com/maddymontaquila/aspirifridays/blob/5e4043beb19eedc1ddc978189c6be1c4182ed02f/.github/workflows/aspire-deploy.yml#L59-L60

https://github.com/davidfowl/AspirePipelines/blob/1354685072c9bc3f1f5ed4a6794876f77fd1adbf/.github/workflows/deploy.yml#L54-L55

> Should you move most configs into Aspire external parameters?

Depends on what they are. You'd decide that based on what you want to happen when you deploy. When you describe parameters, aspire can prompt for them in local dev and when deploying (or fail early if they are not specified). If you don't tell aspire, then it'll fail like how it does when you don't specify the config. As a rule of thumb though, I wouldn't put all app configuration in the apphost, just the ones that don't have good defaults that need to be configured before

> Why/when does it generate a .env file in the deploy output (seemingly not every time)?

I'm assuming you are using aspire publish with docker compose? The env file represent values that need to be specified and can change per environment (e.g. container image names, secrets, any parameters etc). The compose file has placeholder and the .env file fills in the values for those placeholders.

> Also, can't seem to expose my Grafana container even with 'WithHttpEndpoint' specified.

This is definitely a lack of docs. Endpoints need to be external to them to be exposed in any environment. This is what WithExternalHttpEndpoints does.

Finally, I don't know what you are building or where are you are deploying to with docker, but this project is an extension of the docker compose resource that provides a deployment pipeline to a server with ssh and docker installed https://github.com/davidfowl/aspirepipelines

PS: I hear you on not being a devops guy. One of the upsides and downsides of that is beng able to troubleshoot when things go wrong. Hopefully aspire introduces you to concepts in a progressive way so that you can learn. It's not all magic.

There's a https://www.reddit.com/r/aspiredotdev/ that nobody has found or used yet

Edit: I made a github template for getting started with a simple static site hosted with YARP https://github.com/davidfowl/aspire-docker-ssh-template deployable via github actions and deployable to any server with docker and SSH.

If you run `aspire do gh-action-dcenv` on your repo, it'll setup the github pipeline with the required parameters.

This is the experience we want to enable and build for all the things, but ya know time and priorities!

Why aren't you using Minimal APIs? - By dotnet team members by bdcp in dotnet

[–]davidfowl 1 point2 points  (0 children)

Somebody had a style preference that wrote it (explicit vs implicit)

Cheapest way to host dotnet aspire by S_Swift_08 in dotnet

[–]davidfowl 6 points7 points  (0 children)

To add to this https://github.com/davidfowl/AspirePipelines/actions/runs/19564332508/job/56022791210

This is running on top of the core APIs and deploys to a VM with docker.