@cratis/pi 7.102.0 → 7.103.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/corpus/harnesses/copilot/instructions/profiles.instructions.md +10 -1
- package/package/corpus/harnesses/copilot/instructions/pull-requests.instructions.md +2 -0
- package/package/corpus/harnesses/copilot/instructions/secrets.instructions.md +4 -0
- package/package/corpus/hooks/README.md +11 -1
- package/package/corpus/hooks/scripts/cratis-check-pr.mjs +12 -1
- package/package/corpus/hooks/scripts/cratis-guard-secrets.sh +79 -23
- package/package/corpus/hooks/scripts/cratis-guard-writes.sh +145 -40
- package/package/corpus/rules/profiles.md +10 -1
- package/package/corpus/rules/pull-requests.md +2 -0
- package/package/corpus/rules/secrets.md +4 -0
- package/package/corpus/skills/analyzing-dotnet-performance/LICENSE +23 -0
- package/package/corpus/skills/analyzing-dotnet-performance/NOTICE +36 -0
- package/package/corpus/skills/analyzing-dotnet-performance/SKILL.md +214 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/async-patterns.md +122 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/collections-and-linq.md +220 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/critical-patterns.md +291 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/io-and-serialization.md +135 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/memory-and-strings.md +219 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/regex-patterns.md +95 -0
- package/package/corpus/skills/analyzing-dotnet-performance/references/structural-patterns.md +38 -0
- package/package/corpus/skills/binlog-generation/LICENSE +23 -0
- package/package/corpus/skills/binlog-generation/NOTICE +22 -0
- package/package/corpus/skills/binlog-generation/SKILL.md +129 -0
- package/package/corpus/skills/check-bin-obj-clash/LICENSE +23 -0
- package/package/corpus/skills/check-bin-obj-clash/NOTICE +27 -0
- package/package/corpus/skills/check-bin-obj-clash/SKILL.md +127 -0
- package/package/corpus/skills/check-bin-obj-clash/references/common-causes-and-fixes.md +206 -0
- package/package/corpus/skills/coverage-analysis/LICENSE +23 -0
- package/package/corpus/skills/coverage-analysis/NOTICE +32 -0
- package/package/corpus/skills/coverage-analysis/SKILL.md +198 -0
- package/package/corpus/skills/coverage-analysis/references/guidelines.md +68 -0
- package/package/corpus/skills/coverage-analysis/references/output-format.md +91 -0
- package/package/corpus/skills/coverage-analysis/references/report-generation.md +58 -0
- package/package/corpus/skills/coverage-analysis/references/setup-discovery.md +307 -0
- package/package/corpus/skills/coverage-analysis/scripts/Compute-CrapScores.ps1 +80 -0
- package/package/corpus/skills/coverage-analysis/scripts/CoverageData.ps1 +272 -0
- package/package/corpus/skills/coverage-analysis/scripts/Extract-MethodCoverage.ps1 +65 -0
- package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +26 -1
- package/package/corpus/skills/cratis-screenplay-projections/SKILL.md +17 -0
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +17 -0
- package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +8 -0
- package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet-example.md +1 -0
- package/package/corpus/skills/cratis-screenplay-toolchain/references/fast-path.md +7 -0
- package/package/corpus/skills/cratis-screenplay-toolchain/references/traps.md +1 -0
- package/package/corpus/skills/cratis-screenplay-ui-composition/SKILL.md +40 -0
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/response-continuations.md +1 -0
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/worked-flow.md +1 -0
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +3 -2
- package/package/corpus/skills/csharp-refactoring/LICENSE +23 -0
- package/package/corpus/skills/csharp-refactoring/NOTICE +22 -0
- package/package/corpus/skills/csharp-refactoring/SKILL.md +175 -0
- package/package/corpus/skills/csharp-refactoring/references/operation-catalog.md +37 -0
- package/package/corpus/skills/directory-build-organization/LICENSE +23 -0
- package/package/corpus/skills/directory-build-organization/NOTICE +21 -0
- package/package/corpus/skills/directory-build-organization/SKILL.md +205 -0
- package/package/corpus/skills/directory-build-organization/references/common-patterns.md +56 -0
- package/package/corpus/skills/directory-build-organization/references/multi-level-examples.md +167 -0
- package/package/corpus/skills/directory-build-organization/references/targetframework-props-pitfall.md +54 -0
- package/package/corpus/skills/dotnet-aot-compat/LICENSE +23 -0
- package/package/corpus/skills/dotnet-aot-compat/NOTICE +18 -0
- package/package/corpus/skills/dotnet-aot-compat/SKILL.md +265 -0
- package/package/corpus/skills/dotnet-aot-compat/references/polyfills.md +43 -0
- package/package/corpus/skills/dotnet-trace-collect/LICENSE +23 -0
- package/package/corpus/skills/dotnet-trace-collect/NOTICE +65 -0
- package/package/corpus/skills/dotnet-trace-collect/SKILL.md +116 -0
- package/package/corpus/skills/dotnet-trace-collect/references/dotnet-monitor.md +97 -0
- package/package/corpus/skills/dotnet-trace-collect/references/dotnet-trace-collect-linux.md +84 -0
- package/package/corpus/skills/dotnet-trace-collect/references/dotnet-trace-collect.md +91 -0
- package/package/corpus/skills/dotnet-trace-collect/references/perfcollect.md +200 -0
- package/package/corpus/skills/dotnet-trace-collect/references/perfview.md +141 -0
- package/package/corpus/skills/dotnet-trace-collect/references/tool-selection.md +160 -0
- package/package/corpus/skills/dump-collect/LICENSE +23 -0
- package/package/corpus/skills/dump-collect/NOTICE +40 -0
- package/package/corpus/skills/dump-collect/SKILL.md +97 -0
- package/package/corpus/skills/dump-collect/references/container-dumps.md +412 -0
- package/package/corpus/skills/dump-collect/references/coreclr-dumps.md +108 -0
- package/package/corpus/skills/dump-collect/references/nativeaot-dumps.md +280 -0
- package/package/corpus/skills/eliminate-redundant-restores/LICENSE +23 -0
- package/package/corpus/skills/eliminate-redundant-restores/NOTICE +19 -0
- package/package/corpus/skills/eliminate-redundant-restores/SKILL.md +112 -0
- package/package/corpus/skills/extension-points/LICENSE +23 -0
- package/package/corpus/skills/extension-points/NOTICE +18 -0
- package/package/corpus/skills/extension-points/SKILL.md +248 -0
- package/package/corpus/skills/filter-syntax/LICENSE +23 -0
- package/package/corpus/skills/filter-syntax/NOTICE +17 -0
- package/package/corpus/skills/filter-syntax/SKILL.md +179 -0
- package/package/corpus/skills/including-generated-files/LICENSE +23 -0
- package/package/corpus/skills/including-generated-files/NOTICE +17 -0
- package/package/corpus/skills/including-generated-files/SKILL.md +139 -0
- package/package/corpus/skills/microbenchmarking/LICENSE +23 -0
- package/package/corpus/skills/microbenchmarking/NOTICE +36 -0
- package/package/corpus/skills/microbenchmarking/SKILL.md +131 -0
- package/package/corpus/skills/microbenchmarking/references/bdn-internals-and-tuning.md +143 -0
- package/package/corpus/skills/microbenchmarking/references/comparison-strategies.md +200 -0
- package/package/corpus/skills/microbenchmarking/references/diagnosers-and-exporters.md +150 -0
- package/package/corpus/skills/microbenchmarking/references/project-setup-and-running.md +189 -0
- package/package/corpus/skills/microbenchmarking/references/writing-benchmarks.md +310 -0
- package/package/corpus/skills/msbuild/LICENSE +23 -0
- package/package/corpus/skills/msbuild/NOTICE +55 -0
- package/package/corpus/skills/msbuild/SKILL.md +117 -0
- package/package/corpus/skills/msbuild/references/antipatterns/additional-antipatterns.md +291 -0
- package/package/corpus/skills/msbuild/references/antipatterns/incremental-build-inputs-outputs.md +57 -0
- package/package/corpus/skills/msbuild/references/antipatterns/private-assets.md +29 -0
- package/package/corpus/skills/msbuild/references/binlog-failure-analysis.md +85 -0
- package/package/corpus/skills/msbuild/references/binlog-generation.md +69 -0
- package/package/corpus/skills/msbuild/references/build-perf-baseline.md +493 -0
- package/package/corpus/skills/msbuild/references/build-perf-diagnostics.md +268 -0
- package/package/corpus/skills/msbuild/references/copy-to-output-directory.md +183 -0
- package/package/corpus/skills/msbuild/references/eval-performance.md +190 -0
- package/package/corpus/skills/msbuild/references/extension-points.md +281 -0
- package/package/corpus/skills/msbuild/references/incremental-build.md +365 -0
- package/package/corpus/skills/msbuild/references/msbuild-antipatterns.md +401 -0
- package/package/corpus/skills/orleans/LICENSE +21 -0
- package/package/corpus/skills/orleans/NOTICE +64 -0
- package/package/corpus/skills/orleans/SKILL.md +140 -0
- package/package/corpus/skills/orleans/references/anti-patterns.md +660 -0
- package/package/corpus/skills/orleans/references/configuration-api.md +933 -0
- package/package/corpus/skills/orleans/references/examples.md +66 -0
- package/package/corpus/skills/orleans/references/grain-api.md +784 -0
- package/package/corpus/skills/orleans/references/grains.md +75 -0
- package/package/corpus/skills/orleans/references/hosting.md +71 -0
- package/package/corpus/skills/orleans/references/implementation.md +591 -0
- package/package/corpus/skills/orleans/references/official-docs-index.md +250 -0
- package/package/corpus/skills/orleans/references/patterns.md +811 -0
- package/package/corpus/skills/orleans/references/persistence-api.md +495 -0
- package/package/corpus/skills/orleans/references/primitive-selection.md +35 -0
- package/package/corpus/skills/orleans/references/scheduling-and-services.md +295 -0
- package/package/corpus/skills/orleans/references/serialization-api.md +299 -0
- package/package/corpus/skills/orleans/references/streaming-api.md +396 -0
- package/package/corpus/skills/orleans/references/testing-patterns.md +210 -0
- package/package/corpus/skills/platform-detection/LICENSE +23 -0
- package/package/corpus/skills/platform-detection/NOTICE +17 -0
- package/package/corpus/skills/platform-detection/SKILL.md +230 -0
- package/package/corpus/skills/platform-detection/references/command-mode.md +27 -0
- package/package/corpus/skills/profiling/LICENSE +21 -0
- package/package/corpus/skills/profiling/NOTICE +50 -0
- package/package/corpus/skills/profiling/SKILL.md +144 -0
- package/package/corpus/skills/profiling/references/commands.md +439 -0
- package/package/corpus/skills/profiling/references/patterns.md +586 -0
- package/package/corpus/skills/profiling/references/profiling.md +190 -0
- package/package/corpus/skills/run-tests/LICENSE +23 -0
- package/package/corpus/skills/run-tests/NOTICE +19 -0
- package/package/corpus/skills/run-tests/SKILL.md +305 -0
- package/package/corpus/skills/target-authoring/LICENSE +23 -0
- package/package/corpus/skills/target-authoring/NOTICE +17 -0
- package/package/corpus/skills/target-authoring/SKILL.md +165 -0
- package/package/corpus/skills/vectorization/LICENSE +23 -0
- package/package/corpus/skills/vectorization/NOTICE +17 -0
- package/package/corpus/skills/vectorization/SKILL.md +189 -0
- package/package/profile-catalog.json +85 -1
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Grains, State, and Runtime Primitives
|
|
2
|
+
|
|
3
|
+
Use this reference when the main question is inside grain design rather than hosting or deployment.
|
|
4
|
+
|
|
5
|
+
## Core Grain Modeling
|
|
6
|
+
|
|
7
|
+
| Need | Official Source | What It Covers |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Start with the grain programming model | [Develop grains](https://learn.microsoft.com/dotnet/orleans/grains/) | Grain classes, interfaces, and the core programming surface |
|
|
10
|
+
| Understand grain references | [Grain references](https://learn.microsoft.com/dotnet/orleans/grains/grain-references) | How grains are addressed and invoked |
|
|
11
|
+
| Pick the right identity shape | [Grain identity](https://learn.microsoft.com/dotnet/orleans/grains/grain-identity) | Keys, namespaces, and identity semantics |
|
|
12
|
+
| Understand default placement | [Grain placement](https://learn.microsoft.com/dotnet/orleans/grains/grain-placement) | Runtime placement model and locality tradeoffs |
|
|
13
|
+
| Filter or constrain placement | [Grain placement filtering](https://learn.microsoft.com/dotnet/orleans/grains/grain-placement-filtering) | Placement filters and targeting rules |
|
|
14
|
+
| Add extension points to grains | [Grain extensions](https://learn.microsoft.com/dotnet/orleans/grains/grain-extensions) | Grain extension patterns |
|
|
15
|
+
| Generate serializers and proxies correctly | [Code generation](https://learn.microsoft.com/dotnet/orleans/grains/code-generation) | Codegen expectations and generated artifacts |
|
|
16
|
+
|
|
17
|
+
## Timers, Reminders, and Execution Flow
|
|
18
|
+
|
|
19
|
+
| Need | Official Source | What It Covers |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| Choose timers vs reminders | [Timers and reminders](https://learn.microsoft.com/dotnet/orleans/grains/timers-and-reminders) | Activation-local timers versus durable reminders |
|
|
22
|
+
| Schedule one-time future grain work | [Durable Jobs README](https://github.com/dotnet/orleans/blob/main/src/Orleans.DurableJobs/README.md) | Experimental at-least-once one-time scheduling, cancellation, retry, and shard ownership |
|
|
23
|
+
| Push updates back to clients | [Observers](https://learn.microsoft.com/dotnet/orleans/grains/observers) | Grain observers and callback patterns |
|
|
24
|
+
| Cancel grain work safely | [Cancellation tokens](https://learn.microsoft.com/dotnet/orleans/grains/cancellation-tokens) | Cancellation behavior across grain calls |
|
|
25
|
+
| Reason about reentrancy and ordering | [Request scheduling](https://learn.microsoft.com/dotnet/orleans/grains/request-scheduling) | Scheduler rules, interleaving, and request ordering |
|
|
26
|
+
| Flow ambient metadata | [Request context](https://learn.microsoft.com/dotnet/orleans/grains/request-context) | Request-scoped metadata across calls |
|
|
27
|
+
| Hook into activation stages | [Grain lifecycle](https://learn.microsoft.com/dotnet/orleans/grains/grain-lifecycle) | Lifecycle stages and activation events |
|
|
28
|
+
| Offload stateless fan-out | [Stateless worker grains](https://learn.microsoft.com/dotnet/orleans/grains/stateless-worker-grains) | Stateless scaling patterns |
|
|
29
|
+
| Use external tasks safely | [External tasks and grains](https://learn.microsoft.com/dotnet/orleans/grains/external-tasks-and-grains) | Mixing Orleans scheduling with external async work |
|
|
30
|
+
| Add interceptors or filters | [Interceptors](https://learn.microsoft.com/dotnet/orleans/grains/interceptors) | Cross-cutting interception points |
|
|
31
|
+
| Create runtime helper services | [GrainServices](https://learn.microsoft.com/dotnet/orleans/grains/grainservices) | Cluster-local services for shared runtime behavior |
|
|
32
|
+
| Use fire-and-forget deliberately | [One-way requests](https://learn.microsoft.com/dotnet/orleans/grains/oneway) | One-way call semantics and limits |
|
|
33
|
+
|
|
34
|
+
## Persistence and State
|
|
35
|
+
|
|
36
|
+
| Need | Official Source | What It Covers |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| Choose grain state versus a query database | [Grain persistence](https://learn.microsoft.com/dotnet/orleans/grains/grain-persistence/) | Per-identity state loading/writing; use [persistence-api.md](persistence-api.md) for the query/read-model boundary |
|
|
39
|
+
| Persist grain state | [Grain persistence](https://learn.microsoft.com/dotnet/orleans/grains/grain-persistence/) | Persistent state model and provider wiring |
|
|
40
|
+
| Use operation-journaled durable collections | [Orleans.Journaling README](https://github.com/dotnet/orleans/blob/main/src/Orleans.Journaling/README.md) | Experimental durable dictionaries/lists/queues/sets/values and replay |
|
|
41
|
+
| Use Azure Cosmos DB storage | [Azure Cosmos DB persistence](https://learn.microsoft.com/dotnet/orleans/grains/grain-persistence/azure-cosmos-db) | Cosmos-backed state provider setup |
|
|
42
|
+
| Use relational storage | [Relational storage (ADO.NET)](https://learn.microsoft.com/dotnet/orleans/grains/grain-persistence/relational-storage) | SQL-backed provider options |
|
|
43
|
+
| Use Azure Storage | [Azure storage persistence](https://learn.microsoft.com/dotnet/orleans/grains/grain-persistence/azure-storage) | Azure Table/Blob-backed state provider guidance |
|
|
44
|
+
| Use DynamoDB | [Amazon DynamoDB storage](https://learn.microsoft.com/dotnet/orleans/grains/grain-persistence/dynamodb-storage) | DynamoDB-backed persistence options |
|
|
45
|
+
|
|
46
|
+
## Event Sourcing
|
|
47
|
+
|
|
48
|
+
| Need | Official Source | What It Covers |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| Decide whether to use event sourcing | [Event sourcing overview](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/) | Journaled grain model and tradeoffs |
|
|
51
|
+
| Start with `JournaledGrain` | [JournaledGrain basics](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/journaledgrain-basics) | Core journaled grain API and state evolution |
|
|
52
|
+
| Diagnose journaled grains | [JournaledGrain diagnostics](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/journaledgrain-diagnostics) | Troubleshooting and diagnostics for journaled grains |
|
|
53
|
+
| Choose confirmation mode | [Immediate vs delayed confirmation](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/immediate-vs-delayed-confirmation) | Consistency and confirmation tradeoffs |
|
|
54
|
+
| Publish event notifications | [Notifications](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/notifications) | Observer/notification patterns for journaled grains |
|
|
55
|
+
| Configure event sourcing | [Event sourcing configuration](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/event-sourcing-configuration) | Provider and configuration model |
|
|
56
|
+
| Review built-in providers | [Built-in log-consistency providers](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/log-consistency-providers) | Available log consistency implementations |
|
|
57
|
+
| Understand replicated instances | [Replicated instances](https://learn.microsoft.com/dotnet/orleans/grains/event-sourcing/replicated-instances) | Multi-instance replication behavior |
|
|
58
|
+
|
|
59
|
+
## Transactions and Versioning
|
|
60
|
+
|
|
61
|
+
| Need | Official Source | What It Covers |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| Use transactional state | [Transactions](https://learn.microsoft.com/dotnet/orleans/grains/transactions) | Orleans ACID transaction model |
|
|
64
|
+
| Plan contract evolution | [Grain versioning overview](https://learn.microsoft.com/dotnet/orleans/grains/grain-versioning/grain-versioning) | Interface and implementation versioning |
|
|
65
|
+
| Preserve compatibility | [Backward compatibility guidelines](https://learn.microsoft.com/dotnet/orleans/grains/grain-versioning/backward-compatibility-guidelines) | Safe versioning rules |
|
|
66
|
+
| Mark compatible implementations | [Compatible grains](https://learn.microsoft.com/dotnet/orleans/grains/grain-versioning/compatible-grains) | Compatibility declarations |
|
|
67
|
+
| Control version selection | [Version selector strategy](https://learn.microsoft.com/dotnet/orleans/grains/grain-versioning/version-selector-strategy) | Version routing rules |
|
|
68
|
+
| Roll out new grain versions | [Deploying new versions of grains](https://learn.microsoft.com/dotnet/orleans/grains/grain-versioning/deploying-new-versions-of-grains) | Deployment workflow for upgrades |
|
|
69
|
+
|
|
70
|
+
## Usage Guidance
|
|
71
|
+
|
|
72
|
+
- Start here when the dominant question is grain boundaries, runtime primitives, or state semantics.
|
|
73
|
+
- Use [scheduling-and-services.md](scheduling-and-services.md) when deciding among timers, reminders, Durable Jobs, stateless workers, hosted services, startup tasks, and grain services.
|
|
74
|
+
- Jump to [hosting.md](hosting.md) when the problem is cluster wiring, clients, observability, or deployment.
|
|
75
|
+
- Jump to [implementation.md](implementation.md) when you need runtime-internals or testing details.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Hosting, Configuration, and Operations
|
|
2
|
+
|
|
3
|
+
Use this reference when the main question is about running Orleans, wiring providers, or operating a cluster.
|
|
4
|
+
|
|
5
|
+
## Host and Client Entry Points
|
|
6
|
+
|
|
7
|
+
| Need | Official Source | What It Covers |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Connect external processes to a cluster | [Clients](https://learn.microsoft.com/dotnet/orleans/host/client) | `UseOrleansClient`, gateways, and client topology |
|
|
10
|
+
| Add operational visibility | [Dashboard](https://learn.microsoft.com/dotnet/orleans/dashboard/) | Orleans Dashboard setup and operational usage |
|
|
11
|
+
| Wire Orleans through Aspire | [.NET Aspire integration](https://learn.microsoft.com/dotnet/orleans/host/aspire-integration) | AppHost resources, `.AsClient()`, and orchestration wiring |
|
|
12
|
+
| Understand silo host stages | [Silo lifecycle](https://learn.microsoft.com/dotnet/orleans/host/silo-lifecycle) | Silo startup and shutdown lifecycle |
|
|
13
|
+
| Run mixed silo roles | [Heterogeneous silos](https://learn.microsoft.com/dotnet/orleans/host/heterogeneous-silos) | Different silo capabilities in one cluster |
|
|
14
|
+
| Reason about activation lookups | [Grain directory](https://learn.microsoft.com/dotnet/orleans/host/grain-directory) | Directory behavior and placement lookup mechanics |
|
|
15
|
+
| Secure transport | [Transport Layer Security (TLS)](https://learn.microsoft.com/dotnet/orleans/host/transport-layer-security) | TLS between Orleans cluster participants |
|
|
16
|
+
|
|
17
|
+
## Configuration Guide
|
|
18
|
+
|
|
19
|
+
| Need | Official Source | What It Covers |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| Start with cluster configuration | [Configuration overview](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/) | Main configuration surface |
|
|
22
|
+
| Set up local development | [Local development configuration](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/local-development-configuration) | Dev cluster setup and local defaults |
|
|
23
|
+
| Configure clients | [Client configuration](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/client-configuration) | Client-side settings and connectivity |
|
|
24
|
+
| Configure silos | [Server configuration](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/server-configuration) | Silo-side options and runtime wiring |
|
|
25
|
+
| Review common recipes | [Typical configurations](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/typical-configurations) | Canonical configuration examples |
|
|
26
|
+
| Look up available options | [List of options classes](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/list-of-options-classes) | Option types exposed by Orleans |
|
|
27
|
+
| Add metadata to silos | [Silo metadata](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/silo-metadata) | Metadata and node labeling |
|
|
28
|
+
| Tune deactivation | [Activation collection](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/activation-collection) | Activation cleanup and collection rules |
|
|
29
|
+
| Tune GC for Orleans | [Configure .NET garbage collection](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/configuring-garbage-collection) | GC recommendations for Orleans hosts |
|
|
30
|
+
| Configure relational providers | [Configure ADO.NET providers](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/configuring-ado-dot-net-providers) | ADO.NET provider registration and setup |
|
|
31
|
+
| Set up ADO.NET databases | [ADO.NET database configuration](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/adonet-configuration) | Database-side setup for Orleans SQL providers |
|
|
32
|
+
| Understand Orleans serialization | [Serialization overview](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/serialization) | Serializer model and contracts |
|
|
33
|
+
| Use immutable types | [Serialization of immutable types](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/serialization-immutability) | Immutable-type handling |
|
|
34
|
+
| Configure serialization | [Configure serialization](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/serialization-configuration) | Serializer configuration switches |
|
|
35
|
+
| Customize serializers | [Customize serialization](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/serialization-customization) | Custom serializers and codecs |
|
|
36
|
+
| Run host-owned background work or startup hooks | [Background services and startup tasks](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/startup-tasks) | Prefer `BackgroundService`/`IHostedService`; use Orleans startup tasks only for lifecycle-specific fail-fast hooks |
|
|
37
|
+
| Shut clusters down cleanly | [Graceful shutdown](https://learn.microsoft.com/dotnet/orleans/host/configuration-guide/shutting-down-orleans) | Drain and shutdown behavior |
|
|
38
|
+
|
|
39
|
+
## Observability
|
|
40
|
+
|
|
41
|
+
| Need | Official Source | What It Covers |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| Start with monitoring | [Observability overview](https://learn.microsoft.com/dotnet/orleans/host/monitoring/) | Logs, metrics, and monitoring guidance |
|
|
44
|
+
| Decode silo-side errors | [Silo error code monitoring](https://learn.microsoft.com/dotnet/orleans/host/monitoring/silo-error-code-monitoring) | Error-code reference for silo issues |
|
|
45
|
+
| Decode client-side errors | [Client error code monitoring](https://learn.microsoft.com/dotnet/orleans/host/monitoring/client-error-code-monitoring) | Error-code reference for clients |
|
|
46
|
+
|
|
47
|
+
Orleans 10.2 moved metrics access away from the removed static meter path. When upgrading code that directly referenced Orleans runtime metrics, resolve `OrleansInstruments` from DI and use its `Meter` instead of hardcoded static access.
|
|
48
|
+
|
|
49
|
+
For `Orleans.Journaling`, JSON Lines is the default format for new writes in 10.2. Existing journals with stored format metadata continue to read correctly; pin `JournaledStateManagerOptions.JournalFormatKey` only when a deployment must keep writing the old binary format.
|
|
50
|
+
|
|
51
|
+
## Deployment and Failures
|
|
52
|
+
|
|
53
|
+
| Need | Official Source | What It Covers |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| Start from deployment basics | [Running the app](https://learn.microsoft.com/dotnet/orleans/deployment/) | Deployment overview and entry points |
|
|
56
|
+
| Deploy to Azure App Service | [Azure App Service](https://learn.microsoft.com/dotnet/orleans/deployment/deploy-to-azure-app-service) | App Service hosting guidance |
|
|
57
|
+
| Deploy to Azure Container Apps | [Azure Container Apps](https://learn.microsoft.com/dotnet/orleans/deployment/deploy-to-azure-container-apps) | ACA deployment shape |
|
|
58
|
+
| Deploy to Kubernetes | [Kubernetes](https://learn.microsoft.com/dotnet/orleans/deployment/kubernetes) | K8s deployment and clustering |
|
|
59
|
+
| Deploy to Service Fabric | [Service Fabric](https://learn.microsoft.com/dotnet/orleans/deployment/service-fabric) | Service Fabric runtime integration |
|
|
60
|
+
| Handle cluster failures | [Handle failures](https://learn.microsoft.com/dotnet/orleans/deployment/handling-failures) | Failure modes and recovery patterns |
|
|
61
|
+
| Deploy with Consul | [Consul deployments](https://learn.microsoft.com/dotnet/orleans/deployment/consul-deployment) | Consul-based clustering |
|
|
62
|
+
| Troubleshoot deployments | [Troubleshoot deployments](https://learn.microsoft.com/dotnet/orleans/deployment/troubleshooting-deployments) | Common deployment diagnostics |
|
|
63
|
+
| Troubleshoot legacy Azure Cloud Services | [Azure Cloud Services troubleshooting](https://learn.microsoft.com/dotnet/orleans/deployment/troubleshooting-azure-cloud-services-deployments) | Legacy deployment troubleshooting |
|
|
64
|
+
|
|
65
|
+
## Usage Guidance
|
|
66
|
+
|
|
67
|
+
- Start here when the problem is cluster wiring, clients, provider registration, or operational readiness.
|
|
68
|
+
- Use [scheduling-and-services.md](scheduling-and-services.md) when ownership is unclear between per-host services, per-silo grain services, per-grain reminders/timers, or one-time Durable Jobs.
|
|
69
|
+
- Use [grains.md](grains.md) when the problem is inside a grain rather than in the hosting model.
|
|
70
|
+
- Use [implementation.md](implementation.md) when you need runtime internals, messaging guarantees, or testing behavior.
|
|
71
|
+
- Use [testing-patterns.md](testing-patterns.md) when the hosting question is specifically about mixing Orleans, Aspire, `WebApplicationFactory`, SignalR, or Playwright in integration tests.
|