{"id":50696385,"url":"https://github.com/particular/particular.aspire.hosting.serviceplatform","last_synced_at":"2026-06-09T07:00:14.025Z","repository":{"id":363228950,"uuid":"1232584748","full_name":"Particular/Particular.Aspire.Hosting.ServicePlatform","owner":"Particular","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-08T01:52:09.000Z","size":226,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T03:16:03.580Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Particular.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-08T04:31:17.000Z","updated_at":"2026-06-08T01:52:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Particular/Particular.Aspire.Hosting.ServicePlatform","commit_stats":null,"previous_names":["particular/particular.aspire.hosting.serviceplatform"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Particular/Particular.Aspire.Hosting.ServicePlatform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Particular%2FParticular.Aspire.Hosting.ServicePlatform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Particular%2FParticular.Aspire.Hosting.ServicePlatform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Particular%2FParticular.Aspire.Hosting.ServicePlatform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Particular%2FParticular.Aspire.Hosting.ServicePlatform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Particular","download_url":"https://codeload.github.com/Particular/Particular.Aspire.Hosting.ServicePlatform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Particular%2FParticular.Aspire.Hosting.ServicePlatform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34095247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T07:00:12.697Z","updated_at":"2026-06-09T07:00:13.809Z","avatar_url":"https://github.com/Particular.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Particular.Aspire.Hosting.ServicePlatform\n\nThe `Particular.Aspire.Hosting.ServicePlatform` package is an [Aspire](https://aspire.dev/) hosting integration that runs the Particular Platform (the ServiceControl instances, ServicePulse, persistence, and message transport) as part of an Aspire AppHost. It is intended for developers and technical leads who run the platform locally during development and want the same AppHost to carry through to publish-mode deployments, without maintaining a separate set of infrastructure scripts.\n\nSee the [Aspire documentation](https://docs.particular.net/platform/aspire) for more details on how to use it.\n\n## Installation\n\nAdd the package to your Aspire AppHost project:\n\n```sh\ndotnet add package Particular.Aspire.Hosting.ServicePlatform\n```\n\n## Quick start\n\nAdd the Particular Service Platform to your AppHost with sensible defaults:\n\n```csharp\nvar builder = DistributedApplication.CreateBuilder(args);\n\nvar platform = builder\n    .AddParticularPlatform(\"particular\")\n    .AddDefaultComponents();\n\nbuilder.Build().Run();\n```\n\n`AddDefaultComponents()` wires up the Learning transport, a RavenDB persistence container, ServiceControl error/audit/monitoring instances, and ServicePulse.\n\nTo attach an NServiceBus endpoint to the platform so it picks up the configured transport and license:\n\n```csharp\nbuilder.AddProject\u003cProjects.MyEndpoint\u003e(\"my-endpoint\")\n    .WithParticularPlatform(platform);\n```\n\nFor production use, swap the defaults for a real transport, persistence store, and license:\n\n```csharp\nvar asb = builder.AddAzureServiceBus(\"asb\");\nvar ravenDb = builder.AddRavenDB(\"ravendb\");\n\nbuilder\n    .AddParticularPlatform(\"particular\")\n    .WithTransportAzureServiceBus(asb)\n    .WithPersistenceRavenDb(ravenDb)\n    .WithLicenseFromFile(\"license.xml\")\n    .AddDefaultComponents();\n```\n\n## How to Test Locally\n\nThe tests in `src/Particular.Aspire.Hosting.ServicePlatform.UnitTests` are approval tests that exercise the Aspire `publish` operation and verify the generated manifest. They do not start any runtime services, so no databases, message brokers, or containers need to be running on the host machine.\n\n### Required infrastructure\n\n- [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) — the version pinned in [`global.json`](global.json).\n\nNo connection string configuration or Docker container is required to run the tests.\n\n### Building and running the tests\n\nFrom the repository root:\n\n```sh\ndotnet build src/Particular.Aspire.Hosting.ServicePlatform.slnx\ndotnet test  src/Particular.Aspire.Hosting.ServicePlatform.slnx\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nLicensed under the [RPL-1.5](LICENSE.md). See also [SECURITY.md](SECURITY.md) for the security policy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparticular%2Fparticular.aspire.hosting.serviceplatform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparticular%2Fparticular.aspire.hosting.serviceplatform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparticular%2Fparticular.aspire.hosting.serviceplatform/lists"}