Create API Client Credentials
The resolver uses API client credentials to authenticate with Confidence and report operational data.1
Go to API clients
In Confidence, select Admin, then select API clients under Identity and access management.
2
Create an API client
Select Create and enter a name, such as “self-hosted resolver.”
3
Assign the resolver role
Go to Admin > Policies and create a policy for the API client. Assign the Flags Resolver Sidecar role.
4
Store the credentials
Store the client ID and client secret in your secret manager.
Flags Resolver Sidecar is the current name of the predefined role. The role applies whether you deploy the resolver as a shared service or a sidecar.
Create a Resolver Configuration
The resolver configuration provides an encrypted state file. Confidence keeps the state file up to date as your flags and targeting rules change.1
Go to self-hosted resolver configurations
In Confidence, select Admin, then select Self-hosted resolver configurations under Identity and access management.
2
Create a configuration
Select Create configuration, enter a display name, and select Create.
3
Store the deployment values
Copy the state URI and reveal the encryption key. Store both values in your secret manager.
Run With Docker
Save the four deployment values inconfidence-resolver.env:
http://localhost:8090.
The example uses the Europe Artifact Registry mirror. You can instead use the Asia or United States mirror:
asia-docker.pkg.dev/spotify-confidence/public/flags-resolver-sidecar:latestus-docker.pkg.dev/spotify-confidence/public/flags-resolver-sidecar:latest
Deploy in Kubernetes
You can run the resolver as a shared Kubernetes service or as a sidecar. The following example adds it as a sidecar to an existing pod:ETag in conditional requests. An HTTP 304 Not Modified response skips the reload. If a later refresh fails, the resolver continues to use the last successfully loaded state.
Configure Your SDK
Point a Confidence server SDK at the resolver HTTP address. For example, usehttp://localhost:8090 when the resolver runs as a sidecar:
Rotate State Credentials
Rotate the state URI and encryption key without interrupting flag resolution:1
Start credentials rotation
Open the menu for the active configuration and select Start credentials rotation. The existing configuration remains published.
2
Create the replacement
Create a replacement configuration and store its state URI and encryption key.
3
Deploy the replacement values
Update your resolver deployment. Confirm that every instance is ready and uses the replacement configuration.
4
Complete the sunset
Open the retiring configuration’s menu and select Complete sunset.
Stop Apply Log Propagation
By default, the resolver sends apply logs to Confidence for exposure and experiment analysis. SetCONFIDENCE_SEND_APPLY_LOGS to false to keep apply data within your network.
The resolver continues to accept and validate ApplyFlags requests. It doesn’t send assignment events or apply distinct counts to Confidence. It continues to send aggregate operational metadata, including the apply request rate.
This setting doesn’t disable resolve telemetry or resolver-state synchronization. For more information, see Data Transfer.
Related Resources
Local Resolution Reference
Compare in-process and self-hosted resolution
Data Transfer
Understand flag resolution data flow
Manage API Clients
Manage API clients and credentials
SDKs Reference
Configure SDK integrations

