Repository navigation
Add Go AppHost examples and parity coverage - #2438
Open
aaronpowell wants to merge 28 commits into
Open
aaronpowell wants to merge 28 commits into
aaronpowell wants to merge 28 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Check endpoint wrapper errors in existing Go examples. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document the Umami parameter serialization blocker. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Distinguish Floci run-only behavior from SDK parity gaps. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Align compile-only project APIs and surface model construction errors. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add ActiveMQ, Azure extensions, Dapr, Azure Dapr, Data API Builder, DbGate, Deno, and Elasticsearch extensions examples. Preserve the TypeScript graphs and use exported sidecar references for Dapr. Document the ActiveMQ preview Go SDK serialization blocker. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add Perl, PowerShell, Rust, SQL Database Projects, Stripe, SurrealDB, and Zitadel counterparts preserving the TypeScript graphs. Document preview limitations for SQL native loading and optional Zitadel resource serialization. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document ActiveMQ and SQL model validation limitations. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add Flare, Floci, Java, JavaScript extensions, k6, Keycloak PostgreSQL, Kind and Ngrok Go examples with generated-SDK regression tests. Preserve preview API limitations and document compile-only coverage for optional parameter handles and the run-only Floci graph. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 2438Or
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 2438" |
Align Go SDK pins and resolve the setup documentation conflict. Preserve the existing blocker evidence and invoke the Windows CLI shim through cmd.exe. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
4 of 10 tasks
* test: diagnose SQL polyglot restore failures Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * fix: isolate SQL polyglot tests from MSBuild locator Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
aaronpowell
marked this pull request as ready for review
November 13, 2026 03:56
aaronpowell
requested review from
Alirexaa,
ErikEJ,
FullStackChef,
Laurianti,
Odonno,
Omnideth,
WhitWaldo,
aviv86,
esskar,
fboucher,
jmezach,
justinyoo,
karmeli87,
martinjt,
oising,
paule96,
ppekrol,
shiranshalom,
tamirdresher and
tommasodotNET
as code owners
November 13, 2026 03:56
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Maintainer review is needed because reported publish checks used 17.1 rather than the pinned 17.0 CLI/SDK, while Linux SQL publishing and Docker-backed Go startup and health checks remain unverified.
No open issues 🎉
What changed in this PR
Expands Go AppHost examples alongside the existing TypeScript examples and connects them to the toolkit’s test infrastructure. Compilation and publish-model checks remain distinct where preview SDK or integration limitations apply.
Changes:
- Adds Go examples and supporting configuration, and updates the existing K3s example.
- Adds shared validation, per-example tests, SQL test environment handling, and affected-test selection coverage.
- Updates Go runtime setup and documents usage and known parity gaps.
| File | Description |
|---|---|
| tests/CommunityToolkit.Aspire.Testing/GoAppHostTest.cs | Adds shared restore, compilation, and optional publish-model checks. |
| tests/CommunityToolkit.Aspire.Hosting.Zitadel.Tests/GoAppHostTests.cs | Adds compile-only Zitadel coverage. |
| tests/CommunityToolkit.Aspire.Hosting.Tempo.Tests/GoAppHostTests.cs | Adds Tempo Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.SurrealDb.Tests/GoAppHostTests.cs | Adds SurrealDB Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Stripe.Tests/GoAppHostTests.cs | Adds Stripe Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Squad.Tests/GoAppHostTests.cs | Adds Squad Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Sqlite.Tests/GoAppHostTests.cs | Adds SQLite Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests/TypeScriptAppHostTests.cs | Applies SQL environment handling to TypeScript tests. |
| tests/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests/SqlPolyglotAppHostTestTests.cs | Tests environment restoration after failure. |
| tests/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests/SqlPolyglotAppHostTest.cs | Temporarily clears inherited MSBuild settings. |
| tests/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.Tests/GoAppHostTests.cs | Adds SQL Go checks with a Windows publish exception. |
| tests/CommunityToolkit.Aspire.Hosting.Solr.Tests/GoAppHostTests.cs | Adds Solr Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Sftp.Tests/GoAppHostTests.cs | Adds SFTP Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.SeaweedFS.Tests/GoAppHostTests.cs | Adds SeaweedFS Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Rust.Tests/GoAppHostTests.cs | Adds Rust integration Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.RedPanda.Tests/GoAppHostTests.cs | Adds Redpanda Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.RavenDB.Tests/GoAppHostTests.cs | Adds RavenDB Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Python.Extensions.Tests/GoAppHostTests.cs | Adds compile-only Python extensions coverage. |
| tests/CommunityToolkit.Aspire.Hosting.PowerShell.Tests/GoAppHostTests.cs | Adds PowerShell Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions.Tests/GoAppHostTests.cs | Adds PostgreSQL extensions Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/GoAppHostTests.cs | Adds Perl integration Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.PapercutSmtp.Tests/GoAppHostTests.cs | Adds Papercut SMTP Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector.Tests/GoAppHostTests.cs | Adds collector Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Ollama.Tests/GoAppHostTests.cs | Adds Ollama Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Ngrok.Tests/GoAppHostTests.cs | Adds ngrok Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.MySql.Extensions.Tests/GoAppHostTests.cs | Adds MySQL extensions Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Mosquitto.Tests/GoAppHostTests.cs | Adds Mosquitto Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions.Tests/GoAppHostTests.cs | Adds MongoDB extensions Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.MailPit.Tests/GoAppHostTests.cs | Adds Mailpit Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Loki.Tests/GoAppHostTests.cs | Adds Loki Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Logto.Tests/GoAppHostTests.cs | Adds Logto Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Listmonk.Tests/GoAppHostTests.cs | Adds listmonk Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.LavinMQ.Tests/GoAppHostTests.cs | Adds LavinMQ Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.KurrentDB.Tests/GoAppHostTests.cs | Adds KurrentDB Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Kind.Tests/GoAppHostTests.cs | Validates generated Go CRD-wait APIs. |
| tests/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.Tests/GoAppHostTests.cs | Adds compile-only Keycloak extensions coverage. |
| tests/CommunityToolkit.Aspire.Hosting.k6.Tests/GoAppHostTests.cs | Adds k6 Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.K3s.Tests/GoAppHostTests.cs | Adds K3s Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.JavaScript.Extensions.Tests/GoAppHostTests.cs | Adds JavaScript extensions Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Java.Tests/GoAppHostTests.cs | Adds Java integration Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests/GoAppHostTests.cs | Adds GO Feature Flag Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Flyway.Tests/GoAppHostTests.cs | Adds Flyway Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Floci.Tests/GoAppHostTests.cs | Adds compile-only Floci coverage. |
| tests/CommunityToolkit.Aspire.Hosting.Flare.Tests/GoAppHostTests.cs | Adds compile-only Flare coverage. |
| tests/CommunityToolkit.Aspire.Hosting.Flagd.Tests/GoAppHostTests.cs | Adds flagd Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions.Tests/GoAppHostTests.cs | Adds Elasticsearch extensions Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.DuckDB.Tests/GoAppHostTests.cs | Adds DuckDB Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Deno.Tests/GoAppHostTests.cs | Adds Deno integration Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Dbx.Tests/GoAppHostTests.cs | Adds Dbx Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Dbx.Tests/AffectedGoAppHostSelectionTests.cs | Tests Go fixture-to-test selection. |
| tests/CommunityToolkit.Aspire.Hosting.DbGate.Tests/GoAppHostTests.cs | Adds DbGate Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Dapr.Tests/GoAppHostTests.cs | Adds Dapr Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Chroma.Tests/GoAppHostTests.cs | Adds Chroma Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Azure.Extensions.Tests/GoAppHostTests.cs | Adds Azure extensions Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder.Tests/GoAppHostTests.cs | Adds Data API builder Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Azure.Dapr.Tests/GoAppHostTests.cs | Adds Azure Dapr Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.Adminer.Tests/GoAppHostTests.cs | Adds Adminer Go validation. |
| tests/CommunityToolkit.Aspire.Hosting.ActiveMQ.Tests/GoAppHostTests.cs | Adds compile-only ActiveMQ coverage. |
| examples/zitadel/CommunityToolkit.Aspire.Hosting.Zitadel.AppHost.Go/README.md | Documents usage and credential serialization limits. |
| examples/zitadel/CommunityToolkit.Aspire.Hosting.Zitadel.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/zitadel/CommunityToolkit.Aspire.Hosting.Zitadel.AppHost.Go/aspire.config.json | Configures Go, SDK, and Zitadel dependencies. |
| examples/zitadel/CommunityToolkit.Aspire.Hosting.Zitadel.AppHost.Go/apphost.go | Demonstrates credentials and two database configurations. |
| examples/tempo/CommunityToolkit.Aspire.Hosting.Tempo.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/tempo/CommunityToolkit.Aspire.Hosting.Tempo.AppHost.Go/aspire.config.json | Configures Go, SDK, and Tempo dependency. |
| examples/tempo/CommunityToolkit.Aspire.Hosting.Tempo.AppHost.Go/apphost.go | Demonstrates Tempo endpoints, storage, and configuration. |
| examples/surrealdb/CommunityToolkit.Aspire.Hosting.SurrealDb.AppHost.Go/seed.surql | Supplies a database initialization script. |
| examples/surrealdb/CommunityToolkit.Aspire.Hosting.SurrealDb.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/surrealdb/CommunityToolkit.Aspire.Hosting.SurrealDb.AppHost.Go/data/.gitkeep | Preserves the bind-mount directory. |
| examples/surrealdb/CommunityToolkit.Aspire.Hosting.SurrealDb.AppHost.Go/aspire.config.json | Configures Go, SDK, and SurrealDB dependency. |
| examples/surrealdb/CommunityToolkit.Aspire.Hosting.SurrealDb.AppHost.Go/apphost.go | Demonstrates servers, namespaces, databases, and initialization. |
| examples/stripe/CommunityToolkit.Aspire.Hosting.Stripe.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/stripe/CommunityToolkit.Aspire.Hosting.Stripe.AppHost.Go/aspire.config.json | Configures Go, SDK, and Stripe dependency. |
| examples/stripe/CommunityToolkit.Aspire.Hosting.Stripe.AppHost.Go/apphost.go | Demonstrates webhook targets and signing-secret references. |
| examples/squad/CommunityToolkit.Aspire.Hosting.Squad.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/squad/CommunityToolkit.Aspire.Hosting.Squad.AppHost.Go/aspire.config.json | Configures Go, SDK, and Squad dependency. |
| examples/squad/CommunityToolkit.Aspire.Hosting.Squad.AppHost.Go/apphost.go | Reuses existing research and development squads. |
| examples/sqlite/CommunityToolkit.Aspire.Hosting.Sqlite.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/sqlite/CommunityToolkit.Aspire.Hosting.Sqlite.AppHost.Go/aspire.config.json | Configures Go, SDK, and SQLite dependency. |
| examples/sqlite/CommunityToolkit.Aspire.Hosting.Sqlite.AppHost.Go/apphost.go | Demonstrates SQLite databases and browser resources. |
| examples/sql-database-projects/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.Go/README.md | Documents usage and Windows native-loading limitations. |
| examples/sql-database-projects/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/sql-database-projects/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.Go/aspire.config.json | Configures Go, SDK, and SQL dependencies. |
| examples/sql-database-projects/CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects.AppHost.Go/apphost.go | Demonstrates managed and existing SQL deployment targets. |
| examples/solr/CommunityToolkit.Aspire.Hosting.Solr.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/solr/CommunityToolkit.Aspire.Hosting.Solr.AppHost.Go/aspire.config.json | Configures Go, SDK, and Solr dependency. |
| examples/solr/CommunityToolkit.Aspire.Hosting.Solr.AppHost.Go/apphost.go | Demonstrates Solr storage and compile-only configsets. |
| examples/sftp/CommunityToolkit.Aspire.Hosting.Sftp.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/sftp/CommunityToolkit.Aspire.Hosting.Sftp.AppHost.Go/aspire.config.json | Configures Go, SDK, and SFTP dependency. |
| examples/sftp/CommunityToolkit.Aspire.Hosting.Sftp.AppHost.Go/apphost.go | Demonstrates SFTP users, keys, and endpoints. |
| examples/seaweedfs/SeaweedFS.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/seaweedfs/SeaweedFS.AppHost.Go/aspire.config.json | Configures Go, SDK, and SeaweedFS dependency. |
| examples/seaweedfs/SeaweedFS.AppHost.Go/apphost.go | Demonstrates S3 and filer resources. |
| examples/rust/CommunityToolkit.Aspire.Hosting.Rust.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/rust/CommunityToolkit.Aspire.Hosting.Rust.AppHost.Go/aspire.config.json | Configures Go, SDK, and Rust integration dependency. |
| examples/rust/CommunityToolkit.Aspire.Hosting.Rust.AppHost.Go/apphost.go | Hosts the existing Rust API with health checks. |
| examples/redpanda/CommunityToolkit.Aspire.Hosting.RedPanda.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/redpanda/CommunityToolkit.Aspire.Hosting.RedPanda.AppHost.Go/aspire.config.json | Configures Go, SDK, and Redpanda dependency. |
| examples/redpanda/CommunityToolkit.Aspire.Hosting.RedPanda.AppHost.Go/apphost.go | Demonstrates Redpanda storage and port configuration. |
| examples/ravendb/CommunityToolkit.Aspire.Hosting.RavenDB.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/ravendb/CommunityToolkit.Aspire.Hosting.RavenDB.AppHost.Go/aspire.config.json | Configures Go, SDK, RavenDB, and .NET dependencies. |
| examples/ravendb/CommunityToolkit.Aspire.Hosting.RavenDB.AppHost.Go/apphost.go | Connects RavenDB to the existing API service. |
| examples/python/CommunityToolkit.Aspire.Hosting.Python.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/python/CommunityToolkit.Aspire.Hosting.Python.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and Python extensions dependency. |
| examples/python/CommunityToolkit.Aspire.Hosting.Python.Extensions.AppHost.Go/apphost.go | Hosts the existing Streamlit example. |
| examples/powershell/CommunityToolkit.Aspire.PowerShell.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/powershell/CommunityToolkit.Aspire.PowerShell.AppHost.Go/aspire.config.json | Configures Go, SDK, and PowerShell dependency. |
| examples/powershell/CommunityToolkit.Aspire.PowerShell.AppHost.Go/apphost.go | Demonstrates scripts, arguments, references, and ordering. |
| examples/postgres-ext/CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/postgres-ext/CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and PostgreSQL extensions dependency. |
| examples/postgres-ext/CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions.AppHost.Go/apphost.go | Demonstrates database tools and Flyway operations. |
| examples/perl/CpanmApiIntegration.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/perl/CpanmApiIntegration.AppHost.Go/aspire.config.json | Configures Go, SDK, and Perl dependency. |
| examples/perl/CpanmApiIntegration.AppHost.Go/apphost.go | Demonstrates Perl package installation and API consumption. |
| examples/papercut/CommunityToolkit.Aspire.Hosting.PapercutSmtp.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/papercut/CommunityToolkit.Aspire.Hosting.PapercutSmtp.AppHost.Go/aspire.config.json | Configures Go, SDK, and Papercut SMTP dependency. |
| examples/papercut/CommunityToolkit.Aspire.Hosting.PapercutSmtp.AppHost.Go/apphost.go | Demonstrates default and configured SMTP resources. |
| examples/opentelemetry-collector/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/opentelemetry-collector/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector.AppHost.Go/aspire.config.json | Configures Go, SDK, and collector dependency. |
| examples/opentelemetry-collector/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector.AppHost.Go/apphost.go | Demonstrates collector configuration and application forwarding. |
| examples/ollama/CommunityToolkit.Aspire.Hosting.Ollama.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/ollama/CommunityToolkit.Aspire.Hosting.Ollama.AppHost.Go/aspire.config.json | Configures Go, SDK, and Ollama dependency. |
| examples/ollama/CommunityToolkit.Aspire.Hosting.Ollama.AppHost.Go/apphost.go | Demonstrates models, storage, and Open WebUI. |
| examples/ngrok/CommunityToolkit.Aspire.Hosting.Ngrok.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/ngrok/CommunityToolkit.Aspire.Hosting.Ngrok.AppHost.Go/aspire.config.json | Configures Go, SDK, and ngrok dependency. |
| examples/ngrok/CommunityToolkit.Aspire.Hosting.Ngrok.AppHost.Go/apphost.go | Demonstrates authentication and tunnel configuration. |
| examples/mysql-ext/CommunityToolkit.Aspire.Hosting.MySql.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/mysql-ext/CommunityToolkit.Aspire.Hosting.MySql.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and MySQL dependencies. |
| examples/mysql-ext/CommunityToolkit.Aspire.Hosting.MySql.Extensions.AppHost.Go/apphost.go | Demonstrates MySQL with Adminer and DbGate. |
| examples/mosquitto/CommunityToolkit.Aspire.Hosting.Mosquitto.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/mosquitto/CommunityToolkit.Aspire.Hosting.Mosquitto.AppHost.Go/aspire.config.json | Configures Go, SDK, and Mosquitto dependency. |
| examples/mosquitto/CommunityToolkit.Aspire.Hosting.Mosquitto.AppHost.Go/apphost.go | Demonstrates broker storage and connection properties. |
| examples/mongodb-ext/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/mongodb-ext/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and MongoDB extensions dependency. |
| examples/mongodb-ext/CommunityToolkit.Aspire.Hosting.MongoDB.Extensions.AppHost.Go/apphost.go | Demonstrates MongoDB databases and DbGate integration. |
| examples/mailpit/CommunityToolkit.Aspire.Hosting.MailPit.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/mailpit/CommunityToolkit.Aspire.Hosting.MailPit.AppHost.Go/aspire.config.json | Configures Go, SDK, and Mailpit dependency. |
| examples/mailpit/CommunityToolkit.Aspire.Hosting.MailPit.AppHost.Go/apphost.go | Demonstrates Mailpit ports and storage options. |
| examples/loki/CommunityToolkit.Aspire.Hosting.Loki.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/loki/CommunityToolkit.Aspire.Hosting.Loki.AppHost.Go/aspire.config.json | Configures Go, SDK, and Loki dependency. |
| examples/loki/CommunityToolkit.Aspire.Hosting.Loki.AppHost.Go/apphost.go | Demonstrates Loki endpoints, storage, and configuration. |
| examples/logto/CommunityToolkit.Aspire.Hosting.Logto.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/logto/CommunityToolkit.Aspire.Hosting.Logto.AppHost.Go/aspire.config.json | Configures Go, SDK, Logto, and .NET dependencies. |
| examples/logto/CommunityToolkit.Aspire.Hosting.Logto.AppHost.Go/apphost.go | Connects Logto, backing services, and authentication clients. |
| examples/listmonk/CommunityToolkit.Aspire.Hosting.Listmonk.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/listmonk/CommunityToolkit.Aspire.Hosting.Listmonk.AppHost.Go/aspire.config.json | Configures Go, SDK, and listmonk dependency. |
| examples/listmonk/CommunityToolkit.Aspire.Hosting.Listmonk.AppHost.Go/apphost.go | Demonstrates database, credentials, and runtime settings. |
| examples/lavinmq/CommunityToolkit.Aspire.Hosting.LavinMQ.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/lavinmq/CommunityToolkit.Aspire.Hosting.LavinMQ.AppHost.Go/aspire.config.json | Configures Go, SDK, and LavinMQ dependency. |
| examples/lavinmq/CommunityToolkit.Aspire.Hosting.LavinMQ.AppHost.Go/apphost.go | Demonstrates broker ports and storage options. |
| examples/kurrentdb/CommunityToolkit.Aspire.Hosting.KurrentDB.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/kurrentdb/CommunityToolkit.Aspire.Hosting.KurrentDB.AppHost.Go/aspire.config.json | Configures Go, SDK, and KurrentDB dependency. |
| examples/kurrentdb/CommunityToolkit.Aspire.Hosting.KurrentDB.AppHost.Go/apphost.go | Demonstrates volume and bind-mount storage. |
| examples/kind/CommunityToolkit.Aspire.Hosting.Kind.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/kind/CommunityToolkit.Aspire.Hosting.Kind.AppHost.Go/aspire.config.json | Configures Go, SDK, and Kind dependency. |
| examples/kind/CommunityToolkit.Aspire.Hosting.Kind.AppHost.Go/apphost.go | Exercises CRD-wait callbacks and property round-trips. |
| examples/keycloak-postgres/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.AppHost.Go/README.md | Explains compile-only coverage and serialization limits. |
| examples/keycloak-postgres/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/keycloak-postgres/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and Keycloak extensions dependency. |
| examples/keycloak-postgres/CommunityToolkit.Aspire.Hosting.Keycloak.Extensions.AppHost.Go/apphost.go | Preserves PostgreSQL credentials and Keycloak signature coverage. |
| examples/k6/CommunityToolkit.Aspire.Hosting.k6.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/k6/CommunityToolkit.Aspire.Hosting.k6.AppHost.Go/aspire.config.json | Configures Go, SDK, and k6 dependency. |
| examples/k6/CommunityToolkit.Aspire.Hosting.k6.AppHost.Go/apphost.go | Demonstrates scripts, browser support, and telemetry. |
| examples/k3s/CommunityToolkit.Aspire.Hosting.K3s.AppHost.Go/aspire.config.json | Removes the experimental flag and adds .NET hosting. |
| examples/k3s/CommunityToolkit.Aspire.Hosting.K3s.AppHost.Go/apphost.go | Adds error checks and migrates project creation calls. |
| examples/javascript-ext/CommunityToolkit.Aspire.Hosting.JavaScript.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/javascript-ext/CommunityToolkit.Aspire.Hosting.JavaScript.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and JavaScript extensions dependency. |
| examples/javascript-ext/CommunityToolkit.Aspire.Hosting.JavaScript.Extensions.AppHost.Go/apphost.go | Demonstrates Nx, Turborepo, and package-manager options. |
| examples/java/CommunityToolkit.Aspire.Hosting.Java.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/java/CommunityToolkit.Aspire.Hosting.Java.AppHost.Go/aspire.config.json | Configures Go, SDK, and Java dependency. |
| examples/java/CommunityToolkit.Aspire.Hosting.Java.AppHost.Go/apphost.go | Demonstrates Java containers, JARs, and build tools. |
| examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.AppHost.Go/aspire.config.json | Configures Go, SDK, and feature-flag dependency. |
| examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.AppHost.Go/apphost.go | Demonstrates configuration mounts, logging, and endpoints. |
| examples/flyway/CommunityToolkit.Aspire.Hosting.Flyway.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/flyway/CommunityToolkit.Aspire.Hosting.Flyway.AppHost.Go/aspire.config.json | Configures Go, SDK, and Flyway dependency. |
| examples/flyway/CommunityToolkit.Aspire.Hosting.Flyway.AppHost.Go/apphost.go | Demonstrates Flyway arguments and telemetry opt-in. |
| examples/floci/CommunityToolkit.Aspire.Hosting.Floci.AppHost.Go/README.md | Documents setup and run-only Service Bus behavior. |
| examples/floci/CommunityToolkit.Aspire.Hosting.Floci.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/floci/CommunityToolkit.Aspire.Hosting.Floci.AppHost.Go/aspire.config.json | Configures Go, SDK, Floci, and .NET dependencies. |
| examples/floci/CommunityToolkit.Aspire.Hosting.Floci.AppHost.Go/apphost.go | Demonstrates cloud emulators, shared UI, and Service Bus. |
| examples/floci/CommunityToolkit.Aspire.Hosting.Floci.AppHost.Go/.gitignore | Excludes generated SDK and local runtime data. |
| examples/flare/CommunityToolkit.Aspire.Hosting.Flare.AppHost.Go/README.md | Documents dashboard-parameter serialization limitations. |
| examples/flare/CommunityToolkit.Aspire.Hosting.Flare.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/flare/CommunityToolkit.Aspire.Hosting.Flare.AppHost.Go/aspire.config.json | Configures Go, SDK, Flare, and .NET dependencies. |
| examples/flare/CommunityToolkit.Aspire.Hosting.Flare.AppHost.Go/apphost.go | Demonstrates Flare services and API telemetry export. |
| examples/flare/CommunityToolkit.Aspire.Hosting.Flare.AppHost.Go/.gitignore | Excludes generated Aspire files. |
| examples/flagd/CommunityToolkit.Aspire.Hosting.Flagd.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/flagd/CommunityToolkit.Aspire.Hosting.Flagd.AppHost.Go/aspire.config.json | Configures Go, SDK, and flagd dependency. |
| examples/flagd/CommunityToolkit.Aspire.Hosting.Flagd.AppHost.Go/apphost.go | Demonstrates flag-file synchronization and endpoints. |
| examples/elasticsearch-ext/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions.AppHost.Go/README.md | Explains compile-only Elasticvue coverage. |
| examples/elasticsearch-ext/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/elasticsearch-ext/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and Elasticsearch extensions dependency. |
| examples/elasticsearch-ext/CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions.AppHost.Go/apphost.go | Covers Elasticvue signatures without creating resources. |
| examples/duckdb/CommunityToolkit.Aspire.DuckDB.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/duckdb/CommunityToolkit.Aspire.DuckDB.AppHost.Go/aspire.config.json | Configures Go, SDK, DuckDB, and .NET dependencies. |
| examples/duckdb/CommunityToolkit.Aspire.DuckDB.AppHost.Go/apphost.go | Connects DuckDB to the existing API. |
| examples/deno/CommunityToolkit.Aspire.Hosting.Deno.AppHost.Go/README.md | Documents usage and Deno prerequisites. |
| examples/deno/CommunityToolkit.Aspire.Hosting.Deno.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/deno/CommunityToolkit.Aspire.Hosting.Deno.AppHost.Go/aspire.config.json | Configures Go, SDK, and Deno dependency. |
| examples/deno/CommunityToolkit.Aspire.Hosting.Deno.AppHost.Go/apphost.go | Demonstrates Deno tasks, permissions, and health checks. |
| examples/dbx/CommunityToolkit.Aspire.Hosting.Dbx.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/dbx/CommunityToolkit.Aspire.Hosting.Dbx.AppHost.Go/aspire.config.json | Configures Go, SDK, and Dbx dependency. |
| examples/dbx/CommunityToolkit.Aspire.Hosting.Dbx.AppHost.Go/apphost.go | Demonstrates Dbx port and endpoint configuration. |
| examples/dbgate/CommunityToolkit.Aspire.Hosting.DbGate.AppHost.Go/README.md | Documents usage and alternative storage coverage. |
| examples/dbgate/CommunityToolkit.Aspire.Hosting.DbGate.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/dbgate/CommunityToolkit.Aspire.Hosting.DbGate.AppHost.Go/aspire.config.json | Configures Go, SDK, and DbGate dependency. |
| examples/dbgate/CommunityToolkit.Aspire.Hosting.DbGate.AppHost.Go/apphost.go | Demonstrates DbGate with a temporary bind mount. |
| examples/data-api-builder/CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder.AppHost.Go/README.md | Documents SQL resources and reused configuration. |
| examples/data-api-builder/CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/data-api-builder/CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder.AppHost.Go/aspire.config.json | Configures Go, SDK, and SQL/API builder dependencies. |
| examples/data-api-builder/CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder.AppHost.Go/apphost.go | Connects two API builders to initialized SQL Server. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Dapr.AppHost.Go/README.md | Documents sidecar references and runtime prerequisites. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Dapr.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Dapr.AppHost.Go/aspire.config.json | Configures Go, SDK, Dapr, and .NET dependencies. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Dapr.AppHost.Go/apphost.go | Connects three services through Dapr sidecars. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Azure.Dapr.AppHost.Go/README.md | Documents Azure publishing and local Dapr execution. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Azure.Dapr.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Azure.Dapr.AppHost.Go/aspire.config.json | Configures Go, SDK, Azure Dapr, and .NET dependencies. |
| examples/dapr/CommunityToolkit.Aspire.Hosting.Azure.Dapr.AppHost.Go/apphost.go | Demonstrates Azure Container Apps with Dapr components. |
| examples/chromadb/CommunityToolkit.Aspire.Hosting.Chroma.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/chromadb/CommunityToolkit.Aspire.Hosting.Chroma.AppHost.Go/aspire.config.json | Configures Go, SDK, and Chroma dependency. |
| examples/chromadb/CommunityToolkit.Aspire.Hosting.Chroma.AppHost.Go/apphost.go | Demonstrates Chroma storage and connection properties. |
| examples/azure-ext/CommunityToolkit.Aspire.Azure.Extensions.AppHost.Go/README.md | Documents emulator setup and publish usage. |
| examples/azure-ext/CommunityToolkit.Aspire.Azure.Extensions.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/azure-ext/CommunityToolkit.Aspire.Azure.Extensions.AppHost.Go/aspire.config.json | Configures Go, SDK, and Azure extensions dependency. |
| examples/azure-ext/CommunityToolkit.Aspire.Azure.Extensions.AppHost.Go/apphost.go | Demonstrates Azurite and Azure Storage Explorer. |
| examples/adminer/CommunityToolkit.Aspire.Hosting.Adminer.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/adminer/CommunityToolkit.Aspire.Hosting.Adminer.AppHost.Go/aspire.config.json | Configures Go, SDK, and Adminer dependency. |
| examples/adminer/CommunityToolkit.Aspire.Hosting.Adminer.AppHost.Go/apphost.go | Demonstrates Adminer host-port configuration. |
| examples/activemq/CommunityToolkit.Aspire.Hosting.ActiveMQ.AppHost.Go/README.md | Documents broker setup and credential serialization limits. |
| examples/activemq/CommunityToolkit.Aspire.Hosting.ActiveMQ.AppHost.Go/go.mod | Declares the Go module and generated SDK dependency. |
| examples/activemq/CommunityToolkit.Aspire.Hosting.ActiveMQ.AppHost.Go/aspire.config.json | Configures Go, SDK, and ActiveMQ dependency. |
| examples/activemq/CommunityToolkit.Aspire.Hosting.ActiveMQ.AppHost.Go/apphost.go | Demonstrates Classic and Artemis broker configurations. |
| eng/testing/select-affected-tests.cs | Maps changed Go fixtures to their test projects. |
| docs/setup.md | Updates Go prerequisites and AppHost commands. |
| docs/go-apphost-parity.md | Records SDK, publishing, and platform limitations. |
| .github/actions/setup-runtimes-caching/action.yml | Updates CI setup to Go 1.26. |
Review effort: Balanced
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked issue: Not identified; prior maintainer approval is unverified.
Add 52 Go AppHost examples alongside the existing K3s example: 53 of 59 TypeScript examples now have Go counterparts. This is a draft: four counterparts compile but cannot construct their models, and six remain absent because of the Go SDK limitation below. Existing TypeScript examples are retained.
Add shared Go SDK restore, compilation and publish-model tests, one test mapping per Go example, affected-test selection and regression coverage, Go runtime setup, and contributor documentation. See
docs/go-apphost-parity.mdfor detailed gaps.PR Checklist
Other information
SDK blocker: Generated optional resource-handle parameters are pointers to interfaces that are not unwrapped during serialization, resulting in
INVALID_ARGUMENTduring model construction. Four graph-preserving examples are present and compile-only: ActiveMQ, Flare, Keycloak/Postgres, and Zitadel. Six examples have no Go files: MCP Inspector, Meilisearch, Redis extensions, RustFs, SQL Server extensions, and Umami. Credentials and resource references were not dropped to mask this defect.Validation: With Go 1.26.11 and Aspire CLI 17.1.0-preview.1.26559.8, all 53 examples passed
aspire restore --apphost apphost.go --non-interactiveandgo test ./...; 46 Windows publish-model checks passed usingaspire publish --apphost apphost.go --list-steps --non-interactive. Shared Go test/discovery coverage and selector regression tests were added. Docker-backed end-to-end health tests were not run because Docker was unavailable.Python extensions run in run mode but publish currently fails because of a duplicate
dashboardresource. Floci Service Bus is run-only by design and was checked in run mode, not publish mode. SQL Database Projects compiles but Windows model construction is blocked by nativehostfxrloading; Linux publish remains unverified. These are distinct from the optional-handle serialization bug.Go AppHost support is preview: upstream Go support, experimental flag removal, and draft release notes.