You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
4.1 KiB
175 lines
4.1 KiB
2 years ago
|
_format_version: "1.1"
|
||
|
|
||
|
###
|
||
|
### Consumers / Users
|
||
|
###
|
||
|
consumers:
|
||
|
- username: anon
|
||
|
keyauth_credentials:
|
||
|
- key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICAgInJvbGUiOiAiYW5vbiIsCiAgICAiaXNzIjogInN1cGFiYXNlIiwKICAgICJpYXQiOiAxNjc0ODI0NDAwLAogICAgImV4cCI6IDE4MzI1OTA4MDAKfQ.GjK9HIRUaMB0LZiIXD-qvfKSgZwHUsmLlo6qItGRrx0
|
||
|
- username: service_role
|
||
|
keyauth_credentials:
|
||
|
- key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICAgInJvbGUiOiAic2VydmljZV9yb2xlIiwKICAgICJpc3MiOiAic3VwYWJhc2UiLAogICAgImlhdCI6IDE2NzQ4MjQ0MDAsCiAgICAiZXhwIjogMTgzMjU5MDgwMAp9.8H6IJnWB4kmhKMpRSVQPIaPs1WWOsF_FStCPOxFG-Sk
|
||
|
|
||
|
###
|
||
|
### Access Control List
|
||
|
###
|
||
|
acls:
|
||
|
- consumer: anon
|
||
|
group: anon
|
||
|
- consumer: service_role
|
||
|
group: admin
|
||
|
|
||
|
###
|
||
|
### API Routes
|
||
|
###
|
||
|
services:
|
||
|
## Open Auth routes
|
||
|
- name: auth-v1-open
|
||
|
url: http://auth:9999/verify
|
||
|
routes:
|
||
|
- name: auth-v1-open
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /auth/v1/verify
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
- name: auth-v1-open-callback
|
||
|
url: http://auth:9999/callback
|
||
|
routes:
|
||
|
- name: auth-v1-open-callback
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /auth/v1/callback
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
- name: auth-v1-open-authorize
|
||
|
url: http://auth:9999/authorize
|
||
|
routes:
|
||
|
- name: auth-v1-open-authorize
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /auth/v1/authorize
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
|
||
|
## Secure Auth routes
|
||
|
- name: auth-v1
|
||
|
_comment: "GoTrue: /auth/v1/* -> http://auth:9999/*"
|
||
|
url: http://auth:9999/
|
||
|
routes:
|
||
|
- name: auth-v1-all
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /auth/v1/
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
- name: key-auth
|
||
|
config:
|
||
|
hide_credentials: false
|
||
|
- name: acl
|
||
|
config:
|
||
|
hide_groups_header: true
|
||
|
allow:
|
||
|
- admin
|
||
|
- anon
|
||
|
|
||
|
## Secure REST routes
|
||
|
- name: rest-v1
|
||
|
_comment: "PostgREST: /rest/v1/* -> http://rest:3000/*"
|
||
|
url: http://rest:3000/
|
||
|
routes:
|
||
|
- name: rest-v1-all
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /rest/v1/
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
- name: key-auth
|
||
|
config:
|
||
|
hide_credentials: true
|
||
|
- name: acl
|
||
|
config:
|
||
|
hide_groups_header: true
|
||
|
allow:
|
||
|
- admin
|
||
|
- anon
|
||
|
|
||
|
## Secure GraphQL routes
|
||
|
- name: graphql-v1
|
||
|
_comment: "PostgREST: /graphql/v1/* -> http://rest:3000/rpc/graphql"
|
||
|
url: http://rest:3000/rpc/graphql
|
||
|
routes:
|
||
|
- name: graphql-v1-all
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /graphql/v1
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
- name: key-auth
|
||
|
config:
|
||
|
hide_credentials: true
|
||
|
- name: request-transformer
|
||
|
config:
|
||
|
add:
|
||
|
headers:
|
||
|
- Content-Profile:graphql_public
|
||
|
- name: acl
|
||
|
config:
|
||
|
hide_groups_header: true
|
||
|
allow:
|
||
|
- admin
|
||
|
- anon
|
||
|
|
||
|
## Secure Realtime routes
|
||
|
- name: realtime-v1
|
||
|
_comment: "Realtime: /realtime/v1/* -> ws://realtime:4000/socket/*"
|
||
|
url: http://realtime-dev.supabase-realtime:4000/socket/
|
||
|
routes:
|
||
|
- name: realtime-v1-all
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /realtime/v1/
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
- name: key-auth
|
||
|
config:
|
||
|
hide_credentials: false
|
||
|
- name: acl
|
||
|
config:
|
||
|
hide_groups_header: true
|
||
|
allow:
|
||
|
- admin
|
||
|
- anon
|
||
|
|
||
|
## Storage routes: the storage server manages its own auth
|
||
|
- name: storage-v1
|
||
|
_comment: "Storage: /storage/v1/* -> http://storage:5000/*"
|
||
|
url: http://storage:5000/
|
||
|
routes:
|
||
|
- name: storage-v1-all
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /storage/v1/
|
||
|
plugins:
|
||
|
- name: cors
|
||
|
|
||
|
## Secure Database routes
|
||
|
- name: meta
|
||
|
_comment: "pg-meta: /pg/* -> http://pg-meta:8080/*"
|
||
|
url: http://meta:8080/
|
||
|
routes:
|
||
|
- name: meta-all
|
||
|
strip_path: true
|
||
|
paths:
|
||
|
- /pg/
|
||
|
plugins:
|
||
|
- name: key-auth
|
||
|
config:
|
||
|
hide_credentials: false
|
||
|
- name: acl
|
||
|
config:
|
||
|
hide_groups_header: true
|
||
|
allow:
|
||
|
- admin
|