Skip to content

feat: add bacon hosting integration#1302

Open
Odonno wants to merge 1 commit into
CommunityToolkit:mainfrom
Odonno:feat/bacon
Open

feat: add bacon hosting integration#1302
Odonno wants to merge 1 commit into
CommunityToolkit:mainfrom
Odonno:feat/bacon

Conversation

@Odonno
Copy link
Copy Markdown
Contributor

@Odonno Odonno commented May 10, 2026

I often, if not always, use bacon to run a Rust app in Aspire. Bacon is the best solution to run background jobs for Rust apps.

Part of #1048

PR Checklist

  • Created a feature/dev branch in your fork (vs. submitting directly from a commit on main)
  • Based off latest main branch of toolkit
  • PR doesn't include merge commits (always rebase on top of our main, if needed)
  • New integration
    • Docs are written
    • Added description of major feature to project description for NuGet package (4000 total character limit, so don't push entire description over that)
  • Tests for the changes have been added (for bug fixes / features) (if applicable)
  • Contains NO breaking changes
  • Every new API (including internal ones) has full XML docs
  • Code follows all style conventions

Other information

Note: on how bacon works, the default command run if none provided is bacon check, equivalent to cargo check. It has no interest to run check by default for an Aspire resource. That's why I made it consistent with AddRustApp to use run command by default. But the main difference is that I allow any command override (not just run <args>), in order to allow additional tasks like check, clippy, test, etc..

Question: I would want to do the same for AddRustApp but that introduce a breaking change. One would want to have a "test" run for example.

For information, the default solution cargo-watch is no longer maintained and Bacon is one of the recommended solution.

@Odonno Odonno requested a review from Alirexaa as a code owner May 10, 2026 10:27
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 10, 2026

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 1302

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 1302"

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.

1 participant