OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

database.supabase

Supabase Postgres integration for SQL query execution and transactional workloads.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.infrastructure
  • Tags: database, postgres, supabase
  • field.key.label
    database.supabase
    field.version.label
    1.0.0
    field.type.label
    integration (integration)
    field.title.label
    database.supabase
    field.description.label

    Supabase Postgres integration for SQL query execution and transactional workloads.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.infrastructure
  • Tags: database, postgres, supabase
  • field.tags.label
    database,postgres,supabase
    field.owners.label
    platform.infrastructure
    field.stability.label

    Supabase Postgres integration for SQL query execution and transactional workloads.

    Source Definition

    export const supabasePostgresIntegrationSpec = defineIntegration({
    	meta: {
    		key: 'database.supabase',
    		version: '1.0.0',
    		category: 'database',
    		title: 'Supabase Postgres',
    		description:
    			'Supabase Postgres integration for SQL query execution and transactional workloads.',
    		domain: 'infrastructure',
    		owners: ['platform.infrastructure'],
    		tags: ['database', 'postgres', 'supabase'],
    		stability: StabilityEnum.Beta,
    	},
    	supportedModes: ['managed', 'byok'],
    	transports: [
    		{ type: 'rest' },
    		{ type: 'sdk', packageName: '@supabase/supabase-js' },
    	],
    	preferredTransport: 'rest',
    	supportedAuthMethods: [{ type: 'api-key' }, { type: 'basic' }],
    	capabilities: {
    		provides: [{ key: 'database.sql', version: '1.0.0' }],
    	},
    	configSchema: {
    		schema: {
    			type: 'object',
    			properties: {
    				maxConnections: {
    					type: 'number',
    					description:
    						'Optional connection pool size when opening a Postgres client to Supabase.',
    				},
    				sslMode: {
    					type: 'string',
    					enum: ['require', 'allow', 'prefer'],
    					description: 'TLS mode used by the Postgres client.',
    				},
    			},
    		},
    		example: {
    			maxConnections: 10,
    			sslMode: 'require',
    		},
    	},
    	secretSchema: {
    		schema: {
    			type: 'object',
    			required: ['databaseUrl'],
    			properties: {
    				databaseUrl: {
    					type: 'string',
    					description:
    						'Supabase Postgres connection string (transaction or session pooler endpoint).',
    				},
    			},
    		},
    		example: {
    			databaseUrl:
    				'postgresql://postgres.[project-ref]:password@aws-0-region.pooler.supabase.com:6543/postgres',
    		},
    	},
    	healthCheck: {
    		method: 'ping',
    		timeoutMs: 5000,
    	},
    	docsUrl: 'https://supabase.com/docs/guides/database/connecting-to-postgres',
    	byokSetup: {
    		setupInstructions:
    			'Create or reuse a Supabase project and provide a Postgres connection string with permissions aligned to your workload.',
    		keyRotationSupported: true,
    		quotaTrackingSupported: false,
    	},
    });