From aa586cf3dc5b660f301610e0160614c5ccd9b381 Mon Sep 17 00:00:00 2001 From: Han Qiao Date: Tue, 3 Dec 2024 21:36:33 +0800 Subject: [PATCH 1/4] chore: update cli config for storage buckets (#30829) * chore: update cli config for storage buckets * chore: mention default import map location * chore: add storage prefix to config id --- apps/docs/spec/cli_v1_config.yaml | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/apps/docs/spec/cli_v1_config.yaml b/apps/docs/spec/cli_v1_config.yaml index 3188928d9e7..2cd7a2e2e86 100644 --- a/apps/docs/spec/cli_v1_config.yaml +++ b/apps/docs/spec/cli_v1_config.yaml @@ -586,12 +586,53 @@ parameters: tags: ['storage'] required: false default: '"50MiB"' + description: | + The maximum file size allowed for all buckets in the project. + links: + - name: 'Storage server configuration' + link: 'https://supabase.com/docs/guides/self-hosting/storage/config' + + - id: 'storage.buckets.bucket_name.public' + title: 'storage.buckets..public' + tags: ['storage'] + required: false + default: 'false' + description: | + Enable public access to the bucket. + links: + - name: 'Storage server configuration' + link: 'https://supabase.com/docs/guides/self-hosting/storage/config' + + - id: 'storage.buckets.bucket_name.file_size_limit' + title: 'storage.buckets..file_size_limit' + tags: ['storage'] + required: false description: | The maximum file size allowed (e.g. "5MB", "500KB"). links: - name: 'Storage server configuration' link: 'https://supabase.com/docs/guides/self-hosting/storage/config' + - id: 'storage.buckets.bucket_name.allowed_mime_types' + title: 'storage.buckets..allowed_mime_types' + tags: ['storage'] + required: false + description: | + The list of allowed MIME types for objects in the bucket. + links: + - name: 'Storage server configuration' + link: 'https://supabase.com/docs/guides/self-hosting/storage/config' + + - id: 'storage.buckets.bucket_name.objects_path' + title: 'storage.buckets..objects_path' + tags: ['storage'] + required: false + description: | + The local directory to upload objects to the bucket. + links: + - name: 'Storage server configuration' + link: 'https://supabase.com/docs/guides/self-hosting/storage/config' + - id: 'auth.enabled' title: 'auth.enabled' tags: ['auth'] @@ -1176,6 +1217,7 @@ parameters: required: false description: | Specify the Deno import map file to use for the Function. + When not specified, defaults to `supabase/functions//deno.json`. Note that the `--import-map` flag overrides this configuration. links: From 29e1b6c051f47350e496dc9ff8b1fd39dba4c3fb Mon Sep 17 00:00:00 2001 From: Han Qiao Date: Tue, 3 Dec 2024 22:29:44 +0800 Subject: [PATCH 2/4] chore: simplify configs for the rest of ai examples (#30839) * chore: simplify configs for the rest of ai examples * chore: document how to update project config * chore: link to config docs --- .../supabase/config.toml | 15 +- examples/ai/edge-functions/README.md | 2 +- .../ai/edge-functions/supabase/config.toml | 155 ++----------- examples/ai/image_search/supabase/.gitignore | 4 + examples/ai/image_search/supabase/config.toml | 83 +------ examples/ai/image_search/supabase/seed.sql | 0 .../ai/llamafile-edge/supabase/config.toml | 205 +++--------------- examples/ai/llamafile-edge/supabase/seed.sql | 0 8 files changed, 69 insertions(+), 395 deletions(-) create mode 100644 examples/ai/image_search/supabase/.gitignore delete mode 100644 examples/ai/image_search/supabase/seed.sql delete mode 100644 examples/ai/llamafile-edge/supabase/seed.sql diff --git a/examples/ai/aws_bedrock_image_search/supabase/config.toml b/examples/ai/aws_bedrock_image_search/supabase/config.toml index 2571a2f783d..850a4283c6d 100644 --- a/examples/ai/aws_bedrock_image_search/supabase/config.toml +++ b/examples/ai/aws_bedrock_image_search/supabase/config.toml @@ -15,14 +15,9 @@ shadow_port = 54320 # server_version;` on the remote database to check. major_version = 15 -[db.pooler] +[db.seed] +# If enabled, seeds the database after migrations during a db reset. enabled = false -# Port to use for the local connection pooler. -port = 54329 -# Specifies when a server connection can be reused by other clients. -# Configure one of the supported pooler modes: `transaction`, `session`. -pool_mode = "transaction" -# How many server connections to allow per user/database pair. -default_pool_size = 20 -# Maximum number of client connections allowed. -max_client_conn = 100 +# Specifies an ordered list of seed files to load during db reset. +# Supports glob patterns relative to supabase directory. For example: +# sql_paths = ['./seeds/*.sql', '../project-src/seeds/*-load-testing.sql'] diff --git a/examples/ai/edge-functions/README.md b/examples/ai/edge-functions/README.md index 2ae1a4fda0e..fce97ee7fc0 100644 --- a/examples/ai/edge-functions/README.md +++ b/examples/ai/edge-functions/README.md @@ -14,7 +14,7 @@ This demo consists of three parts: - Link your project: `supabase link` - Deploy Edge Functions: `supabase functions deploy` -- Enable Database Webhooks in your [project dashboard](https://supabase.com/dashboard/project/_/database/hooks) +- Update project config to [enable webhooks](https://supabase.com/docs/guides/local-development/cli/config#experimental.webhooks.enabled): `supabase config push` - Navigate to the [database-webhook](./supabase/migrations/20240410041607_database-webhook.sql) migration file and insert your `generate-embedding` function details. - Push up the database schema `supabase db push` diff --git a/examples/ai/edge-functions/supabase/config.toml b/examples/ai/edge-functions/supabase/config.toml index becab52a8ce..d383e8c9460 100644 --- a/examples/ai/edge-functions/supabase/config.toml +++ b/examples/ai/edge-functions/supabase/config.toml @@ -7,9 +7,9 @@ enabled = true # Port to use for the API URL. port = 54321 # Schemas to expose in your API. Tables, views and stored procedures in this schema will get API -# endpoints. public and storage are always included. -schemas = ["public", "storage", "graphql_public"] -# Extra schemas to add to the search_path of every request. public is always included. +# endpoints. `public` is always included. +schemas = ["public", "graphql_public"] +# Extra schemas to add to the search_path of every request. `public` is always included. extra_search_path = ["public", "extensions"] # The maximum number of rows returns from a view, table, or stored procedure. Limits payload size # for accidental or malicious requests. @@ -24,140 +24,29 @@ shadow_port = 54320 # server_version;` on the remote database to check. major_version = 15 -[db.pooler] -enabled = false -# Port to use for the local connection pooler. -port = 54329 -# Specifies when a server connection can be reused by other clients. -# Configure one of the supported pooler modes: `transaction`, `session`. -pool_mode = "transaction" -# How many server connections to allow per user/database pair. -default_pool_size = 20 -# Maximum number of client connections allowed. -max_client_conn = 100 - -[realtime] +[db.seed] +# If enabled, seeds the database after migrations during a db reset. enabled = true -# Bind realtime via either IPv4 or IPv6. (default: IPv6) -# ip_version = "IPv6" -# The maximum length in bytes of HTTP request headers. (default: 4096) -# max_header_length = 4096 +# Specifies an ordered list of seed files to load during db reset. +# Supports glob patterns relative to supabase directory, ie. './seeds/*.sql' +sql_paths = ['./seed.sql'] -[studio] +[functions.generate-embedding] enabled = true -# Port to use for Supabase Studio. -port = 54323 -# External URL of the API server that frontend connects to. -api_url = "http://127.0.0.1" -# OpenAI API Key to use for Supabase AI in the Supabase Studio. -openai_api_key = "env(OPENAI_API_KEY)" +# verify_jwt = true +# import_map = "./functions/generate-embedding/deno.json" +# Uncomment to specify a custom file path to the entrypoint. +# Supported file extensions are: .ts, .js, .mjs, .jsx, .tsx +# entrypoint = "./functions/generate-embedding/index.ts" -# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they -# are monitored, and you can view the emails that would have been sent from the web interface. -[inbucket] +[functions.search] enabled = true -# Port to use for the email testing server web interface. -port = 54324 -# Uncomment to expose additional ports for testing user applications that send emails. -# smtp_port = 54325 -# pop3_port = 54326 - -[storage] -enabled = true -# The maximum file size allowed (e.g. "5MB", "500KB"). -file_size_limit = "50MiB" - -[auth] -enabled = true -# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used -# in emails. -site_url = "http://127.0.0.1:3000" -# A list of *exact* URLs that auth providers are permitted to redirect to post authentication. -additional_redirect_urls = ["https://127.0.0.1:3000"] -# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week). -jwt_expiry = 3600 -# If disabled, the refresh token will never expire. -enable_refresh_token_rotation = true -# Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. -# Requires enable_refresh_token_rotation = true. -refresh_token_reuse_interval = 10 -# Allow/disallow new user signups to your project. -enable_signup = true -# Allow/disallow anonymous sign-ins to your project. -enable_anonymous_sign_ins = false -# Allow/disallow testing manual linking of accounts -enable_manual_linking = false - -[auth.email] -# Allow/disallow new user signups via email to your project. -enable_signup = true -# If enabled, a user will be required to confirm any email change on both the old, and new email -# addresses. If disabled, only the new email is required to confirm. -double_confirm_changes = true -# If enabled, users need to confirm their email address before signing in. -enable_confirmations = false - -# Uncomment to customize email template -# [auth.email.template.invite] -# subject = "You have been invited" -# content_path = "./supabase/templates/invite.html" - -[auth.sms] -# Allow/disallow new user signups via SMS to your project. -enable_signup = true -# If enabled, users need to confirm their phone number before signing in. -enable_confirmations = false -# Template for sending OTP to users -template = "Your code is {{ .Code }} ." - -# Use pre-defined map of phone number to OTP for testing. -[auth.sms.test_otp] -# 4152127777 = "123456" - -# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used. -[auth.hook.custom_access_token] -# enabled = true -# uri = "pg-functions:////" - - -# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. -[auth.sms.twilio] -enabled = false -account_sid = "" -message_service_sid = "" -# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: -auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" - -# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, -# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`, -# `twitter`, `slack`, `spotify`, `workos`, `zoom`. -[auth.external.apple] -enabled = false -client_id = "" -# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: -secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" -# Overrides the default auth redirectUrl. -redirect_uri = "" -# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, -# or any other third-party OIDC providers. -url = "" - -[analytics] -enabled = false -port = 54327 -vector_port = 54328 -# Configure one of the supported backends: `postgres`, `bigquery`. -backend = "postgres" +# verify_jwt = true +# import_map = "./functions/search/deno.json" +# Uncomment to specify a custom file path to the entrypoint. +# Supported file extensions are: .ts, .js, .mjs, .jsx, .tsx +# entrypoint = "./functions/search/index.ts" # Experimental features may be deprecated any time -[experimental] -# Configures Postgres storage engine to use OrioleDB (S3) -orioledb_version = "" -# Configures S3 bucket URL, eg. .s3-.amazonaws.com -s3_host = "env(S3_HOST)" -# Configures S3 bucket region, eg. us-east-1 -s3_region = "env(S3_REGION)" -# Configures AWS_ACCESS_KEY_ID for S3 bucket -s3_access_key = "env(S3_ACCESS_KEY)" -# Configures AWS_SECRET_ACCESS_KEY for S3 bucket -s3_secret_key = "env(S3_SECRET_KEY)" +[experimental.webhooks] +enabled = true diff --git a/examples/ai/image_search/supabase/.gitignore b/examples/ai/image_search/supabase/.gitignore new file mode 100644 index 00000000000..a3ad88055b7 --- /dev/null +++ b/examples/ai/image_search/supabase/.gitignore @@ -0,0 +1,4 @@ +# Supabase +.branches +.temp +.env diff --git a/examples/ai/image_search/supabase/config.toml b/examples/ai/image_search/supabase/config.toml index a9afc1b4153..850a4283c6d 100644 --- a/examples/ai/image_search/supabase/config.toml +++ b/examples/ai/image_search/supabase/config.toml @@ -1,82 +1,23 @@ -# A string used to distinguish different Supabase projects on the same host. Defaults to the working -# directory name when running `supabase init`. -project_id = "image_search" +# A string used to distinguish different Supabase projects on the same host. Defaults to the +# working directory name when running `supabase init`. +project_id = "aws_bedrock_image_search" [api] -# Port to use for the API URL. -port = 54321 -# Schemas to expose in your API. Tables, views and stored procedures in this schema will get API -# endpoints. public and storage are always included. -schemas = ["public", "storage", "graphql_public"] -# Extra schemas to add to the search_path of every request. public is always included. -extra_search_path = ["public", "extensions"] -# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size -# for accidental or malicious requests. -max_rows = 1000 +# Disable data API since we are not using the PostgREST client in this example. +enabled = false [db] # Port to use for the local database URL. port = 54322 +# Port used by db diff command to initialize the shadow database. +shadow_port = 54320 # The database major version to use. This has to be the same as your remote database's. Run `SHOW # server_version;` on the remote database to check. major_version = 15 -[studio] -# Port to use for Supabase Studio. -port = 54323 - -# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they -# are monitored, and you can view the emails that would have been sent from the web interface. -[inbucket] -# Port to use for the email testing server web interface. -port = 54324 -smtp_port = 54325 -pop3_port = 54326 - -[storage] -# The maximum file size allowed (e.g. "5MB", "500KB"). -file_size_limit = "50MiB" - -[auth] -# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used -# in emails. -site_url = "http://localhost:3000" -# A list of *exact* URLs that auth providers are permitted to redirect to post authentication. -additional_redirect_urls = ["https://localhost:3000"] -# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 seconds (one -# week). -jwt_expiry = 3600 -# Allow/disallow new user signups to your project. -enable_signup = true - -[auth.email] -# Allow/disallow new user signups via email to your project. -enable_signup = true -# If enabled, a user will be required to confirm any email change on both the old, and new email -# addresses. If disabled, only the new email is required to confirm. -double_confirm_changes = true -# If enabled, users need to confirm their email address before signing in. -enable_confirmations = false - -# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, -# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin`, `notion`, `twitch`, -# `twitter`, `slack`, `spotify`, `workos`, `zoom`. -[auth.external.apple] +[db.seed] +# If enabled, seeds the database after migrations during a db reset. enabled = false -client_id = "" -secret = "" -# Overrides the default auth redirectUrl. -redirect_uri = "" -# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, -# or any other third-party OIDC providers. -url = "" - -[analytics] -enabled = false -port = 54327 -vector_port = 54328 -# Setup BigQuery project to enable log viewer on local development stack. -# See: https://logflare.app/guides/bigquery-setup -gcp_project_id = "" -gcp_project_number = "" -gcp_jwt_path = "supabase/gcloud.json" +# Specifies an ordered list of seed files to load during db reset. +# Supports glob patterns relative to supabase directory. For example: +# sql_paths = ['./seeds/*.sql', '../project-src/seeds/*-load-testing.sql'] diff --git a/examples/ai/image_search/supabase/seed.sql b/examples/ai/image_search/supabase/seed.sql deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/examples/ai/llamafile-edge/supabase/config.toml b/examples/ai/llamafile-edge/supabase/config.toml index 559566cbb47..0793a83caca 100644 --- a/examples/ai/llamafile-edge/supabase/config.toml +++ b/examples/ai/llamafile-edge/supabase/config.toml @@ -1,21 +1,9 @@ # A string used to distinguish different Supabase projects on the same host. Defaults to the # working directory name when running `supabase init`. -project_id = "llamafile-edge" +project_id = "aws_bedrock_image_search" [api] -enabled = true -# Port to use for the API URL. -port = 54321 -# Schemas to expose in your API. Tables, views and stored procedures in this schema will get API -# endpoints. `public` is always included. -schemas = ["public", "graphql_public"] -# Extra schemas to add to the search_path of every request. `public` is always included. -extra_search_path = ["public", "extensions"] -# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size -# for accidental or malicious requests. -max_rows = 1000 - -[api.tls] +# Disable data API since we are not using the PostgREST client in this example. enabled = false [db] @@ -27,176 +15,33 @@ shadow_port = 54320 # server_version;` on the remote database to check. major_version = 15 -[db.pooler] +[db.seed] +# If enabled, seeds the database after migrations during a db reset. enabled = false -# Port to use for the local connection pooler. -port = 54329 -# Specifies when a server connection can be reused by other clients. -# Configure one of the supported pooler modes: `transaction`, `session`. -pool_mode = "transaction" -# How many server connections to allow per user/database pair. -default_pool_size = 20 -# Maximum number of client connections allowed. -max_client_conn = 100 +# Specifies an ordered list of seed files to load during db reset. +# Supports glob patterns relative to supabase directory. For example: +# sql_paths = ['./seeds/*.sql', '../project-src/seeds/*-load-testing.sql'] -[realtime] +[functions.llamafile] enabled = true -# Bind realtime via either IPv4 or IPv6. (default: IPv4) -# ip_version = "IPv6" -# The maximum length in bytes of HTTP request headers. (default: 4096) -# max_header_length = 4096 +# verify_jwt = true +# import_map = "./functions/llamafile/deno.json" +# Uncomment to specify a custom file path to the entrypoint. +# Supported file extensions are: .ts, .js, .mjs, .jsx, .tsx +# entrypoint = "./functions/llamafile/index.ts" -[studio] +[functions.llamafile-stream] enabled = true -# Port to use for Supabase Studio. -port = 54323 -# External URL of the API server that frontend connects to. -api_url = "http://127.0.0.1" -# OpenAI API Key to use for Supabase AI in the Supabase Studio. -openai_api_key = "env(OPENAI_API_KEY)" +# verify_jwt = true +# import_map = "./functions/llamafile-stream/deno.json" +# Uncomment to specify a custom file path to the entrypoint. +# Supported file extensions are: .ts, .js, .mjs, .jsx, .tsx +# entrypoint = "./functions/llamafile-stream/index.ts" -# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they -# are monitored, and you can view the emails that would have been sent from the web interface. -[inbucket] +[functions.openai-sdk] enabled = true -# Port to use for the email testing server web interface. -port = 54324 -# Uncomment to expose additional ports for testing user applications that send emails. -# smtp_port = 54325 -# pop3_port = 54326 - -[storage] -enabled = true -# The maximum file size allowed (e.g. "5MB", "500KB"). -file_size_limit = "50MiB" - -[storage.image_transformation] -enabled = true - -# Uncomment to configure local storage buckets -# [storage.buckets.images] -# public = false -# file_size_limit = "50MiB" -# allowed_mime_types = ["image/png", "image/jpeg"] - -[auth] -enabled = true -# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used -# in emails. -site_url = "http://127.0.0.1:3000" -# A list of *exact* URLs that auth providers are permitted to redirect to post authentication. -additional_redirect_urls = ["https://127.0.0.1:3000"] -# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week). -jwt_expiry = 3600 -# If disabled, the refresh token will never expire. -enable_refresh_token_rotation = true -# Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. -# Requires enable_refresh_token_rotation = true. -refresh_token_reuse_interval = 10 -# Allow/disallow new user signups to your project. -enable_signup = true -# Allow/disallow anonymous sign-ins to your project. -enable_anonymous_sign_ins = false -# Allow/disallow testing manual linking of accounts -enable_manual_linking = false - -[auth.email] -# Allow/disallow new user signups via email to your project. -enable_signup = true -# If enabled, a user will be required to confirm any email change on both the old, and new email -# addresses. If disabled, only the new email is required to confirm. -double_confirm_changes = true -# If enabled, users need to confirm their email address before signing in. -enable_confirmations = false -# Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email. -max_frequency = "1s" - -# Use a production-ready SMTP server -# [auth.email.smtp] -# host = "smtp.sendgrid.net" -# port = 587 -# user = "apikey" -# pass = "env(SENDGRID_API_KEY)" -# admin_email = "admin@email.com" -# sender_name = "Admin" - -# Uncomment to customize email template -# [auth.email.template.invite] -# subject = "You have been invited" -# content_path = "./supabase/templates/invite.html" - -[auth.sms] -# Allow/disallow new user signups via SMS to your project. -enable_signup = true -# If enabled, users need to confirm their phone number before signing in. -enable_confirmations = false -# Template for sending OTP to users -template = "Your code is {{ .Code }} ." -# Controls the minimum amount of time that must pass before sending another sms otp. -max_frequency = "5s" - -# Use pre-defined map of phone number to OTP for testing. -# [auth.sms.test_otp] -# 4152127777 = "123456" - -# Configure logged in session timeouts. -# [auth.sessions] -# Force log out after the specified duration. -# timebox = "24h" -# Force log out if the user has been inactive longer than the specified duration. -# inactivity_timeout = "8h" - -# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used. -# [auth.hook.custom_access_token] -# enabled = true -# uri = "pg-functions:////" - -# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. -[auth.sms.twilio] -enabled = false -account_sid = "" -message_service_sid = "" -# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: -auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" - -# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, -# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`, -# `twitter`, `slack`, `spotify`, `workos`, `zoom`. -[auth.external.apple] -enabled = false -client_id = "" -# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: -secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" -# Overrides the default auth redirectUrl. -redirect_uri = "" -# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, -# or any other third-party OIDC providers. -url = "" -# If enabled, the nonce check will be skipped. Required for local sign in with Google auth. -skip_nonce_check = false - -[edge_runtime] -enabled = true -# Configure one of the supported request policies: `oneshot`, `per_worker`. -# Use `oneshot` for hot reload, or `per_worker` for load testing. -policy = "oneshot" -inspector_port = 8083 - -[analytics] -enabled = true -port = 54327 -# Configure one of the supported backends: `postgres`, `bigquery`. -backend = "postgres" - -# Experimental features may be deprecated any time -[experimental] -# Configures Postgres storage engine to use OrioleDB (S3) -orioledb_version = "" -# Configures S3 bucket URL, eg. .s3-.amazonaws.com -s3_host = "env(S3_HOST)" -# Configures S3 bucket region, eg. us-east-1 -s3_region = "env(S3_REGION)" -# Configures AWS_ACCESS_KEY_ID for S3 bucket -s3_access_key = "env(S3_ACCESS_KEY)" -# Configures AWS_SECRET_ACCESS_KEY for S3 bucket -s3_secret_key = "env(S3_SECRET_KEY)" +# verify_jwt = true +# import_map = "./functions/openai-sdk/deno.json" +# Uncomment to specify a custom file path to the entrypoint. +# Supported file extensions are: .ts, .js, .mjs, .jsx, .tsx +# entrypoint = "./functions/openai-sdk/index.ts" diff --git a/examples/ai/llamafile-edge/supabase/seed.sql b/examples/ai/llamafile-edge/supabase/seed.sql deleted file mode 100644 index e69de29bb2d..00000000000 From 1b46882326d3d6a2627dc06f921b00002fb70325 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Tue, 3 Dec 2024 10:52:34 -0400 Subject: [PATCH 3/4] tiger d2 (#30842) * tiger d2 * update lw12 summary link * update title * update visual * highlight build stage on scroll * initial commit * Small adjustment to make the hook punchier * final edits * add SVGs for LW page * add og and thumbs * Update og.jpg * update title, add blog link and video slug * switch to lighter pngs * promo toast * og --------- Co-authored-by: Inian Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com> Co-authored-by: Jonathan Summers-Muir --- apps/www/_blog/2024-12-01-orioledb-launch.mdx | 1 + .../2024-12-02-supabase-ai-assistant-v2.mdx | 1 + ...-functions-background-tasks-websockets.mdx | 276 ++++++++++++++++++ apps/www/components/Hero/Hero.tsx | 6 +- .../components/LaunchWeek/12/LWSummary.tsx | 2 +- .../LaunchWeek/13/Releases/LWStickyNav.tsx | 2 +- .../LaunchWeek/13/Releases/LWSummary.tsx | 77 +++++ .../13/Releases/data/lw13_build_stage.tsx | 8 +- .../LaunchWeek/13/Releases/data/lw13_data.tsx | 46 ++- .../LaunchWeek/13/ThreeTicketCanvas.tsx | 6 +- .../LaunchWeek/13/Ticket/TicketCopy.tsx | 2 +- .../LaunchWeek/13/Ticket/TicketingFlow.tsx | 2 +- apps/www/pages/blog/[slug].tsx | 3 + .../day-1-ai-assistant-v2/og.jpg | Bin 146421 -> 144757 bytes .../day-2-functions-background-tasks/og.jpg | Bin 0 -> 324011 bytes .../thumb.jpg | Bin 0 -> 144534 bytes .../d2/d2-functions-background-tasks-dark.png | Bin 0 -> 160437 bytes .../d2-functions-background-tasks-light.png | Bin 0 -> 156722 bytes ...functions-background-tasks-mobile-dark.png | Bin 0 -> 87201 bytes ...unctions-background-tasks-mobile-light.png | Bin 0 -> 85204 bytes apps/www/public/rss.xml | 16 +- .../ui-patterns/PromoToast/PromoToast.tsx | 6 +- .../LW13CountdownBanner.tsx | 4 +- .../src/layout/banners/data/Announcement.json | 4 +- 24 files changed, 422 insertions(+), 40 deletions(-) create mode 100644 apps/www/_blog/2024-12-03-edge-functions-background-tasks-websockets.mdx create mode 100644 apps/www/components/LaunchWeek/13/Releases/LWSummary.tsx create mode 100644 apps/www/public/images/blog/launch-week-13/day-2-functions-background-tasks/og.jpg create mode 100644 apps/www/public/images/blog/launch-week-13/day-2-functions-background-tasks/thumb.jpg create mode 100644 apps/www/public/images/launchweek/13/releases/d2/d2-functions-background-tasks-dark.png create mode 100644 apps/www/public/images/launchweek/13/releases/d2/d2-functions-background-tasks-light.png create mode 100644 apps/www/public/images/launchweek/13/releases/d2/d2-functions-background-tasks-mobile-dark.png create mode 100644 apps/www/public/images/launchweek/13/releases/d2/d2-functions-background-tasks-mobile-light.png diff --git a/apps/www/_blog/2024-12-01-orioledb-launch.mdx b/apps/www/_blog/2024-12-01-orioledb-launch.mdx index 54d0b26f736..fde932ad13f 100644 --- a/apps/www/_blog/2024-12-01-orioledb-launch.mdx +++ b/apps/www/_blog/2024-12-01-orioledb-launch.mdx @@ -10,6 +10,7 @@ tags: - supabase-engineering date: '2024-12-01' toc_depth: 3 +launchweek: '13' --- # OrioleDB Public Alpha diff --git a/apps/www/_blog/2024-12-02-supabase-ai-assistant-v2.mdx b/apps/www/_blog/2024-12-02-supabase-ai-assistant-v2.mdx index 52258b76c35..ad3c5c6a597 100644 --- a/apps/www/_blog/2024-12-02-supabase-ai-assistant-v2.mdx +++ b/apps/www/_blog/2024-12-02-supabase-ai-assistant-v2.mdx @@ -12,6 +12,7 @@ tags: - postgres date: '2024-12-02' toc_depth: 3 +launchweek: '13' --- Today we are releasing Supabase Assistant v2 in the Dashboard - a global assistant with several new abilities: diff --git a/apps/www/_blog/2024-12-03-edge-functions-background-tasks-websockets.mdx b/apps/www/_blog/2024-12-03-edge-functions-background-tasks-websockets.mdx new file mode 100644 index 00000000000..744914b033e --- /dev/null +++ b/apps/www/_blog/2024-12-03-edge-functions-background-tasks-websockets.mdx @@ -0,0 +1,276 @@ +--- +title: 'Supabase Edge Functions: Introducing Background Tasks, Ephemeral Storage, and WebSockets' +description: Edge functions can be used for workloads outside the request-response lifecycle +author: laktek,nyannyacha +image: launch-week-13/day-2-functions-background-tasks/og.jpg +thumb: launch-week-13/day-2-functions-background-tasks/thumb.jpg +categories: + - product +tags: + - functions + - launch-week +date: '2024-12-03' +toc_depth: 3 +launchweek: '13' +--- + +We are excited to announce three long-awaited features: Background Tasks, Ephemeral File Storage, and WebSockets. + +Starting today, you can use these features in any project. Let's explore what exciting things you can build with them. + +
+