Skip to content

Onboard first-party Java and Rust integrations - #1794

Merged
David Pine (IEvangelist) merged 2 commits into
release/13.6from
ievangelist-java-and-rust-integrations
Sep 29, 2026
Merged

David Pine (IEvangelist) merged 2 commits into
release/13.6from
ievangelist-java-and-rust-integrations

Conversation

@IEvangelist

Copy link
Copy Markdown
Member

Summary

Onboards the first-party Java (Aspire.Hosting.Java) and Rust (Aspire.Hosting.Rust) hosting integrations that ship in Aspire 13.6. The Community Toolkit–based articles are replaced by the official three-article integration format that other official integrations use:

Integration Get started Set up in the AppHost Connect
Java java-get-started (rewritten) java-host (rewritten) java-connect (new)
Rust rust-get-started (rewritten) rust-host (rewritten) rust-connect (new)
  • Get started: why to use the integration, prerequisites, an architecture diagram, and steps that lead to the other two articles.
  • Set up … apps in the AppHost:
    • Installation.
    • Java: Spring Boot, Quarkus, and Java apps (a Maven or Gradle task, or a prebuilt JAR), builds, JVM options, the OpenTelemetry Java agent, and Java containers.
    • Rust: Cargo and program arguments, binary selection, and environment variables.
    • Certificate trust, debugging, and publishing, including generated Dockerfiles.
    • A concise Migrate from the Community Toolkit section. Rust keeps the Toolkit-only Bacon note.
  • Connect to … apps:
    • The connection properties that consumers receive.
    • Connecting from the AppHost and from apps in other languages.
    • How the Java or Rust app reads what Aspire injects: its port, references, connection strings, OTLP telemetry settings, and development-certificate trust.
  • Every API mention uses the new <ApiReference /> component. Every TypeScript AppHost sample is twoslash-checked, and the TypeScript tab comes first.
  • Adds Connect to Java apps and Connect to Rust apps to the integrations sidebar.
  • Updates the Java pivot of the AppHost overview (get-started/app-host) to use Aspire.Hosting.Java and AddSpringBootApp. The ja copy is updated too, because it shares the SimpleAppHostCode sample and its highlight ranges moved.
  • A separate commit changes "App Host" to "AppHost" in the EF Core architecture diagram.

Facts were verified against the microsoft/aspire release/13.6 sources, READMEs, and playgrounds. The migration mappings were verified against the Community Toolkit v13.5.0 APIs.

Notes for reviewers:

Third-party links and affiliations

This PR adds links to project documentation:

  • Java: dev.java, spring.io, docs.spring.io, quarkus.io, maven.apache.org, gradle.org, and docs.gradle.org.
  • Rust: rust-lang.org, doc.rust-lang.org, docs.rs (axum, opentelemetry-otlp, reqwest, and sqlx), and opentelemetry.io.
  • Microsoft: nuget.org (CommunityToolkit.Aspire.Hosting.Rust) and the Rust playground in github.com/microsoft/aspire. The author is a Microsoft employee.

There is no material affiliation with the other linked organizations.

Validation

  • pnpm test:unit (after rebasing on Regenerate API data from Aspire 13.6.0 staging build f4c27f2d #1787): 977 passed and 1 skipped. This includes the twoslash-blocks, api-reference, SEO-length, redirect, and Dev Hub catalog tests.
  • pnpm build:skip-search, the production build without the Pagefind index, completed before the rebase. starlight-links-validator reported: "All internal links are valid."
  • ESLint on the changed TypeScript files, the forbidden-words rules on all added lines, and git diff --check.
  • Every internal link and anchor resolves: 126 outbound links from the changed pages and 51 inbound links to the Java and Rust pages. External URLs were checked too.
  • The Rust samples compile with cargo check, using opentelemetry-otlp 0.33.
  • All six pages were checked visually on the dev server, including the diagrams, ApiReference labels, and tab sync.
  • Two independent accuracy reviews against the 13.6 sources. All of their findings were applied.

Rewrite the Java and Rust integration docs for the first-party
Aspire.Hosting.Java and Aspire.Hosting.Rust packages in Aspire 13.6,
replacing the Community Toolkit content with the official
three-article integration format:

- Get started with the Java/Rust integration
- Set up Java/Rust apps in the AppHost
- Connect to Java/Rust apps (new)

The pages use ApiReference for API mentions, twoslash-checked
TypeScript AppHost samples (TypeScript tab first), and a concise
"Migrate from the Community Toolkit" section on each host page.

Also add the connect pages to the integrations sidebar, and update the
AppHost overview's Java pivot and shared sample to use
Aspire.Hosting.Java and AddSpringBootApp.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The Java connection examples omit dependencies required to compile or run the documented clients.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
What changed in this PR

Onboards official Java and Rust hosting integrations with comprehensive setup, connection, migration, debugging, telemetry, and publishing guidance.

Changes:

  • Reworks Java and Rust documentation into three-article integration guides.
  • Updates AppHost samples and navigation for first-party packages.
  • Standardizes AppHost terminology in the EF Core diagram.
File Description
src/​frontend/​src/​content/​docs/​ja/​get-started/​app-host.mdx Updates the Japanese Java AppHost example.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​rust/​rust-host.mdx Expands Rust hosting reference guidance.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​rust/​rust-get-started.mdx Rewrites the Rust introduction.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​rust/​rust-connect.mdx Adds Rust connection guidance.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​java/​java-host.mdx Expands Java hosting reference guidance.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​java/​java-get-started.mdx Rewrites the Java introduction.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​java/​java-connect.mdx Adds Java connection guidance.
src/​frontend/​src/​content/​docs/​get-started/​app-host.mdx Updates the Java AppHost overview.
src/​frontend/​src/​components/​SimpleAppHostCode.shared.ts Migrates the shared Java sample API.
src/​frontend/​src/​assets/​integrations/​efcore/​ef-core-aspire-architecture.excalidraw Updates the diagram source terminology.
src/​frontend/​src/​assets/​integrations/​efcore/​ef-core-aspire-architecture-light.svg Updates the rendered light diagram.
src/​frontend/​config/​sidebar/​integrations.topics.ts Adds Java and Rust connection pages.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


## Read Aspire configuration in your Java app

There's no Aspire client package for Java. A Java app reads the variables that Aspire injects through its framework's standard configuration mechanism. Each example configures the `orders` app from the preceding AppHost to call the `catalog` app and to use the `ordersdb` database. Only the framework differs.
@aspire-repo-bot

Copy link
Copy Markdown
Contributor

Frontend HTML artifact ready

The latest frontend build uploaded the frontend-dist artifact for PR #1794. Use the VS Code button below to open this PR with GitHub Artifacts Explorer and browse the built HTML locally.

VS Code: Open PR #1794 artifacts

This comment updates automatically when a new frontend build artifact is uploaded.

@IEvangelist
David Pine (IEvangelist) merged commit 341397a into release/13.6 Sep 29, 2026
17 checks passed
@IEvangelist
David Pine (IEvangelist) deleted the ievangelist-java-and-rust-integrations branch September 29, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants