Nitro can be smoothly integrated into your HotChocolate server, enabling utilization of the Persisted Operation Storage found within the client registry, to report operations and collect open telemetry. Your server will establish a connection with Nitro, retrieving persisted operations based on their unique hashes. Additional information on the client registry can be found here.
Getting Started
To get started, follow these steps:
Set up a client registry as instructed here.
Install the Nitro package from NuGet using the following command:
Bash
dotnet add package ChilliCream.Nitro
- Configure your services as shown in the following code snippet:
C#
var builder = WebApplication.CreateBuilder(args);
builder.Services .AddGraphQLServer() .AddQueryType<Query>() .AddInstrumentation() // if you want to use telemetry .AddNitro(x => { x.ApiId = "VGhpcyBpcyBub3QgYSByZWFsIGFwaSBpZA=="; x.ApiKey = "Tm9wZSwgdGhpcyBpcyBhbHNvIG5vIHJlYWwga2V5IDspIA=="; x.Stage = "dev"; }) .UseOnlyPersistedOperationAllowed() // optional .UsePersistedOperationPipeline(); // if you want to use persisted operations
var app = builder.Build();
app.MapGraphQL();
app.Run();
- Retrieve the API id and API key from Nitro using the
nitro api list
andnitro api-key create
commands respectively. Instructions for these commands can be found here.
Congratulations! You have successfully integrated Nitro into your HotChocolate server. You can now publish new versions of your clients and your server will automatically retrieve the latest persisted operations.