From d5a5357f1617f8cf4cc4ddb2bc4a54f5fa5c7392 Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Fri, 15 Sep 2023 18:40:10 +0800 Subject: [PATCH 1/2] fix: update cli config docs to latest version --- spec/cli_v1_config.yaml | 446 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 415 insertions(+), 31 deletions(-) diff --git a/spec/cli_v1_config.yaml b/spec/cli_v1_config.yaml index 6f53e3deed6..dfc29bb92b7 100644 --- a/spec/cli_v1_config.yaml +++ b/spec/cli_v1_config.yaml @@ -7,15 +7,15 @@ configspec: '001' # This section outlines the general information for the tool. info: id: 'cli' # {string} A unique ID for this tool. - version: 'next' # {string} The current version number of the tool. + version: '1.93.0' # {string} The current version number of the tool. title: 'CLI' # {string} A readable name. source: 'https://github.com/supabase/cli' # {string} Where developers can find the source code. bugs: 'https://github.com/supabase/cli/issues' # {string} Where developers can file bugs. - spec: 'https://github.com/supabase/supabase/blob/master/web/spec/cli_config_001.yml' # {string} Where developers can find this spec (to link directly in the docs). + spec: 'https://github.com/supabase/supabase/spec/cli_v1_config.yaml' # {string} Where developers can find this spec (to link directly in the docs). description: | - A `config.toml` file is generated after running `supabase init`. + A `supabase/config.toml` file is generated after running `supabase init`. - This file is located in the `supabase` folder under `supabase/config.toml`. You can edit this file to change the settings for your locally running project. After you make changes, you will need to restart using `supabase stop` and then `supabase start` for the changes to take effect. + You can edit this file to change the settings for your locally running project. After you make changes, you will need to restart using `supabase stop` and then `supabase start` for the changes to take effect. tags: - id: general title: General @@ -29,15 +29,24 @@ info: - id: database title: Database Settings description: Database Settings. + - id: realtime + title: Realtime Settings + description: Dashboard Settings. + - id: storage + title: Storage Settings + description: Storage Settings. - id: dashboard title: Dashboard Settings description: Dashboard Settings. + - id: edge-functions + title: Edge Functions Settings + description: Edge Functions Settings. + - id: analytics + title: Analytics Settings + description: Analytics Settings. - id: local title: Local Development description: Local Development. - - id: edge-functions - title: Edge Functions - description: Edge Functions. # This section is an array of public functions which a user might need to execute. parameters: @@ -48,10 +57,22 @@ parameters: description: | A string used to distinguish different Supabase projects on the same host. Defaults to the working directory name when running `supabase init`. + - id: 'api.enabled' + title: 'api.enabled' + tags: ['api'] + required: false + default: 'true' + description: | + Enable the local PostgREST service. + links: + - name: 'PostgREST configuration' + link: 'https://postgrest.org/en/stable/configuration.html' + - id: 'api.port' title: 'api.port' tags: ['api'] - required: true + required: false + default: '54321' description: | Port to use for the API URL. links: @@ -67,8 +88,7 @@ parameters: required: false default: '["public", "storage", "graphql_public"]' description: | - Schemas to expose in your API. Tables, views and functions in this schema - will get API endpoints. `public` and `storage` are always included. + Schemas to expose in your API. Tables, views and functions in this schema will get API endpoints. `public` and `storage` are always included. links: - name: 'PostgREST configuration' link: 'https://postgrest.org/en/stable/configuration.html' @@ -77,10 +97,9 @@ parameters: title: 'api.extra_search_path' tags: ['api'] required: false - default: '["public"]' + default: '["public", "extensions"]' description: | - Extra schemas to add to the search_path of every request. public is always - included. + Extra schemas to add to the search_path of every request. public is always included. links: - name: 'PostgREST configuration' link: 'https://postgrest.org/en/stable/configuration.html' @@ -99,7 +118,8 @@ parameters: - id: 'db.port' title: 'db.port' tags: ['database'] - required: true + required: false + default: '54322' description: | Port to use for the local database URL. links: @@ -118,26 +138,130 @@ parameters: - id: 'db.major_version' title: 'db.major_version' tags: ['database'] - required: true - default: '14' + required: false + default: '15' description: | 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. links: - name: 'PostgreSQL configuration' link: 'https://postgrest.org/en/stable/configuration.html' + - id: 'db.pooler.enabled' + title: 'db.pooler.enabled' + tags: ['database'] + required: false + default: 'false' + description: | + Enable the local PgBouncer service. + links: + - name: 'PgBouncer Configuration' + link: https://www.pgbouncer.org/config.html + + - id: 'db.pooler.port' + title: 'db.pooler.port' + tags: ['database'] + required: false + default: '54329' + description: | + Port to use for the local connection pooler. + links: + - name: 'PgBouncer Configuration' + link: https://www.pgbouncer.org/config.html#listen_port + + - id: 'db.pooler.pool_mode' + title: 'db.pooler.pool_mode' + tags: ['database'] + required: false + default: '"transaction"' + description: | + Specifies when a server connection can be reused by other clients. Configure one of the supported pooler modes: `transaction`, `session`. + links: + - name: 'PgBouncer Configuration' + link: https://www.pgbouncer.org/config.html#pool_mode + + - id: 'db.pooler.default_pool_size' + title: 'db.pooler.default_pool_size' + tags: ['database'] + required: false + default: '20' + description: | + How many server connections to allow per user/database pair. + links: + - name: 'PgBouncer Configuration' + link: https://www.pgbouncer.org/config.html#default_pool_size + + - id: 'db.pooler.max_client_conn' + title: 'db.pooler.max_client_conn' + tags: ['database'] + required: false + default: '100' + description: | + Maximum number of client connections allowed. + links: + - name: 'PgBouncer Configuration' + link: https://www.pgbouncer.org/config.html#max_client_conn + + - id: 'realtime.enabled' + title: 'realtime.enabled' + tags: ['realtime'] + required: false + default: 'true' + description: | + Enable the local Realtime service. + links: [] + + - id: 'realtime.ip_version' + title: 'realtime.ip_version' + tags: ['realtime'] + required: false + default: '"IPv6"' + description: | + Bind realtime via either IPv4 or IPv6. (default: IPv6) + links: [] + + - id: 'studio.enabled' + title: 'studio.enabled' + tags: ['dashboard'] + required: false + default: 'true' + description: | + Enable the local Supabase Studio dashboard. + links: [] + - id: 'studio.port' title: 'studio.port' tags: ['dashboard'] - required: true + required: false + default: '54323' description: | Port to use for Supabase Studio. links: [] + - id: 'studio.api_url' + title: 'studio.api_url' + tags: ['dashboard'] + required: false + default: '"http://localhost"' + description: | + External URL of the API server that frontend connects to. + links: [] + + - id: 'inbucket.enabled' + title: 'inbucket.enabled' + tags: ['local'] + required: false + default: 'true' + description: | + Enable the local InBucket service. + links: + - name: 'Inbucket documentation' + link: 'https://www.inbucket.org' + - id: 'inbucket.port' title: 'inbucket.port' tags: ['local'] - required: true + required: false + default: 'true' description: | Port to use for the email testing server web interface. @@ -150,6 +274,7 @@ parameters: title: 'inbucket.smtp_port' tags: ['local'] required: false + default: '54325' description: | Port to use for the email testing server SMTP port. @@ -164,6 +289,7 @@ parameters: title: 'inbucket.pop3_port' tags: ['local'] required: false + default: '54326' description: | Port to use for the email testing server POP3 port. @@ -174,20 +300,43 @@ parameters: - name: 'Inbucket documentation' link: 'https://www.inbucket.org' + - id: 'storage.enabled' + title: 'storage.enabled' + tags: ['storage'] + required: false + default: 'true' + description: | + Enable the local Storage service. + links: + - name: 'Storage server configuration' + link: 'https://supabase.com/docs/guides/self-hosting/storage/config' + - id: 'storage.file_size_limit' title: 'storage.file_size_limit' - tags: ['local'] + tags: ['storage'] required: false + default: '"50MiB"' 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: 'auth.enabled' + title: 'auth.enabled' + tags: ['auth'] + required: false + default: 'true' + description: | + Enable the local GoTrue service. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + - id: 'auth.site_url' title: 'auth.site_url' tags: ['auth'] - required: true + required: false default: '"http://localhost:3000"' description: | The base URL of your website. Used as an allow-list for redirects and for constructing URLs used in emails. @@ -198,7 +347,7 @@ parameters: - id: 'auth.additional_redirect_urls' title: 'auth.additional_redirect_urls' tags: ['auth'] - required: true + required: false default: '["https://localhost:3000"]' description: | A list of _exact_ URLs that auth providers are permitted to redirect to post authentication. @@ -209,7 +358,7 @@ parameters: - id: 'auth.jwt_expiry' title: 'auth.jwt_expiry' tags: ['auth'] - required: true + required: false default: '3600' description: | How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 seconds (one week). @@ -217,10 +366,32 @@ parameters: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' + - id: 'auth.enable_refresh_token_rotation' + title: 'auth.enable_refresh_token_rotation' + tags: ['auth'] + required: false + default: 'true' + description: | + If disabled, the refresh token will never expire. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.refresh_token_reuse_interval' + title: 'auth.refresh_token_reuse_interval' + tags: ['auth'] + required: false + default: '10' + description: | + Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. Requires enable_refresh_token_rotation = true. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + - id: 'auth.enable_signup' title: 'auth.enable_signup' tags: ['auth'] - required: true + required: false default: 'true' description: | Allow/disallow new user signups to your project. @@ -231,7 +402,7 @@ parameters: - id: 'auth.email.enable_signup' title: 'auth.email.enable_signup' tags: ['auth'] - required: true + required: false default: 'true' description: | Allow/disallow new user signups via email to your project. @@ -242,7 +413,7 @@ parameters: - id: 'auth.email.double_confirm_changes' title: 'auth.email.double_confirm_changes' tags: ['auth'] - required: true + required: false default: 'true' description: | 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. @@ -253,8 +424,8 @@ parameters: - id: 'auth.email.enable_confirmations' title: 'auth.email.enable_confirmations' tags: ['auth'] - required: true - default: 'true' + required: false + default: 'false' description: | If enabled, users need to confirm their email address before signing in. links: @@ -293,11 +464,175 @@ parameters: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' + - id: 'auth.sms.enable_signup' + title: 'auth.sms.enable_signup' + tags: ['auth'] + required: false + default: 'true' + description: | + Allow/disallow new user signups via SMS to your project. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.enable_confirmations' + title: 'auth.sms.enable_confirmations' + tags: ['auth'] + required: false + default: 'false' + description: | + If enabled, users need to confirm their phone number before signing in. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.test_otp' + title: 'auth.sms.test_otp' + tags: ['auth'] + required: false + description: | + Use pre-defined map of phone number to OTP for testing. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + usage: | + [auth.sms.test_otp] + 4152127777 = "123456" + + - id: 'auth.sms.provider.enabled' + title: 'auth.sms..enabled' + tags: ['auth'] + required: false + default: 'false' + description: | + Use an external SMS provider. The full list of providers are: + + - `twilio` + - `twilio_verify` + - `messagebird` + - `textlocal` + - `vonage` + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.twilio.account_sid' + title: 'auth.sms..account_sid' + tags: ['auth'] + required: true + description: | + Twilio Account SID + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.twilio.message_service_sid' + title: 'auth.sms..message_service_sid' + tags: ['auth'] + required: true + description: | + Twilio Message Service SID + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.twilio.auth_token' + title: 'auth.sms..auth_token' + tags: ['auth'] + required: true + default: 'env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)' + description: | + Twilio Auth Token + + DO NOT commit your Twilio auth token to git. Use environment variable substitution instead. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.messagebird.originator' + title: 'auth.sms.messagebird.originator' + tags: ['auth'] + required: true + description: | + MessageBird Originator + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.messagebird.access_key' + title: 'auth.sms.messagebird.access_key' + tags: ['auth'] + required: true + default: 'env(SUPABASE_AUTH_SMS_MESSAGEBIRD_ACCESS_KEY)' + description: | + MessageBird Access Key + + DO NOT commit your MessageBird access key to git. Use environment variable substitution instead. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.textlocal.sender' + title: 'auth.sms.textlocal.sender' + tags: ['auth'] + required: true + description: | + TextLocal Sender + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.textlocal.api_key' + title: 'auth.sms.textlocal.api_key' + tags: ['auth'] + required: true + default: 'env(SUPABASE_AUTH_SMS_TEXTLOCAL_API_KEY)' + description: | + TextLocal API Key + + DO NOT commit your TextLocal API key to git. Use environment variable substitution instead. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.vonage.from' + title: 'auth.sms.vonage.from' + tags: ['auth'] + required: true + description: | + Vonage From + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.vonage.api_key' + title: 'auth.sms.vonage.api_key' + tags: ['auth'] + required: true + description: | + Vonage API Key + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.sms.vonage.api_secret' + title: 'auth.sms.vonage.api_secret' + tags: ['auth'] + required: true + default: 'env(SUPABASE_AUTH_SMS_VONAGE_API_SECRET)' + description: | + Vonage API Secret + + DO NOT commit your Vonage API secret to git. Use environment variable substitution instead. + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + - id: 'auth.external.provider.enabled' title: 'auth.external..enabled' tags: ['auth'] - required: true - default: 'true' + required: false + default: 'false' description: | Use an external OAuth provider. The full list of providers are: @@ -309,10 +644,15 @@ parameters: - `github` - `gitlab` - `google` + - `keycloak` + - `linkedin` + - `notion` - `twitch` - `twitter` - `slack` - `spotify` + - `workos` + - `zoom` links: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' @@ -331,8 +671,11 @@ parameters: title: 'auth.external..secret' tags: ['auth'] required: true + default: 'env(SUPABASE_AUTH_EXTERNAL__SECRET)' description: | Client secret for the external OAuth provider. + + DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead. links: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' @@ -341,7 +684,6 @@ parameters: title: 'auth.external..url' tags: ['auth'] required: false - default: '""' description: | The base URL used for constructing the URLs to request authorization and access tokens. Used by gitlab and keycloak. For gitlab it defaults to @@ -355,7 +697,6 @@ parameters: title: 'auth.external..redirect_uri' tags: ['auth'] required: false - default: '""' description: | The URI a OAuth2 provider will redirect to with the code and state values. links: @@ -388,3 +729,46 @@ parameters: links: - name: '`supabase functions` CLI subcommands' link: 'https://supabase.com/docs/reference/cli/supabase-functions' + + - id: 'analytics.enabled' + title: 'analytics.enabled' + tags: ['analytics'] + required: false + default: 'false' + description: | + Enable the local Logflare service. + links: + - name: Self-hosted Logflare Configuration + link: https://supabase.com/docs/reference/self-hosting-analytics/list-endpoints#getting-started + + - id: 'analytics.port' + title: 'analytics.port' + tags: ['analytics'] + required: false + default: '54327' + description: | + Port to the local Logflare service. + links: [] + + - id: 'analytics.vector_port' + title: 'analytics.vector_port' + tags: ['analytics'] + required: false + default: '54328' + description: | + Port to the local syslog ingest service. + links: [] + + - id: 'analytics.backend' + title: 'analytics.backend' + tags: ['analytics'] + required: false + default: '"postgres"' + description: | + Configure one of the supported backends: + + - `postgres` + - `bigquery` + links: + - name: Self-hosted Logflare Configuration + link: https://supabase.com/docs/reference/self-hosting-analytics/list-endpoints#getting-started From 75863037f2d696f45421b8105c950c263a6b95ec Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Sun, 17 Sep 2023 00:15:40 +0800 Subject: [PATCH 2/2] chore: update section titles --- apps/docs/pages/guides/cli/config.tsx | 12 ++++----- spec/cli_v1_config.yaml | 38 +++++++++++++-------------- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/apps/docs/pages/guides/cli/config.tsx b/apps/docs/pages/guides/cli/config.tsx index 6789c50ce74..febc8fe69d5 100644 --- a/apps/docs/pages/guides/cli/config.tsx +++ b/apps/docs/pages/guides/cli/config.tsx @@ -7,17 +7,15 @@ import Head from 'next/head' import { CodeBlock } from 'ui' // Parameters are grouped on the page by tag -const TAGS = ['General', 'Auth', 'API', 'Database', 'Dashboard', 'Local', 'Edge-Functions'] - const tocList = [] -const content = TAGS.map((tag) => { - tocList.push({ text: tag, link: `${tag.toLowerCase()}-config`, level: 2 }) +const content = specFile.info.tags.map((tag) => { + tocList.push({ text: tag.title, link: `${tag.id}-config`, level: 2 }) return (
- {tag} Config + {tag.title} Config {specFile.parameters - .filter((param: Parameter) => param.tags[0] === tag.toLowerCase()) - .map((parameter: Parameter, index) => { + .filter((param: Parameter) => param.tags[0] === tag.id) + .map((parameter: Parameter) => { tocList.push({ text: parameter.id, link: `#${parameter.id}`, level: 3 }) return })} diff --git a/spec/cli_v1_config.yaml b/spec/cli_v1_config.yaml index dfc29bb92b7..b4e9cc67e52 100644 --- a/spec/cli_v1_config.yaml +++ b/spec/cli_v1_config.yaml @@ -21,32 +21,32 @@ info: title: General description: General settings. - id: auth - title: Auth Settings - description: Auth Settings. + title: Auth + description: Auth settings. - id: api - title: API Settings - description: Auth Settings. + title: API + description: Auth settings. - id: database - title: Database Settings - description: Database Settings. - - id: realtime - title: Realtime Settings - description: Dashboard Settings. - - id: storage - title: Storage Settings - description: Storage Settings. + title: Database + description: Database settings. - id: dashboard - title: Dashboard Settings - description: Dashboard Settings. + title: Dashboard + description: Dashboard settings. + - id: realtime + title: Realtime + description: Dashboard settings. + - id: storage + title: Storage + description: Storage settings. - id: edge-functions - title: Edge Functions Settings - description: Edge Functions Settings. + title: Edge-Functions + description: Edge-Functions settings. - id: analytics - title: Analytics Settings - description: Analytics Settings. + title: Analytics + description: Analytics settings. - id: local title: Local Development - description: Local Development. + description: Local Development settings. # This section is an array of public functions which a user might need to execute. parameters: