Files
supabase/spec/cli_v1_config.yaml
T

356 lines
12 KiB
YAML

# The spec is divided into 2 main sections:
# info: general information about the tool
# functions: public functions which the user can access
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.
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).
description: |
A `config.toml` file is generated after running `supabase init`.
This file is located in the `supabase` folder under `supabase/config.toml`.
tags:
- id: general
title: General
description: General settings.
- id: auth
title: Auth Settings
description: Auth Settings.
- id: api
title: API Settings
description: Auth Settings.
- id: database
title: Database Settings
description: Database Settings.
- id: dashboard
title: Dashboard Settings
description: Dashboard 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:
- id: 'project_id' # {string} A unique identifier for this param.
title: 'project_id' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
required: true
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.port'
title: 'api.port'
tags: ['api']
required: true
description: |
Port to use for the API URL.
links:
- name: 'PostgREST configuration'
link: 'https://postgrest.org/en/stable/configuration.html'
- id: 'api.schemas'
title: 'api.schemas'
tags: ['api']
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.
links:
- name: 'PostgREST configuration'
link: 'https://postgrest.org/en/stable/configuration.html'
- id: 'api.extra_search_path'
title: 'api.extra_search_path'
tags: ['api']
required: false
default: '["public"]'
description: |
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'
- id: 'api.max_rows'
title: 'api.max_rows'
tags: ['api']
required: false
default: '1000'
description: |
The maximum number of rows returned from a view, table, or stored procedure. Limits payload size for accidental or malicious requests.
links:
- name: 'PostgREST configuration'
link: 'https://postgrest.org/en/stable/configuration.html'
- id: 'db.port'
title: 'db.port'
tags: ['database']
required: true
description: |
Port to use for the local database URL.
links:
- name: 'PostgreSQL configuration'
link: 'https://postgrest.org/en/stable/configuration.html'
- id: 'db.shadow_port'
title: 'db.shadow_port'
tags: ['database']
required: false
default: '54320'
description: |
Port to use for the local shadow database.
links: []
- id: 'db.major_version'
title: 'db.major_version'
tags: ['database']
required: true
default: '14'
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: 'studio.port'
title: 'studio.port'
tags: ['dashboard']
required: true
description: |
Port to use for Supabase Studio.
links: []
- id: 'inbucket.port'
title: 'inbucket.port'
tags: ['local']
required: true
description: |
Port to use for the email testing server web interface.
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.
links:
- name: 'Inbucket documentation'
link: 'https://www.inbucket.org'
- id: 'inbucket.smtp_port'
title: 'inbucket.smtp_port'
tags: ['local']
required: false
description: |
Port to use for the email testing server SMTP port.
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.
If set, you can access the SMTP server from this port.
links:
- name: 'Inbucket documentation'
link: 'https://www.inbucket.org'
- id: 'inbucket.pop3_port'
title: 'inbucket.pop3_port'
tags: ['local']
required: false
description: |
Port to use for the email testing server POP3 port.
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.
If set, you can access the POP3 server from this port.
links:
- name: 'Inbucket documentation'
link: 'https://www.inbucket.org'
- id: 'storage.file_size_limit'
title: 'storage.file_size_limit'
tags: ['local']
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: 'auth.site_url'
title: 'auth.site_url'
tags: ['auth']
required: true
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.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.additional_redirect_urls'
title: 'auth.additional_redirect_urls'
tags: ['auth']
required: true
default: '["https://localhost:3000"]'
description: |
A list of _exact_ URLs that auth providers are permitted to redirect to post authentication.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.jwt_expiry'
title: 'auth.jwt_expiry'
tags: ['auth']
required: true
default: '3600'
description: |
How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 seconds (one week).
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.enable_signup'
title: 'auth.enable_signup'
tags: ['auth']
required: true
default: 'true'
description: |
Allow/disallow new user signups to your project.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.email.enable_signup'
title: 'auth.email.enable_signup'
tags: ['auth']
required: true
default: 'true'
description: |
Allow/disallow new user signups via email to your project.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.email.double_confirm_changes'
title: 'auth.email.double_confirm_changes'
tags: ['auth']
required: true
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.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.email.enable_confirmations'
title: 'auth.email.enable_confirmations'
tags: ['auth']
required: true
default: 'true'
description: |
If enabled, users need to confirm their email address before signing in.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.external.provider.enabled'
title: 'auth.external.<provider>.enabled'
tags: ['auth']
required: true
default: 'true'
description: |
Use an external OAuth provider. The full list of providers are:
- `apple`
- `azure`
- `bitbucket`
- `discord`
- `facebook`
- `github`
- `gitlab`
- `google`
- `twitch`
- `twitter`
- `slack`
- `spotify`
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.external.provider.client_id'
title: 'auth.external.<provider>.client_id'
tags: ['auth']
required: true
description: |
Client ID for the external OAuth provider.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.external.provider.secret'
title: 'auth.external.<provider>.secret'
tags: ['auth']
required: true
description: |
Client secret for the external OAuth provider.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.external.provider.url'
title: 'auth.external.<provider>.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
https://gitlab.com. For keycloak you need to set this to your instance,
for example: https://keycloak.example.com/realms/myrealm .
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'auth.external.provider.redirect_uri'
title: 'auth.external.<provider>.redirect_uri'
tags: ['auth']
required: false
default: '""'
description: |
The URI a OAuth2 provider will redirect to with the code and state values.
links:
- name: 'Auth Server configuration'
link: 'https://supabase.com/docs/reference/auth'
- id: 'functions.function_name.verify_jwt'
title: 'functions.<function_name>.verify_jwt'
tags: ['edge-functions']
required: false
default: 'true'
description: |
By default, when you deploy your Edge Functions or serve them locally, it
will reject requests without a valid JWT in the Authorization header.
Setting this configuration changes the default behavior.
Note that the `--no-verify-jwt` flag overrides this configuration.
links:
- name: '`supabase functions` CLI subcommands'
link: 'https://supabase.com/docs/reference/cli/supabase-functions'
- id: 'functions.function_name.import_map'
title: 'functions.<function_name>.import_map'
tags: ['edge-functions']
required: false
description: |
Specify the Deno import map file to use for the Function.
Note that the `--import-map` flag overrides this configuration.
links:
- name: '`supabase functions` CLI subcommands'
link: 'https://supabase.com/docs/reference/cli/supabase-functions'