mirror of
https://github.com/supabase/supabase.git
synced 2026-09-08 19:08:44 +08:00
## New Features - Initial work for showing configuration drift in Studio - This only works for Github-connected projects and it'll show a banner if the project state differs from the git-tracked `config.toml` - Currently behind a feature-flag `ConfigDrift`, enabled on local and staging. - There might be drift shown without changing any setting, this is work-in-progress. <img width="1217" height="1195" alt="Screenshot 2026-08-19 at 23 12 10" src="https://github.com/user-attachments/assets/fb0b18d8-1a93-4595-85cc-e8b8a3462847" /> ## How to test 1. Connect a project to a Github repo 2. Resync the branch on `/dashboard/project/_/branches`. This will trigger deployment of the `config.toml` on your project 3. Change some settings (I recommend `dashboard/project/_/auth/providers` 4. A banner should appear on all project pages with a link ## Tests - Added coverage for configuration conversion, normalization, matching, drift detection, and unmanaged settings. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
35 lines
2.0 KiB
TypeScript
35 lines
2.0 KiB
TypeScript
export const configKeys = {
|
|
settings: (projectRef: string | undefined) => ['projects', projectRef, 'settings'] as const,
|
|
settingsV2: (projectRef: string | undefined) => ['projects', projectRef, 'settings-v2'] as const,
|
|
api: (projectRef: string | undefined) => ['projects', projectRef, 'settings', 'api'] as const,
|
|
postgrest: (projectRef: string | undefined) => ['projects', projectRef, 'postgrest'] as const,
|
|
jwtSecretUpdatingStatus: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'jwt-secret-updating-status'] as const,
|
|
storage: (projectRef: string | undefined) => ['projects', projectRef, 'storage'] as const,
|
|
upgradeEligibility: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'upgrade-eligibility'] as const,
|
|
upgradeStatus: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'upgrade-status'] as const,
|
|
diskAttributes: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'disk-attributes'] as const,
|
|
diskBreakdown: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'disk-breakdown'] as const,
|
|
diskUtilization: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'disk-utilization'] as const,
|
|
projectCreationPostgresVersions: (
|
|
organizationSlug: string | undefined,
|
|
cloudProvider: string,
|
|
dbRegion: string
|
|
) =>
|
|
['projects', organizationSlug, cloudProvider, dbRegion, 'available-creation-versions'] as const,
|
|
projectUnpausePostgresVersions: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'available-unpause-versions'] as const,
|
|
diskAutoscaleConfig: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'disk-autoscale-config'] as const,
|
|
deploymentMode: () => ['deployment-mode'] as const,
|
|
postgresConfig: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'postgres-config'] as const,
|
|
// used for entire project state, includes all configs, matches `config.toml` schema
|
|
projectConfig: (projectRef: string | undefined) => ['projects', projectRef, 'config'] as const,
|
|
}
|