Files
supabase/apps/docs/spec/realtime_v0_config.yaml

229 lines
10 KiB
YAML

configspec: '001'
# This section outlines the general information for the tool.
info:
id: 'realtime' # {string} A unique ID for this tool.
version: 'next' # {string} The current version number of the tool.
title: 'Realtime' # {string} A readable name.
source: 'https://github.com/supabase/realtime' # {string} Where developers can find the source code.
bugs: 'https://github.com/supabase/realtime/issues' # {string} Where developers can file bugs.
spec: 'https://github.com/supabase/supabase/blob/master/spec/realtime_v0_config.yml' # {string} Where developers can find this spec (to link directly in the docs).
description: |
You can use Environment Variables to configure your Realtime Server.
tags:
- id: general
title: General Settings
description: General server settings.
- id: database
title: Database Settings
description: Connecting to your database.
# This section is an array of public functions which a user might need to execute.
parameters:
- id: 'PORT' # {string} A unique identifier for this param.
title: 'PORT' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '4000'
description: |
Port which you can connect your client/listeners
- id: 'DB_HOST' # {string} A unique identifier for this param.
title: 'DB_HOST' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'localhost'
description: |
Database host URL
- id: 'DB_NAME' # {string} A unique identifier for this param.
title: 'DB_NAME' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'postgres'
description: |
Database name
- id: 'DB_USER' # {string} A unique identifier for this param.
title: 'DB_USER' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'postgres'
description: |
Database user
- id: 'DB_PASSWORD' # {string} A unique identifier for this param.
title: 'DB_PASSWORD' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'postgres'
description: |
Database password
- id: 'DB_PORT' # {string} A unique identifier for this param.
title: 'DB_PORT' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '5432'
description: |
Database port
- id: 'DB_SSL' # {string} A unique identifier for this param.
title: 'DB_SSL' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'true'
description: |
Database SSL connection
- id: 'DB_IP_VERSION' # {string} A unique identifier for this param.
title: 'DB_IP_VERSION' # {string} Any name.
tags: ['database'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'IPv4'
description: |
Connect to database via either IPv4 or IPv6. Disregarded if database host is an IP address (e.g. '127.0.0.1') and recommended if database host is a name (e.g. 'db.abcd.supabase.co') to prevent potential non-existent domain (NXDOMAIN) errors.
- id: 'REPLICATION_MODE' # {string} A unique identifier for this param.
title: 'REPLICATION_MODE' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'RLS'
description: |
Connect to database via either IPv4 or IPv6. Disregarded if database host is an IP address (e.g. '127.0.0.1') and recommended if database host is a name (e.g. 'db.abcd.supabase.co') to prevent potential non-existent domain (NXDOMAIN) errors.
- id: 'SLOT_NAME' # {string} A unique identifier for this param.
title: 'SLOT_NAME' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'realtime_rls'
description: |
A unique name for Postgres to track the Write-Ahead Logging (WAL). If the Realtime server dies then this slot can keep the changes since the last committed position.
- id: 'TEMPORARY_SLOT' # {string} A unique identifier for this param.
title: 'TEMPORARY_SLOT' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'false'
description: |
Start logical replication slot as either temporary or permanent
- id: 'REALTIME_IP_VERSION' # {string} A unique identifier for this param.
title: 'REALTIME_IP_VERSION' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'IPV6'
description: |
Bind realtime via either IPv4 or IPv6
- id: 'PUBLICATIONS' # {string} A unique identifier for this param.
title: 'PUBLICATIONS' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '[\"supabase_realtime\"]'
description: |
JSON encoded array of publication names. Realtime RLS currently accepts one publication.
- id: 'SECURE_CHANNELS' # {string} A unique identifier for this param.
title: 'SECURE_CHANNELS' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'true'
description: |
Enable/Disable channels authorization via JWT verification
- id: 'JWT_SECRET' # {string} A unique identifier for this param.
title: 'JWT_SECRET' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '""'
description: |
HS algorithm octet key (e.g. "95x0oR8jq9unl9pOIx")
- id: 'JWT_CLAIM_VALIDATORS' # {string} A unique identifier for this param.
title: 'JWT_CLAIM_VALIDATORS' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '{}'
description: |
Expected claim key/value pairs compared to JWT claims via equality checks in order to validate JWT. e.g. '{"iss": "Issuer", "nbf": 1610078130}'.
- id: 'EXPOSE_METRICS' # {string} A unique identifier for this param.
title: 'EXPOSE_METRICS' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: 'false'
description: |
Expose Prometheus metrics at '/metrics' endpoint.
- id: 'DB_RECONNECT_BACKOFF_MIN' # {string} A unique identifier for this param.
title: 'DB_RECONNECT_BACKOFF_MIN' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '100'
description: |
Specify the minimum amount of time to wait before reconnecting to database
- id: 'DB_RECONNECT_BACKOFF_MAX' # {string} A unique identifier for this param.
title: 'DB_RECONNECT_BACKOFF_MAX' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '120000'
description: |
Specify the maximum amount of time to wait before reconnecting to database
- id: 'REPLICATION_POLL_INTERVAL' # {string} A unique identifier for this param.
title: 'REPLICATION_POLL_INTERVAL' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '300'
description: |
Specify how often Realtime RLS should poll the replication slot for changes
- id: 'SUBSCRIPTION_SYNC_INTERVAL' # {string} A unique identifier for this param.
title: 'SUBSCRIPTION_SYNC_INTERVAL' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '60000'
description: |
Specify how often Realtime RLS should confirm connected subscribers and the tables they're listening to
- id: 'MAX_CHANGES' # {string} A unique identifier for this param.
title: 'MAX_CHANGES' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '100'
description: |
Soft limit for the number of database changes to fetch per replication poll
- id: 'MAX_RECORD_BYTES' # {string} A unique identifier for this param.
title: 'MAX_RECORD_BYTES' # {string} Any name.
tags: ['general'] # {string[]} These tags are useful for grouping parameters
links: [] # {string[]} These tags are useful for grouping parameters
required: true
default: '1048576' # bytes or 1MB
description: |
Controls the maximum size of a WAL record