Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 21 additions & 5 deletions internal/component/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ func (b *StorageBuilder) BuildDeployment(project *v1alpha1.SupabaseProject) (*ap
},
},
{
Name: "S3_ENDPOINT",
Name: "GLOBAL_S3_ENDPOINT",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve S3_ENDPOINT until storage CRD default is upgraded

This change removes the legacy S3_ENDPOINT env var and only sets GLOBAL_S3_ENDPOINT, but the shipped CRD/API defaults for spec.storageAPI.image are still supabase/storage-api:v1.25.7 (helm/supabase-operator/crds/supabase.strrl.dev_supabaseprojects.yaml:1473, api/v1alpha1/supabaseproject_types.go:180). In the common case where users set spec.storageAPI fields but omit image, admission defaulting can keep v1.25.7, and that version expects the legacy endpoint variable; the pod then starts with incompatible env configuration and storage cannot connect to S3.

Useful? React with 👍 / 👎.

ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{
LocalObjectReference: corev1.LocalObjectReference{
Expand All @@ -208,6 +208,22 @@ func (b *StorageBuilder) BuildDeployment(project *v1alpha1.SupabaseProject) (*ap
},
},
},
{
Name: "GLOBAL_S3_FORCE_PATH_STYLE",
Value: "true",
},
{
Name: "TENANT_ID",
Value: "stub",
},
{
Name: "REGION",
Value: "stub",
},
{
Name: "POSTGREST_URL",
Value: "http://" + project.Name + "-postgrest:3000",
},
}

deployment := &appsv1.Deployment{
Expand Down Expand Up @@ -289,12 +305,12 @@ func (b *StorageBuilder) BuildService(project *v1alpha1.SupabaseProject) (*corev
func getStorageDefaultResources() corev1.ResourceRequirements {
return corev1.ResourceRequirements{
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("64Mi"),
corev1.ResourceCPU: resource.MustParse("50m"),
corev1.ResourceMemory: resource.MustParse("256Mi"),
corev1.ResourceCPU: resource.MustParse("100m"),
},
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("128Mi"),
corev1.ResourceCPU: resource.MustParse("100m"),
corev1.ResourceMemory: resource.MustParse("512Mi"),
corev1.ResourceCPU: resource.MustParse("500m"),
},
}
}
2 changes: 1 addition & 1 deletion internal/controller/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ var _ = BeforeSuite(func() {

By("bootstrapping test environment")
testEnv = &envtest.Environment{
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
CRDDirectoryPaths: []string{filepath.Join("..", "..", "helm", "supabase-operator", "crds")},
ErrorIfCRDPathMissing: true,
}

Expand Down
2 changes: 1 addition & 1 deletion internal/webhook/wellknown_supabase_images.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const (
DefaultAuthImage = "supabase/gotrue:v2.180.0"
DefaultPostgRESTImage = "postgrest/postgrest:v13.0.7"
DefaultRealtimeImage = "supabase/realtime:v2.51.11"
DefaultStorageAPIImage = "supabase/storage-api:v1.28.0"
DefaultStorageAPIImage = "supabase/storage-api:v1.32.0"
DefaultMetaImage = "supabase/postgres-meta:v0.93.1"
DefaultStudioImage = "supabase/studio:2025.10.01-sha-8460121"
DefaultPostgresImage = "postgres:15-alpine"
Expand Down
3 changes: 1 addition & 2 deletions test/e2e/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,6 @@ func captureStudioScreenshot(ctx context.Context, chromePath, url, username, pas
chromedp.Flag("disable-gpu", true),
chromedp.Flag("no-sandbox", true),
chromedp.Flag("disable-dev-shm-usage", true),
chromedp.Flag("single-process", true),
chromedp.Flag("hide-scrollbars", true),
chromedp.Flag("window-size", "1280,720"),
chromedp.Flag("remote-allow-origins", "*"),
Expand All @@ -708,7 +707,7 @@ func captureStudioScreenshot(ctx context.Context, chromePath, url, username, pas
const maxAttempts = 3
for attempt := 1; attempt <= maxAttempts; attempt++ {
attemptAllocatorCtx, cancelAlloc := chromedp.NewExecAllocator(ctx, allocOpts...)
attemptCtx, cancelTimeout := context.WithTimeout(attemptAllocatorCtx, 5*time.Minute)
attemptCtx, cancelTimeout := context.WithTimeout(attemptAllocatorCtx, 1*time.Minute)

browserCtx, cancelCtx := chromedp.NewContext(
attemptCtx,
Expand Down