The Confidence Flag Resolver implemented in Rust, plus example hosts and a Cloudflare Worker build. This workspace compiles the core resolver to native and WebAssembly and demonstrates how to call it from Go, Node.js, Python, and Java.
confidence-resolver: Core resolver crateconfidence-cloudflare-resolver: Cloudflare Worker-compatible WASM targetwasm-msg: Minimal WASM messaging layer shared by hostswasm/*-host: Small host apps (Go, Node.js, Python, Java) calling the resolver. These are only intended to be examples, as well as being used for integration tests.data/: Sample local development data (e.g., resolver state)
Option 1: Docker only
- Docker - Everything runs in containers, no other tools needed
Option 2: Local development
- Rust toolchain (automatically installed via
rust-toolchain.toml) - For host examples: Go, Node.js + Yarn, Python 3, Java + Maven
# With Docker (reproducible, no setup needed)
docker build . # Build, test, lint everything
make # Same, using Makefile
# E2E tests require Confidence credentials passed as Docker secret
# Create openfeature-provider/js/.env.test with your credentials, then:
docker build \
--secret id=js_e2e_test_env,src=openfeature-provider/js/.env.test \
.
# With local tools (fast iteration)
make test # Run tests
make lint # Run linting
make build # Build WASM
# Run host examples
make run-node
make run-java
make run-go
make run-pythonThere are host implementations for different languages in the wasm folder.
They are used for integration tests, but if you want you manually run them:
make run-go-host
make run-js-host
make run-python-host
make run-java-hostBuild the Cloudflare-compatible resolver (WASM):
make cloudflareYou can then integrate with Wrangler using confidence-cloudflare-resolver/wrangler.toml.
See LICENSE for details.