Add five API-key access-review connectors

Add Mercury, Apollo.io, Deepgram, ClickHouse Cloud, and Langfuse as
access-review connectors. All are API-key, single-tenant providers
(Pattern 3): the key identifies one tenant, so there is no OAuth flow,
picker UI, or bootstrap/helm configuration.

- Mercury: Bearer token, GET /api/v1/users, cursor pagination.
- Apollo.io: x-api-key header, GET /api/v1/users/search (teammates).
- Deepgram: Token scheme; lists members across every project and
  dedupes by member_id, unioning per-project scopes.
- ClickHouse Cloud: HTTP Basic (keyId:keySecret); discovers the org
  via GET /v1/organizations, then lists its members.
- Langfuse: HTTP Basic (publicKey:secretKey); a base-URL setting
  selects the regional cloud host or a self-hosted instance.

Each adds the enum value, migration, GraphQL binding, provider
Registration, a driver with a cassette-driven test, and a brand logo.

Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
Aurélien Sibiril
2026-06-12 19:53:13 +02:00
parent bd6a470d6d
commit 6a285a59b9
41 changed files with 2245 additions and 1 deletions

View File

@@ -178,6 +178,17 @@ func apiKeyConnectorSettings(input types.CreateAPIKeyConnectorInput) (json.RawMe
}
return json.Marshal(&coredata.NeonConnectorSettings{OrganizationID: *input.NeonOrganizationID})
case coredata.ConnectorProviderLangfuse:
if input.LangfuseBaseURL == nil || *input.LangfuseBaseURL == "" {
return nil, fmt.Errorf("cannot create langfuse connector: langfuseBaseUrl is required")
}
u, err := url.Parse(*input.LangfuseBaseURL)
if err != nil || (u.Scheme != "http" && u.Scheme != "https") || u.Host == "" {
return nil, fmt.Errorf("cannot create langfuse connector: langfuseBaseUrl must be an http(s) URL")
}
return json.Marshal(&coredata.LangfuseConnectorSettings{BaseURL: *input.LangfuseBaseURL})
}
return nil, nil

View File

@@ -71,6 +71,17 @@ enum ConnectorProvider
QOVERY @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderQovery")
RENDER @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderRender")
NEON @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderNeon")
MERCURY
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderMercury")
APOLLO @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderApollo")
DEEPGRAM
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderDeepgram")
CLICKHOUSE
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderClickHouse"
)
LANGFUSE
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderLangfuse")
}
type ConnectorProviderInfo {
@@ -152,6 +163,7 @@ input CreateAPIKeyConnectorInput {
qoveryOrganizationId: String
renderWorkspaceId: String
neonOrganizationId: String
langfuseBaseUrl: String
}
type CreateAPIKeyConnectorPayload {