Code-centric control
Define your stack in codeβtype-safe and readable. Run locally, deploy anywhere without architectural changes.
![]() |
VOOZH | about |
Orchestrate frontends, APIs, containers, and databases effortlesslyβno rewrites, no limits. Extend Aspire to power any project. Free, open-source, and agent ready.
Define your stack in codeβtype-safe and readable. Run locally, deploy anywhere without architectural changes.
Orchestrate frontends, APIs, containers, and databases with zero rewrites. Extend Aspire to fit your stackβdeploy anywhere.
Built-in OpenTelemetry delivers logs, traces, and health checks automaticallyβdebug faster with zero setup.
Deploy anywhereβKubernetes, cloud, or on-prem. Aspire adapts to your environment for consistent deployments without rewrites.
Aspire is the control plane for agentic dev. AI agents use your app model to understand, build, and operate your entire stack.
Install the Aspire CLI, run aspire init in your repo, and fuel your agents
with aspire agent init.
Aspire is modular, composable, and extensible. Configure relationships, deployment options, and dev-time flags in one place. Learn more about the AppHost.
Toggle different features on/off to see how Aspire defines different parts of your stack.
var builder =DistributedApplication.CreateBuilder(args);// This would be a rather boring AppHost βΉοΈ...// Toggle the options above to see what an AppHost might look like.// For example, select "Front end" to add a frontend service.builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT");builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT");// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT");builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT");// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj");// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj");// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api);// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres);// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres);// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api);// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj");builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj");// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddPostgres("db").AddDatabase("appdata");// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres);// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080);builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithNpmPackageInstallation().PublishAsDockerFile();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithNpmPackageInstallation().PublishAsDockerFile();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithNpmPackageInstallation().PublishAsDockerFile();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add frontend servicevar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithNpmPackageInstallation().PublishAsDockerFile();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj").PublishAsAzureContainerApp();// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api).WithNpmPackageInstallation().PublishAsDockerFile();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj").PublishAsAzureContainerApp();// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api).WithNpmPackageInstallation().PublishAsDockerFile();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres).WaitFor(postgres).PublishAsAzureContainerApp();// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api).WithNpmPackageInstallation().PublishAsDockerFile();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres).WaitFor(postgres).PublishAsAzureContainerApp();// Add frontend service and reference the APIvar frontend =builder.AddViteApp("frontend","../frontend").WithHttpEndpoint(env:"PORT").WithReference(api).WithNpmPackageInstallation().PublishAsDockerFile();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj").PublishAsAzureContainerApp();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add API servicevar api =builder.AddProject("api","../api/ApiService.csproj").PublishAsAzureContainerApp();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres).WaitFor(postgres).PublishAsAzureContainerApp();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add databasevar postgres =builder.AddAzurePostgresFlexibleServer("db").AddDatabase("appdata").WithDataVolume().RunAsContainer();// Add API service and reference the databasevar api =builder.AddProject("api","../api/ApiService.csproj").WithReference(postgres).WaitFor(postgres).PublishAsAzureContainerApp();// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();var builder =DistributedApplication.CreateBuilder(args);// Add custom containervar customContainer =builder.AddContainer("mycustomcontainer","myregistry/myapp","latest").WithHttpEndpoint(targetPort:8080).PublishAsKubernetes();builder.Build().Run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// This would be a rather boring AppHost βΉοΈ...// Toggle the options above to see what an AppHost might look like.// For example, select "Front end" to add a frontend service.awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"});// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"});// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"});// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api);awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"});// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api);// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres);// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api);awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres);// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api);// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"});// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres);awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addPostgres("db").addDatabase("appdata");// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres);// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080});awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withNpmPackageInstallation().publishAsDockerFile();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withNpmPackageInstallation().publishAsDockerFile();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withNpmPackageInstallation().publishAsDockerFile();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add Vite frontendconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withNpmPackageInstallation().publishAsDockerFile();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).publishAsAzureContainerApp();// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api).withNpmPackageInstallation().publishAsDockerFile();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).publishAsAzureContainerApp();// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api).withNpmPackageInstallation().publishAsDockerFile();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres).waitFor(postgres).publishAsAzureContainerApp();// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api).withNpmPackageInstallation().publishAsDockerFile();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres).waitFor(postgres).publishAsAzureContainerApp();// Add Vite frontend and reference the APIconstfrontend=awaitbuilder.addViteApp("frontend","./frontend").withHttpEndpoint({ env:"PORT"}).withReference(api).withNpmPackageInstallation().publishAsDockerFile();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).publishAsAzureContainerApp();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add Express APIconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).publishAsAzureContainerApp();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres).waitFor(postgres).publishAsAzureContainerApp();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add databaseconstpostgres=awaitbuilder.addAzurePostgresFlexibleServer("db").addDatabase("appdata").withDataVolume().runAsContainer();// Add Express API and reference the databaseconstapi=awaitbuilder.addNodeApp("api","./api","src/index.ts").withHttpEndpoint({ env:"PORT"}).withReference(postgres).waitFor(postgres).publishAsAzureContainerApp();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();import{createBuilder}from'./.modules/aspire.js';constbuilder=awaitcreateBuilder();// Add custom containerconstcustomContainer=awaitbuilder.addContainer("mycustomcontainer","myregistry/myapp","latest").withHttpEndpoint({ targetPort:8080}).publishAsKubernetes();awaitbuilder.build().run();Free and open source
Aspire is a developer-first, always-free, open-source platform. Join a thriving community and help shape the future of modern development.
Built for your stack, Aspire orchestrates apps in C#, Java, Python, JavaScript, TypeScript, Go, and moreβuse the languages you prefer. Explore how to model your apps.
Built for local development, Aspire mirrors production environments on your machine, eliminating βworks on my machineβ issues for smooth deployments. Learn about pipelines and app topology.
aspirerunaspiredeploy-etestaspiredeployUse Aspireβs CLI to spin everything up locally or create deployment artifacts during your CI/CD. Dive in, and build your first Aspire app.
Local development
aspirerunlocalhostProduction deployment
aspiredeployMonitor logs, metrics, and traces in real time with the ready-to-use OpenTelemetry dashboard, integrated directly into your workflow. Dive into the dashboard.
Multi-cloud, limitless integrations β Connect Aspire to Azure, AWS, or your own infrastructure. Tap into a vast ecosystem of integrations to power any stack, anywhere. Discover all integrations.
Donβt just take our word for it! From indie hackers to enterprises, developers like you are building faster and shipping with confidence using Aspire. Join the Aspire community.
Get started with Aspire by installing the CLI, then dive into the Docs to learn how to model, run, and deploy your applications.