Integrations v2 | Declarative Provider Registration & Runtime#2236
Merged
Integrations v2 | Declarative Provider Registration & Runtime#2236
Conversation
🔧 Configuration Changes DetectedThis PR contains changes that will affect the Helm chart configuration. A draft infrastructure PR has been automatically created to preview these changes: 📋 Draft PR: https://github.com/theopenlane/openlane-infra/pull/817 Changes Preview:✅ Updated ConfigMap template
The draft infrastructure PR will be closed automatically after this core PR is merged. |
… FGA model for integration run and integration webhook
9775209 to
b873714
Compare
|
golanglemonade
approved these changes
Apr 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This rewrite replaces a flat package (where each provider was a monolithic implementation wired into a shared activation service and ingest pipeline) with a declarative provider registration architecture. Each provider is now a self-contained package that registers its credentials, clients, operations, mappings, and webhooks through a builder pattern. The new runtime package handles the full integration lifecycle (credential resolution, client caching, operation dispatch, webhook routing) uniformly for all definitions. The old scattered concerns and somewhat naive approach has been wholesale replaced by a significantly more advanced, structured, and extensible framework. Identity for credentials, operations, and webhook events is now derived from go types rather than hand-assigned strings, making collisions a compile-time error instead of a runtime surprise - coupled with the declarative provider setup, we now have uniform definitions with collision-free guarantees.
You can see detailed information surrounding the new package architecture (and some rationale on the decisions around it) in the README.md in the package.