Skip to content

Bring Go deployment verification and AppHost samples up to date - #2148

Open
David Pine (IEvangelist) wants to merge 1 commit into
release/17.0from
ievangelist-go-deployment-parity
Open

David Pine (IEvangelist) wants to merge 1 commit into
release/17.0from
ievangelist-go-deployment-parity

Conversation

@IEvangelist

@IEvangelist David Pine (IEvangelist) commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Summary

Brings the Go experience on aspire.dev in line with C# and TypeScript, and updates Go samples to the generated SDK shipped from microsoft/aspire release/17.0.

Deploy your first app (get-started/deploy-first-app.mdx)

  • Adds a Go Verify your deployment pivot (Docker Compose and Azure tabs) matching the C# and TypeScript UX.
  • Reuses the existing TypeScript starter screenshots (javascript-starter-light.png / javascript-starter-dark.png) by the same import path. The Go starter is the same React weather app, so no new image files are added.
  • Fixes the duplicate Post deployment output entries in On this page. Each language pivot emitted its own ### heading; there is now one shared heading.

Landing page AppHost builder (AppHostBuilder.astro)

  • The Go tab's API service now uses a Go API (AddGoApp) instead of a Node API.

Go samples across the docs

  • Replaces pointer-based &aspire.<Method>Options{Field: aspire.XxxPtr(...)} arguments with the generated typed options, e.g. WithHttpEndpoint(aspire.HttpEndpointPort(8080), aspire.HttpEndpointEnv("PORT")), AddGoApp("api", "./api", aspire.AddGoAppPackagePath("./cmd/server")), app.Run(aspire.RunCancellationToken(token)).
  • Updates app-host/go-apphost-conventions.mdx to describe typed options instead of options structs and pointer helpers.
  • DTO inputs that the generated SDK still models as structs with pointer fields keep that shape because it's the only API the SDK exposes. Examples are DelveServerOptions (via aspire.DelveServerOptions2(&aspire.DelveServerOptions{...})), AddContainerOptions, FoundryModel, and property setters such as SetName(aspire.StringPtr(...)).

Third-party links and affiliations

None

Validation

  • Generated SDK source: Aspire CLI 17.0.0+a377162f5b, which is 16 commits ahead of the latest Go generator change on release/17.0 ([release/17.0] Consolidate ordered Go AppHost backports aspire#22171), installed via the staging channel.
  • Scaffolded aspire new aspire-go-starter and restored the generated Go SDK, then extracted every Go code block from the changed .mdx files plus the landing-page goCodes (424 samples). Each sample compiled with go test -vet=off against the SDK for its integrations. Passed (0 errors across all 13 SDK scopes).
  • Recompiled the WithDelveServer samples from go-host.mdx against a freshly generated SDK with go vet .. Passed.
  • Added Playwright E2E coverage in tests/e2e/custom-components.spec.ts and tests/e2e/pivot-selector.spec.ts (Go API in every AppHost builder variant; one shared deployment-output heading; Go reuses the React verification images). These tests weren't run locally and will run in CI.
  • bun run build wasn't run locally; CI covers it.

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

Copy link
Copy Markdown
Contributor

Frontend HTML artifact ready

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

VS Code: Open PR #2148 artifacts

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

@IEvangelist
David Pine (IEvangelist) marked this pull request as ready for review November 13, 2026 22:19
Copilot AI balanced review requested due to automatic review settings November 13, 2026 22:19

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.

🔵 Needs a closer look

The migration spans 424 samples across 13 generated Go SDK scopes, but compilation and browser tests could not run locally, requiring human confirmation of staging-SDK validation and CI E2E results.

No open issues 🎉

What changed in this PR

Updates aspire.dev’s Go documentation and interactive samples to match the generated Aspire SDK, while bringing deployment verification closer to the C# and TypeScript experience.

Changes:

  • Migrates Go examples to typed options, preserves required pointer-based inputs, and removes unused variables.
  • Enhances Go deployment verification with shared React screenshots and consolidates the deployment-output heading.
  • Switches the landing-page Go API examples to AddGoApp and adds browser tests for builder variants and deployment pivots.
File Description
src/​frontend/​tests/​e2e/​pivot-selector.spec.ts Tests the shared heading, Go verification tabs, and reused images.
src/​frontend/​tests/​e2e/​custom-components.spec.ts Tests Go API examples across all builder variants.
src/​frontend/​src/​content/​docs/​integrations/​observability/​seq/​seq-host.mdx Migrates secret and bind-mount options.
src/​frontend/​src/​content/​docs/​integrations/​messaging/​rabbitmq/​rabbitmq-host.mdx Migrates storage, credentials, and management options.
src/​frontend/​src/​content/​docs/​integrations/​messaging/​nats/​nats-host.mdx Migrates storage and credential options.
src/​frontend/​src/​content/​docs/​integrations/​messaging/​apache-kafka/​apache-kafka-host.mdx Migrates Kafka UI and storage options.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​go/​go-host.mdx Updates build, endpoint, and debugging examples; fixes a code fence.
src/​frontend/​src/​content/​docs/​integrations/​frameworks/​dotnet/​dotnet-host.mdx Migrates endpoint and project options.
src/​frontend/​src/​content/​docs/​integrations/​dotnet/​project-resources.mdx Updates Go project and endpoint configuration.
src/​frontend/​src/​content/​docs/​integrations/​devtools/​dev-tunnels.mdx Migrates tunnel and endpoint options.
src/​frontend/​src/​content/​docs/​integrations/​devtools/​browser-logs.mdx Migrates browser logging options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​surrealdb/​surrealdb-host.mdx Migrates password configuration.
src/​frontend/​src/​content/​docs/​integrations/​databases/​sqlite/​sqlite-host.mdx Migrates database path and filename options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​sql-server/​sql-server-host.mdx Migrates password configuration.
src/​frontend/​src/​content/​docs/​integrations/​databases/​sql-server/​sql-server-extensions.mdx Migrates Dbx container options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​ravendb/​ravendb-host.mdx Migrates database creation options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​qdrant/​qdrant-host.mdx Migrates API-key configuration.
src/​frontend/​src/​content/​docs/​integrations/​databases/​postgres/​postgresql-extensions.mdx Migrates Dbx container options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​postgres/​postgres-host.mdx Migrates administration, storage, and credential options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​mysql/​mysql-host.mdx Migrates administration, storage, and connection options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​mysql/​mysql-extensions.mdx Migrates Dbx container options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​mongodb/​mongodb-host.mdx Migrates TLS, credentials, replica-set, and administration options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​mongodb/​mongodb-extensions.mdx Migrates Dbx container options.
src/​frontend/​src/​content/​docs/​integrations/​databases/​milvus/​milvus-host.mdx Migrates API-key configuration.
src/​frontend/​src/​content/​docs/​integrations/​databases/​meilisearch/​meilisearch-host.mdx Migrates master-key configuration.
src/​frontend/​src/​content/​docs/​integrations/​databases/​efcore/​azure-sql/​azure-sql-host.mdx Migrates existing-resource configuration.
src/​frontend/​src/​content/​docs/​integrations/​compute/​kubernetes.mdx Migrates endpoint, Helm, volume, and manifest options.
src/​frontend/​src/​content/​docs/​integrations/​compute/​k3s.mdx Migrates cluster, image, Helm, and service options.
src/​frontend/​src/​content/​docs/​integrations/​compute/​floci.mdx Migrates cloud emulator and UI options.
src/​frontend/​src/​content/​docs/​integrations/​compute/​docker.mdx Migrates dashboard, Dockerfile, endpoint, and registry options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​customize-resources.mdx Migrates the secret parameter option.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-web-pubsub/​azure-web-pubsub-host.mdx Migrates hub and event-handler options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-virtual-network.mdx Migrates address-prefix options and removes unused variables.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-storage-tables/​azure-storage-tables-host.mdx Migrates emulator and bind-mount options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-storage-queues/​azure-storage-queues-host.mdx Migrates emulator and bind-mount options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-storage-datalake.mdx Migrates filesystem naming and removes unused variables.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-storage-blobs/​azure-storage-blobs-host.mdx Migrates container naming and emulator options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-service-bus/​azure-service-bus-host.mdx Migrates emulator callbacks.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-postgresql/​azure-postgresql-host.mdx Migrates database naming and secret options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-openai/​azure-openai-host.mdx Migrates existing-resource configuration.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-key-vault/​azure-key-vault-host.mdx Migrates existing-resource and secret options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-event-hubs/​azure-event-hubs-host.mdx Migrates emulator callbacks.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-data-explorer.mdx Migrates the emulator callback.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-cosmos-db/​azure-cosmos-db-host.mdx Migrates emulator and existing-resource options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-container-registry/​azure-container-registry-host.mdx Migrates existing-registry and purge-task options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-cache-redis/​azure-cache-redis-host.mdx Migrates existing-resource configuration.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-app-service/​azure-app-service-host.mdx Migrates website, deployment-slot, and health-check options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-app-configuration/​azure-app-configuration-host.mdx Migrates emulator and existing-resource options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​azure-ai-foundry/​azure-ai-foundry-host.mdx Migrates tool, model, agent, endpoint, and resource options.
src/​frontend/​src/​content/​docs/​integrations/​cloud/​azure/​ai-compatibility-matrix.mdx Migrates model deployment options.
src/​frontend/​src/​content/​docs/​integrations/​caching/​valkey/​valkey-host.mdx Migrates storage, persistence, and credential options.
src/​frontend/​src/​content/​docs/​integrations/​caching/​redis/​redis-host.mdx Migrates storage, persistence, credentials, and administration options.
src/​frontend/​src/​content/​docs/​integrations/​caching/​garnet/​garnet-host.mdx Migrates storage, persistence, and credential options.
src/​frontend/​src/​content/​docs/​integrations/​ai/​openai/​openai-host.mdx Migrates secret options and removes unused variables.
src/​frontend/​src/​content/​docs/​integrations/​ai/​ollama/​ollama-host.mdx Migrates GPU and port options; removes unused variables.
src/​frontend/​src/​content/​docs/​get-started/​deploy-first-app.mdx Shares the output heading and enhances Go deployment verification.
src/​frontend/​src/​content/​docs/​get-started/​add-aspire-existing-app.mdx Migrates container and Dockerfile endpoint options.
src/​frontend/​src/​content/​docs/​app-host/​go-apphost.mdx Updates endpoint examples and removes unused variables.
src/​frontend/​src/​content/​docs/​app-host/​go-apphost-conventions.mdx Explains typed options, compatibility, and cancellation.
src/​frontend/​src/​components/​SimpleAppHostCode.shared.ts Updates generated Go endpoint examples.
src/​frontend/​src/​components/​AppHostBuilder.astro Uses Go APIs and typed options throughout Go builder examples.

Review effort: Balanced

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