Merge pull request #8516 from supabase/storage-openapi

move storage to openapi
This commit is contained in:
Copple authored and GitHub committed 2022-08-19 08:54:44 +02:00
commit 0da0e601f4
6 files changed
+4334 -2131

No files matched your search

+82 -108
View File
@@ -11,280 +11,254 @@ A sample `.env` file is located in the [storage repository](https://github.com/s
Use this file to configure your environment variables for your Storage server.
<!-- AUTOGENERATED: DO NOT EDIT DIRECTLY -->
## General {#general}
### `ANON_KEY` {#ANON_KEY}
A long-lived JWT with anonymous Postgres privileges.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `SERVICE_KEY` {#SERVICE_KEY}
A long-lived JWT with Postgres privileges to bypass Row Level Security.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `TENANT_ID` {#TENANT_ID}
The ID of a Storage tenant.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `REGION` {#REGION}
Region of your S3 bucket.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `GLOBAL_S3_BUCKET` {#GLOBAL_S3_BUCKET}
Name of your S3 bucket.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `POSTGREST_URL` {#POSTGREST_URL}
The URL of your PostgREST server.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `PGRST_JWT_SECRET` {#PGRST_JWT_SECRET}
A JWT Secret for the PostgREST database.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `DATABASE_URL` {#DATABASE_URL}
The URL of your Postgres database.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `PGOPTIONS` {#PGOPTIONS}
Additional configuration parameters for Postgres startup.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `FILE_SIZE_LIMIT` {#FILE_SIZE_LIMIT}
The maximum file size allowed.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `STORAGE_BACKEND` {#STORAGE_BACKEND}
The storage provider.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `FILE_STORAGE_BACKEND_PATH` {#FILE_STORAGE_BACKEND_PATH}
The location storage when the "STORAGE_BACKEND" is set to "file".
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
<!-- AUTOGENERATED: DO NOT EDIT DIRECTLY -->
## Multi-tenant {#multitenant}
### `IS_MULTITENANT` {#IS_MULTITENANT}
Operate across multiple tenants.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `MULTITENANT_DATABASE_URL` {#MULTITENANT_DATABASE_URL}
The URL of the multitenant Postgres database.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `X_FORWARDED_HOST_REGEXP` {#X_FORWARDED_HOST_REGEXP}
TBD.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `POSTGREST_URL_SUFFIX` {#POSTGREST_URL_SUFFIX}
The suffix for the PostgREST instance.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `ADMIN_API_KEYS` {#ADMIN_API_KEYS}
Secure API key for administrative endpoints.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
### `ENCRYPTION_KEY` {#ENCRYPTION_KEY}
An key for encryting/decrypting secrets.
<ul>
<li>
Required: <code>true</code>
</li>
<li>
Default: <code>None</code>
</li>
<li>Required: <code>true</code></li>
<li>Default: <code>None</code></li>
</ul>
<br />
File diff suppressed because it is too large. Load diff
+1
View File
@@ -17,6 +17,7 @@ export default async function gen(
switch (spec.openapi || spec.swagger) {
case '3.0.0':
case '3.0.3':
await gen_v3(spec, outputDir, { apiUrl })
break
File diff suppressed because it is too large. Load diff
@@ -889,6 +889,112 @@
}
]
}
},
"/v1/projects/{ref}/pgsodium": {
"get": {
"operationId": "getConfig",
"summary": "Gets project's pgsodium config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": {
"minLength": 20,
"maxLength": 20,
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"403": {
"description": ""
},
"500": {
"description": "Failed to retrieve project's pgsodium config"
}
},
"tags": [
"pgsodium (beta)"
],
"security": [
{
"bearer": []
}
]
},
"put": {
"operationId": "updateConfig",
"summary": "Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible.",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": {
"minLength": 20,
"maxLength": 20,
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"root_key": {
"type": "string"
}
},
"required": [
"root_key"
]
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"403": {
"description": ""
},
"500": {
"description": "Failed to update project's pgsodium config"
}
},
"tags": [
"pgsodium (beta)"
],
"security": [
{
"bearer": []
}
]
}
}
},
"info": {
@@ -1171,6 +1277,17 @@
"name",
"value"
]
},
"UpdatePgsodiumConfigBody": {
"type": "object",
"properties": {
"root_key": {
"type": "string"
}
},
"required": [
"root_key"
]
}
}
}
File diff suppressed because it is too large. Load diff