diff --git a/pkg/coredata/connector_provider.go b/pkg/coredata/connector_provider.go index 3dc6915e8..0193cdab0 100644 --- a/pkg/coredata/connector_provider.go +++ b/pkg/coredata/connector_provider.go @@ -55,6 +55,7 @@ const ( ConnectorProviderTailscale ConnectorProvider = "TAILSCALE" ConnectorProviderAnthropic ConnectorProvider = "ANTHROPIC" ConnectorProviderCursor ConnectorProvider = "CURSOR" + ConnectorProviderDatadog ConnectorProvider = "DATADOG" ) var ( @@ -97,6 +98,7 @@ func ConnectorProviders() []ConnectorProvider { ConnectorProviderTailscale, ConnectorProviderAnthropic, ConnectorProviderCursor, + ConnectorProviderDatadog, } } @@ -134,7 +136,8 @@ func (v ConnectorProvider) IsValid() bool { ConnectorProviderMetabase, ConnectorProviderTailscale, ConnectorProviderAnthropic, - ConnectorProviderCursor: + ConnectorProviderCursor, + ConnectorProviderDatadog: return true } diff --git a/pkg/coredata/connector_settings.go b/pkg/coredata/connector_settings.go index 3036bfe4c..6fc56912f 100644 --- a/pkg/coredata/connector_settings.go +++ b/pkg/coredata/connector_settings.go @@ -102,6 +102,15 @@ type ( PostHogConnectorSettings struct { BaseURL string `json:"base_url"` } + + // DatadogConnectorSettings holds the per-customer Datadog site captured + // during the OAuth callback. Region is the site key (e.g. "US3") used for + // the AccessSource title; Domain is the API domain (e.g. + // "us3.datadoghq.com") the driver and name resolver use to build hosts. + DatadogConnectorSettings struct { + Region string `json:"region"` + Domain string `json:"domain"` + } ) // GrantType returns the OAuth2 grant type recorded on the connector's diff --git a/pkg/coredata/migrations/20260529T491240Z.sql b/pkg/coredata/migrations/20260529T491240Z.sql new file mode 100644 index 000000000..31738f454 --- /dev/null +++ b/pkg/coredata/migrations/20260529T491240Z.sql @@ -0,0 +1,15 @@ +-- Copyright (c) 2026 Probo Inc . +-- +-- 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. + +ALTER TYPE connector_provider ADD VALUE IF NOT EXISTS 'DATADOG'; diff --git a/pkg/server/api/console/v1/graphql/connector.graphql b/pkg/server/api/console/v1/graphql/connector.graphql index 841daf5c7..65f4362fe 100644 --- a/pkg/server/api/console/v1/graphql/connector.graphql +++ b/pkg/server/api/console/v1/graphql/connector.graphql @@ -56,6 +56,7 @@ enum ConnectorProvider value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderAnthropic" ) CURSOR @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderCursor") + DATADOG @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderDatadog") } type ConnectorProviderInfo {