Skip to content

Commit 79e1af7

Browse files
committed
feat: Add new features and enhancements for .NET Aspire 9.5, including CLI updates, dashboard improvements, and Azure deployment support
1 parent 6fea510 commit 79e1af7

File tree

1 file changed

+144
-143
lines changed

1 file changed

+144
-143
lines changed

slides/Slides.md

Lines changed: 144 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,150 @@ footer: '@Chris_L_Ayers - https://chris-ayers.com'
234234

235235
---
236236

237+
238+
# What's New in .NET Aspire 9.5
239+
240+
<div class="columns">
241+
<div>
242+
243+
## ⚙️ CLI & Tooling
244+
245+
- **aspire update** - Auto-update packages
246+
- **SSH Remote port forwarding** in VS Code
247+
248+
## 🎨 Dashboard Enhancements
249+
250+
- **GenAI Visualizer** - Explore AI interactions
251+
- **Multi-resource console** logs view
252+
253+
</div>
254+
<div>
255+
256+
## 🤖 New Integrations
257+
258+
- **OpenAI hosting** integration
259+
- **GitHub Models** & **Azure AI Foundry** catalogs
260+
- **Dev Tunnels** hosting support
261+
262+
## 🚀 Deployment
263+
264+
- **Azure Container App Jobs**
265+
- **Built-in Azure deployment** via `aspire deploy`
266+
267+
</div>
268+
</div>
269+
270+
---
271+
272+
# Compute Environments & Aspire CLI
273+
274+
<div class="columns">
275+
<div>
276+
277+
## Multiple Environments
278+
279+
```csharp
280+
var k8s = builder.AddKubernetesEnvironment("k8s");
281+
var compose = builder.AddDockerComposeEnvironment("docker");
282+
283+
builder.AddProject<Projects.Api>("api")
284+
.WithComputeEnvironment(compose);
285+
286+
builder.AddProject<Projects.Frontend>("frontend")
287+
.WithComputeEnvironment(k8s);
288+
```
289+
290+
</div>
291+
<div>
292+
293+
## Aspire CLI
294+
295+
```bash
296+
# Install
297+
curl -sSL https://aspire.dev/install.sh | bash
298+
dotnet tool install -g Aspire.Cli
299+
300+
# Commands
301+
aspire new | run | add | update
302+
aspire config | publish | deploy
303+
aspire exec
304+
```
305+
306+
</div>
307+
</div>
308+
309+
---
310+
311+
# Azure Deployment
312+
313+
<div class="columns">
314+
<div>
315+
316+
## Targets
317+
318+
- Azure App Service
319+
- Azure Container Apps
320+
- Kubernetes
321+
322+
## Azure Developer CLI
323+
324+
```bash
325+
azd up # Deploy everything
326+
azd deploy # App only
327+
azd provision # Infrastructure only
328+
azd init # Initialize
329+
```
330+
331+
</div>
332+
<div>
333+
334+
## Features
335+
336+
- Auto-detects app structure
337+
- Environment variable mapping
338+
- Native Aspire support
339+
- Credential providers
340+
- Key Vault integration
341+
- Secure access
342+
343+
</div>
344+
</div>
345+
346+
---
347+
348+
# Interactive Parameter Prompting
349+
350+
<div class="columns">
351+
<div>
352+
353+
```csharp
354+
// Parameters without defaults trigger dashboard prompts
355+
var apiKey = builder.AddParameter("api-key", secret: true);
356+
var dbUrl = builder.AddParameter("database-url");
357+
358+
var api = builder.AddProject<Projects.Api>("api")
359+
.WithEnvironment("API_KEY", apiKey)
360+
.WithEnvironment("DATABASE_URL", dbUrl);
361+
```
362+
363+
</div>
364+
<div>
365+
366+
## Features
367+
368+
- **Automatic prompting** for missing parameters
369+
- **Rich form inputs** in dashboard
370+
- **Secret masking** for sensitive data
371+
- **Validation support** with custom rules
372+
- **Save to user secrets** for persistence
373+
374+
**Input Types**: Text, Password, Choice, Boolean, Number
375+
376+
</div>
377+
</div>
378+
379+
---
380+
237381
# Local to Cloud Integrations
238382

239383
| **Component** | **Local** | **Cloud** |
@@ -383,149 +527,6 @@ public class ExampleService(IChatClient chatClient)
383527

384528
---
385529

386-
# What's New in .NET Aspire 9.5
387-
388-
<div class="columns">
389-
<div>
390-
391-
## ⚙️ CLI & Tooling
392-
393-
- **aspire update** - Auto-update packages
394-
- **SSH Remote port forwarding** in VS Code
395-
396-
## 🎨 Dashboard Enhancements
397-
398-
- **GenAI Visualizer** - Explore AI interactions
399-
- **Multi-resource console** logs view
400-
401-
</div>
402-
<div>
403-
404-
## 🤖 New Integrations
405-
406-
- **OpenAI hosting** integration
407-
- **GitHub Models** & **Azure AI Foundry** catalogs
408-
- **Dev Tunnels** hosting support
409-
410-
## 🚀 Deployment
411-
412-
- **Azure Container App Jobs**
413-
- **Built-in Azure deployment** via `aspire deploy`
414-
415-
</div>
416-
</div>
417-
418-
---
419-
420-
# Compute Environments & Aspire CLI
421-
422-
<div class="columns">
423-
<div>
424-
425-
## Multiple Environments
426-
427-
```csharp
428-
var k8s = builder.AddKubernetesEnvironment("k8s");
429-
var compose = builder.AddDockerComposeEnvironment("docker");
430-
431-
builder.AddProject<Projects.Api>("api")
432-
.WithComputeEnvironment(compose);
433-
434-
builder.AddProject<Projects.Frontend>("frontend")
435-
.WithComputeEnvironment(k8s);
436-
```
437-
438-
</div>
439-
<div>
440-
441-
## Aspire CLI
442-
443-
```bash
444-
# Install
445-
curl -sSL https://aspire.dev/install.sh | bash
446-
dotnet tool install -g Aspire.Cli
447-
448-
# Commands
449-
aspire new | run | add | update
450-
aspire config | publish | deploy
451-
aspire exec
452-
```
453-
454-
</div>
455-
</div>
456-
457-
---
458-
459-
# Azure Deployment
460-
461-
<div class="columns">
462-
<div>
463-
464-
## Targets
465-
466-
- Azure App Service
467-
- Azure Container Apps
468-
- Kubernetes
469-
470-
## Azure Developer CLI
471-
472-
```bash
473-
azd up # Deploy everything
474-
azd deploy # App only
475-
azd provision # Infrastructure only
476-
azd init # Initialize
477-
```
478-
479-
</div>
480-
<div>
481-
482-
## Features
483-
484-
- Auto-detects app structure
485-
- Environment variable mapping
486-
- Native Aspire support
487-
- Credential providers
488-
- Key Vault integration
489-
- Secure access
490-
491-
</div>
492-
</div>
493-
494-
---
495-
496-
# Interactive Parameter Prompting
497-
498-
<div class="columns">
499-
<div>
500-
501-
```csharp
502-
// Parameters without defaults trigger dashboard prompts
503-
var apiKey = builder.AddParameter("api-key", secret: true);
504-
var dbUrl = builder.AddParameter("database-url");
505-
506-
var api = builder.AddProject<Projects.Api>("api")
507-
.WithEnvironment("API_KEY", apiKey)
508-
.WithEnvironment("DATABASE_URL", dbUrl);
509-
```
510-
511-
</div>
512-
<div>
513-
514-
## Features
515-
516-
- **Automatic prompting** for missing parameters
517-
- **Rich form inputs** in dashboard
518-
- **Secret masking** for sensitive data
519-
- **Validation support** with custom rules
520-
- **Save to user secrets** for persistence
521-
522-
**Input Types**: Text, Password, Choice, Boolean, Number
523-
524-
</div>
525-
</div>
526-
527-
---
528-
529530
![bg right](./img/dotnet-logo.png)
530531

531532
# DEMOS

0 commit comments

Comments
 (0)