Files
probo/pkg/connector/provider/builtin.go
Cursor Agent f5a632ffac Add Grafana access review connector support
Add Grafana as an access review connector-backed source.

This introduces a Grafana access-review driver, provider registration,
and connector settings for the Grafana base URL. It also wires the
new provider through GraphQL and access-review UI input mapping so
API-key connectors can be created from the product.

A connector_provider enum migration is included so Grafana can be
persisted in existing databases.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
2026-05-28 18:35:01 -07:00

63 lines
2.0 KiB
Go

// Copyright (c) 2026 Probo Inc <hello@getprobo.com>.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
package provider
// NewBuiltinRegistry returns a *Registry populated with every
// connector provider compiled into the binary. It panics on duplicate
// registration or invalid Registration metadata — both are programmer
// errors caught at process start, not at runtime. Probod calls this
// once at startup and threads the *Registry into every consumer.
func NewBuiltinRegistry() *Registry {
r := NewRegistry()
for _, reg := range []*Registration{
anthropicRegistration(),
asanaRegistration(),
bitbucketRegistration(),
brexRegistration(),
clickupRegistration(),
cloudflareRegistration(),
cursorRegistration(),
docusignRegistration(),
grafanaRegistration(),
githubRegistration(),
gitlabRegistration(),
googleWorkspaceRegistration(),
herokuRegistration(),
hubspotRegistration(),
intercomRegistration(),
linearRegistration(),
microsoft365Registration(),
mondayRegistration(),
netlifyRegistration(),
notionRegistration(),
onePasswordRegistration(),
openaiRegistration(),
pagerdutyRegistration(),
resendRegistration(),
sentryRegistration(),
slackRegistration(),
supabaseRegistration(),
tailscaleRegistration(),
tallyRegistration(),
vercelRegistration(),
} {
if err := r.Register(reg); err != nil {
panic(err)
}
}
return r
}