Add Render access review driver support

Register Render as an API-key connector provider and add an access
review driver that fetches workspace members from the Render API
(GET /v1/owners/{ownerId}/members).

Render exposes no partner OAuth program, so the connector authenticates
with a read-scoped API key (Authorization: Bearer) plus the customer's
Workspace ID. The flat members endpoint reports an explicit account
status and MFA flag, surfaced as the Active and MFAStatus fields; the
stable "usr-" id becomes ExternalID. There is no picker -- the
workspace is captured up front via ExtraSettings -- so
SetOrganizationSettings is omitted.

Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
Aurélien Sibiril
2026-06-09 23:32:58 +02:00
parent 7a43acd3c2
commit 7640376d32
17 changed files with 752 additions and 1 deletions

View File

@@ -166,6 +166,12 @@ func apiKeyConnectorSettings(input types.CreateAPIKeyConnectorInput) (json.RawMe
}
return json.Marshal(&coredata.QoveryConnectorSettings{OrganizationID: *input.QoveryOrganizationID})
case coredata.ConnectorProviderRender:
if input.RenderWorkspaceID == nil || *input.RenderWorkspaceID == "" {
return nil, fmt.Errorf("cannot create render connector: renderWorkspaceId is required")
}
return json.Marshal(&coredata.RenderConnectorSettings{OwnerID: *input.RenderWorkspaceID})
}
return nil, nil

View File

@@ -69,6 +69,7 @@ enum ConnectorProvider
OKTA @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderOkta")
ZENDESK @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderZendesk")
QOVERY @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderQovery")
RENDER @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderRender")
}
type ConnectorProviderInfo {
@@ -148,6 +149,7 @@ input CreateAPIKeyConnectorInput {
oktaDomain: String
betterStackTeamName: String
qoveryOrganizationId: String
renderWorkspaceId: String
}
type CreateAPIKeyConnectorPayload {