Skip to content

Commit 855611d

Browse files
authored
feat(core): add multi-strategy ERS to support ldap and sql (#2596)
### Proposed Changes Add a multi-strategy adapter that will support a variety of backends (LDAP, SQL, etc) but support a chaining approach to satisfy the needs for entity chains. Also added contract focused integration tests to ensure all ERS adapters behave the same given the same input. ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions
1 parent a411b05 commit 855611d

File tree

74 files changed

+17021
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+17021
-37
lines changed

.github/workflows/pr-checks.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ jobs:
6060
docs
6161
sdk
6262
policy
63+
ers
6364
kas
6465
authz
6566
examples

README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
## Documentation
1010

1111
- [Configuration](./docs/Configuring.md)
12+
- [Multi-Strategy Entity Resolution Service](./ERS_TESTING.md)
1213
- [Development](#for-contributors)
1314
- [Policy Config Schema](./service/policy/db/schema_erd.md)
1415
- [Policy Config Testing Diagram](./service/integration/testing_diagram.png)
@@ -112,6 +113,45 @@ go run ./service start
112113
```
113114
<!-- END copy ./service/README#quick-start -->
114115

116+
### Multi-Strategy Entity Resolution Service
117+
118+
The OpenTDF platform supports a powerful multi-strategy Entity Resolution Service (ERS) that can integrate with multiple identity providers and data sources simultaneously.
119+
120+
#### Quick Start with Multi-Strategy ERS (Preview)
121+
122+
> **⚠️ Preview Feature**: Multi-Strategy ERS is in preview (V2 only). APIs may change.
123+
124+
To run OpenTDF with comprehensive entity resolution using SQL and LDAP providers:
125+
126+
```sh
127+
# Start core infrastructure + ERS test services
128+
docker compose --profile ers-test up
129+
130+
# Use the multi-strategy configuration
131+
go run ./service start --config opentdf-ers-test.yaml
132+
```
133+
134+
This enables entity resolution from:
135+
- **JWT Claims** - Direct token claim extraction
136+
- **PostgreSQL** - SQL database queries for organizational data
137+
- **LDAP/Active Directory** - Directory service integration
138+
139+
#### ERS Provider Testing
140+
141+
Test the multi-strategy ERS functionality:
142+
143+
```sh
144+
# Run integration tests (Docker services provide the backends automatically)
145+
go test ./service/entityresolution/integration -run TestMultiStrategy -v
146+
```
147+
148+
#### Configuration Options
149+
150+
- **`opentdf-ers-test.yaml`** - Complete OpenTDF platform with multi-strategy ERS
151+
- **`ERS_TESTING.md`** - Comprehensive documentation and examples
152+
153+
The multi-strategy ERS (preview) provides enterprise-grade identity resolution with failover, multiple provider support, and flexible mapping strategies.
154+
115155
## For Contributors
116156

117157
This section is focused on the development of the OpenTDF platform.

0 commit comments

Comments
 (0)