Merge PostHog self-hosted into a single PostHog provider
Fold POSTHOG_SELF_HOSTED into POSTHOG: one provider now covers Cloud (OAuth + region-pinned API key) and self-hosted (API key + instance URL), since both already share the driver, name resolver, and PostHogConnectorSettings{BaseURL}. The API-key form picks a deployment (Cloud US/EU or self-hosted URL); the resolver requires exactly one of region/instanceUrl.
Drop the POSTHOG_SELF_HOSTED enum value, registration, migration, and logo mapping. Extract the deployment selector into a dedicated PostHogDeploymentField component. Point the driver tests at us.posthog.com instead of the legacy app.posthog.com host.
Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
@@ -26,41 +26,35 @@ const (
|
||||
ConnectorProviderGoogleWorkspace ConnectorProvider = "GOOGLE_WORKSPACE"
|
||||
ConnectorProviderLinear ConnectorProvider = "LINEAR"
|
||||
// _ ConnectorProvider = "FIGMA" — formerly Figma; removed (no driver, no OAuth config, no usage)
|
||||
ConnectorProviderOnePassword ConnectorProvider = "ONE_PASSWORD"
|
||||
ConnectorProviderHubSpot ConnectorProvider = "HUBSPOT"
|
||||
ConnectorProviderDocuSign ConnectorProvider = "DOCUSIGN"
|
||||
ConnectorProviderNotion ConnectorProvider = "NOTION"
|
||||
ConnectorProviderBrex ConnectorProvider = "BREX"
|
||||
ConnectorProviderTally ConnectorProvider = "TALLY"
|
||||
ConnectorProviderCloudflare ConnectorProvider = "CLOUDFLARE"
|
||||
ConnectorProviderGrafana ConnectorProvider = "GRAFANA"
|
||||
ConnectorProviderOpenAI ConnectorProvider = "OPENAI"
|
||||
ConnectorProviderPostHog ConnectorProvider = "POSTHOG"
|
||||
// ConnectorProviderPostHogSelfHosted is a distinct provider for
|
||||
// customer-hosted PostHog instances: API-key + operator-supplied
|
||||
// instance URL. Cloud PostHog (POSTHOG) carries the OAuth path; a
|
||||
// separate provider keeps the per-connection instance URL out of the
|
||||
// shared OAuth flow.
|
||||
ConnectorProviderPostHogSelfHosted ConnectorProvider = "POSTHOG_SELF_HOSTED"
|
||||
ConnectorProviderSentry ConnectorProvider = "SENTRY"
|
||||
ConnectorProviderSupabase ConnectorProvider = "SUPABASE"
|
||||
ConnectorProviderGitHub ConnectorProvider = "GITHUB"
|
||||
ConnectorProviderIntercom ConnectorProvider = "INTERCOM"
|
||||
ConnectorProviderResend ConnectorProvider = "RESEND"
|
||||
ConnectorProviderMicrosoft365 ConnectorProvider = "MICROSOFT_365"
|
||||
ConnectorProviderGitLab ConnectorProvider = "GITLAB"
|
||||
ConnectorProviderBitbucket ConnectorProvider = "BITBUCKET"
|
||||
ConnectorProviderHeroku ConnectorProvider = "HEROKU"
|
||||
ConnectorProviderPagerDuty ConnectorProvider = "PAGERDUTY"
|
||||
ConnectorProviderAsana ConnectorProvider = "ASANA"
|
||||
ConnectorProviderNetlify ConnectorProvider = "NETLIFY"
|
||||
ConnectorProviderClickUp ConnectorProvider = "CLICKUP"
|
||||
ConnectorProviderVercel ConnectorProvider = "VERCEL"
|
||||
ConnectorProviderMonday ConnectorProvider = "MONDAY"
|
||||
ConnectorProviderMetabase ConnectorProvider = "METABASE"
|
||||
ConnectorProviderTailscale ConnectorProvider = "TAILSCALE"
|
||||
ConnectorProviderAnthropic ConnectorProvider = "ANTHROPIC"
|
||||
ConnectorProviderCursor ConnectorProvider = "CURSOR"
|
||||
ConnectorProviderOnePassword ConnectorProvider = "ONE_PASSWORD"
|
||||
ConnectorProviderHubSpot ConnectorProvider = "HUBSPOT"
|
||||
ConnectorProviderDocuSign ConnectorProvider = "DOCUSIGN"
|
||||
ConnectorProviderNotion ConnectorProvider = "NOTION"
|
||||
ConnectorProviderBrex ConnectorProvider = "BREX"
|
||||
ConnectorProviderTally ConnectorProvider = "TALLY"
|
||||
ConnectorProviderCloudflare ConnectorProvider = "CLOUDFLARE"
|
||||
ConnectorProviderGrafana ConnectorProvider = "GRAFANA"
|
||||
ConnectorProviderOpenAI ConnectorProvider = "OPENAI"
|
||||
ConnectorProviderPostHog ConnectorProvider = "POSTHOG"
|
||||
ConnectorProviderSentry ConnectorProvider = "SENTRY"
|
||||
ConnectorProviderSupabase ConnectorProvider = "SUPABASE"
|
||||
ConnectorProviderGitHub ConnectorProvider = "GITHUB"
|
||||
ConnectorProviderIntercom ConnectorProvider = "INTERCOM"
|
||||
ConnectorProviderResend ConnectorProvider = "RESEND"
|
||||
ConnectorProviderMicrosoft365 ConnectorProvider = "MICROSOFT_365"
|
||||
ConnectorProviderGitLab ConnectorProvider = "GITLAB"
|
||||
ConnectorProviderBitbucket ConnectorProvider = "BITBUCKET"
|
||||
ConnectorProviderHeroku ConnectorProvider = "HEROKU"
|
||||
ConnectorProviderPagerDuty ConnectorProvider = "PAGERDUTY"
|
||||
ConnectorProviderAsana ConnectorProvider = "ASANA"
|
||||
ConnectorProviderNetlify ConnectorProvider = "NETLIFY"
|
||||
ConnectorProviderClickUp ConnectorProvider = "CLICKUP"
|
||||
ConnectorProviderVercel ConnectorProvider = "VERCEL"
|
||||
ConnectorProviderMonday ConnectorProvider = "MONDAY"
|
||||
ConnectorProviderMetabase ConnectorProvider = "METABASE"
|
||||
ConnectorProviderTailscale ConnectorProvider = "TAILSCALE"
|
||||
ConnectorProviderAnthropic ConnectorProvider = "ANTHROPIC"
|
||||
ConnectorProviderCursor ConnectorProvider = "CURSOR"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -84,7 +78,6 @@ func ConnectorProviders() []ConnectorProvider {
|
||||
ConnectorProviderGrafana,
|
||||
ConnectorProviderOpenAI,
|
||||
ConnectorProviderPostHog,
|
||||
ConnectorProviderPostHogSelfHosted,
|
||||
ConnectorProviderSentry,
|
||||
ConnectorProviderSupabase,
|
||||
ConnectorProviderGitHub,
|
||||
@@ -123,7 +116,6 @@ func (v ConnectorProvider) IsValid() bool {
|
||||
ConnectorProviderGrafana,
|
||||
ConnectorProviderOpenAI,
|
||||
ConnectorProviderPostHog,
|
||||
ConnectorProviderPostHogSelfHosted,
|
||||
ConnectorProviderSentry,
|
||||
ConnectorProviderSupabase,
|
||||
ConnectorProviderGitHub,
|
||||
|
||||
@@ -92,12 +92,13 @@ type (
|
||||
InstanceURL string `json:"instance_url"`
|
||||
}
|
||||
|
||||
// PostHogConnectorSettings carries the data-API base host for both the
|
||||
// cloud (POSTHOG) and self-hosted (POSTHOG_SELF_HOSTED) providers. It
|
||||
// is the region-pinned host for API-key connections
|
||||
// (https://us.posthog.com / https://eu.posthog.com / a self-hosted
|
||||
// instance URL). It is empty for cloud OAuth connections — the driver
|
||||
// then defaults to the region-agnostic gateway https://oauth.posthog.com.
|
||||
// PostHogConnectorSettings carries the data-API base host for the
|
||||
// PostHog provider, which spans cloud and self-hosted deployments. For
|
||||
// API-key connections it is the region-pinned host
|
||||
// (https://us.posthog.com / https://eu.posthog.com) or a self-hosted
|
||||
// instance URL. It is empty for cloud OAuth connections — the driver
|
||||
// then discovers the region (us/eu) by probing, since the
|
||||
// region-agnostic oauth.posthog.com gateway does not serve the data API.
|
||||
PostHogConnectorSettings struct {
|
||||
BaseURL string `json:"base_url"`
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
-- 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.
|
||||
|
||||
ALTER TYPE connector_provider ADD VALUE IF NOT EXISTS 'POSTHOG_SELF_HOSTED';
|
||||
Reference in New Issue
Block a user