2020-05-27 01:41:28 +02:00
|
|
|
|
app_name: "{{- .AppName }} Development"
|
2019-09-27 08:19:24 +02:00
|
|
|
|
host_port: 0.0.0.0:8080
|
|
|
|
|
web_ui: true
|
|
|
|
|
|
2020-04-10 08:27:43 +02:00
|
|
|
|
# debug, error, warn, info
|
2019-11-22 07:32:09 +01:00
|
|
|
|
log_level: "info"
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
2019-12-31 07:30:20 +01:00
|
|
|
|
# enable or disable http compression (uses gzip)
|
|
|
|
|
http_compress: true
|
|
|
|
|
|
2019-11-07 08:37:24 +01:00
|
|
|
|
# When production mode is 'true' only queries
|
|
|
|
|
# from the allow list are permitted.
|
|
|
|
|
# When it's 'false' all queries are saved to the
|
|
|
|
|
# the allow list in ./config/allow.list
|
|
|
|
|
production: false
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
|
|
|
|
# Throw a 401 on auth failure for queries that need auth
|
2019-11-02 22:13:17 +01:00
|
|
|
|
auth_fail_block: false
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
|
|
|
|
# Latency tracing for database queries and remote joins
|
|
|
|
|
# the resulting latency information is returned with the
|
|
|
|
|
# response
|
|
|
|
|
enable_tracing: true
|
|
|
|
|
|
|
|
|
|
# Watch the config folder and reload Super Graph
|
|
|
|
|
# with the new configs when a change is detected
|
|
|
|
|
reload_on_config_change: true
|
|
|
|
|
|
|
|
|
|
# File that points to the database seeding script
|
|
|
|
|
# seed_file: seed.js
|
|
|
|
|
|
|
|
|
|
# Path pointing to where the migrations can be found
|
2020-04-10 08:27:43 +02:00
|
|
|
|
# this must be a relative path under the config path
|
|
|
|
|
migrations_path: ./migrations
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
2020-02-10 07:45:37 +01:00
|
|
|
|
# Secret key for general encryption operations like
|
|
|
|
|
# encrypting the cursor data
|
|
|
|
|
secret_key: supercalifajalistics
|
|
|
|
|
|
2020-03-06 05:17:51 +01:00
|
|
|
|
# CORS: A list of origins a cross-domain request can be executed from.
|
|
|
|
|
# If the special * value is present in the list, all origins will be allowed.
|
|
|
|
|
# An origin may contain a wildcard (*) to replace 0 or more
|
|
|
|
|
# characters (i.e.: http://*.domain.com).
|
|
|
|
|
cors_allowed_origins: ["*"]
|
|
|
|
|
|
|
|
|
|
# Debug Cross Origin Resource Sharing requests
|
|
|
|
|
cors_debug: false
|
|
|
|
|
|
2020-04-25 02:45:03 +02:00
|
|
|
|
# Default API path prefix is /api you can change it if you like
|
|
|
|
|
# api_path: "/data"
|
|
|
|
|
|
|
|
|
|
# Cache-Control header can help cache queries if your CDN supports cache-control
|
|
|
|
|
# on POST requests (does not work with not mutations)
|
|
|
|
|
# cache_control: "public, max-age=300, s-maxage=600"
|
|
|
|
|
|
2019-09-27 08:19:24 +02:00
|
|
|
|
# Postgres related environment Variables
|
|
|
|
|
# SG_DATABASE_HOST
|
|
|
|
|
# SG_DATABASE_PORT
|
|
|
|
|
# SG_DATABASE_USER
|
|
|
|
|
# SG_DATABASE_PASSWORD
|
|
|
|
|
|
|
|
|
|
# Auth related environment Variables
|
|
|
|
|
# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE
|
|
|
|
|
# SG_AUTH_RAILS_REDIS_URL
|
|
|
|
|
# SG_AUTH_RAILS_REDIS_PASSWORD
|
|
|
|
|
# SG_AUTH_JWT_PUBLIC_KEY_FILE
|
|
|
|
|
|
|
|
|
|
# inflections:
|
|
|
|
|
# person: people
|
|
|
|
|
# sheep: sheep
|
|
|
|
|
|
2020-05-23 17:43:57 +02:00
|
|
|
|
# open opencensus tracing and metrics
|
|
|
|
|
# telemetry:
|
|
|
|
|
# debug: true
|
|
|
|
|
# metrics:
|
|
|
|
|
# exporter: "prometheus"
|
|
|
|
|
# tracing:
|
|
|
|
|
# exporter: "zipkin"
|
|
|
|
|
# endpoint: "http://zipkin:9411/api/v2/spans"
|
|
|
|
|
# sample: 0.6
|
|
|
|
|
|
2019-09-27 08:19:24 +02:00
|
|
|
|
auth:
|
2020-02-03 07:21:07 +01:00
|
|
|
|
# Can be 'rails', 'jwt' or 'header'
|
2019-09-27 08:19:24 +02:00
|
|
|
|
type: rails
|
2020-05-27 01:41:28 +02:00
|
|
|
|
cookie: _{{- .AppNameSlug -}}_session
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
|
|
|
|
# Comment this out if you want to disable setting
|
2019-11-05 05:44:42 +01:00
|
|
|
|
# the user_id via a header for testing.
|
|
|
|
|
# Disable in production
|
2019-10-25 07:39:59 +02:00
|
|
|
|
creds_in_header: true
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
|
|
|
|
rails:
|
|
|
|
|
# Rails version this is used for reading the
|
|
|
|
|
# various cookies formats.
|
|
|
|
|
version: 5.2
|
|
|
|
|
|
|
|
|
|
# Found in 'Rails.application.config.secret_key_base'
|
|
|
|
|
secret_key_base: 0a248500a64c01184edb4d7ad3a805488f8097ac761b76aaa6c17c01dcb7af03a2f18ba61b2868134b9c7b79a122bc0dadff4367414a2d173297bfea92be5566
|
|
|
|
|
|
|
|
|
|
# Remote cookie store. (memcache or redis)
|
|
|
|
|
# url: redis://redis:6379
|
|
|
|
|
# password: ""
|
|
|
|
|
# max_idle: 80
|
|
|
|
|
# max_active: 12000
|
|
|
|
|
|
|
|
|
|
# In most cases you don't need these
|
|
|
|
|
# salt: "encrypted cookie"
|
|
|
|
|
# sign_salt: "signed encrypted cookie"
|
|
|
|
|
# auth_salt: "authenticated encrypted cookie"
|
|
|
|
|
|
|
|
|
|
# jwt:
|
|
|
|
|
# provider: auth0
|
|
|
|
|
# secret: abc335bfcfdb04e50db5bb0a4d67ab9
|
|
|
|
|
# public_key_file: /secrets/public_key.pem
|
|
|
|
|
# public_key_type: ecdsa #rsa
|
|
|
|
|
|
2020-02-03 07:21:07 +01:00
|
|
|
|
# header:
|
|
|
|
|
# name: dnt
|
|
|
|
|
# exists: true
|
|
|
|
|
# value: localhost:8080
|
|
|
|
|
|
|
|
|
|
# You can add additional named auths to use with actions
|
|
|
|
|
# In this example actions using this auth can only be
|
|
|
|
|
# called from the Google Appengine Cron service that
|
|
|
|
|
# sets a special header to all it's requests
|
|
|
|
|
auths:
|
|
|
|
|
- name: from_taskqueue
|
|
|
|
|
type: header
|
|
|
|
|
header:
|
|
|
|
|
name: X-Appengine-Cron
|
|
|
|
|
exists: true
|
|
|
|
|
|
2019-09-27 08:19:24 +02:00
|
|
|
|
database:
|
|
|
|
|
type: postgres
|
|
|
|
|
host: db
|
|
|
|
|
port: 5432
|
2020-06-15 09:06:50 +02:00
|
|
|
|
dbname: {{ .AppNameSlug -}}_development
|
2019-09-27 08:19:24 +02:00
|
|
|
|
user: postgres
|
2020-02-23 21:32:22 +01:00
|
|
|
|
password: postgres
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
|
|
|
|
#schema: "public"
|
|
|
|
|
#pool_size: 10
|
|
|
|
|
#max_retries: 0
|
|
|
|
|
#log_level: "debug"
|
|
|
|
|
|
2019-11-05 05:44:42 +01:00
|
|
|
|
# Set session variable "user.id" to the user id
|
|
|
|
|
# Enable this if you need the user id in triggers, etc
|
|
|
|
|
set_user_id: false
|
|
|
|
|
|
2019-12-31 07:30:20 +01:00
|
|
|
|
# database ping timeout is used for db health checking
|
|
|
|
|
ping_timeout: 1m
|
|
|
|
|
|
2020-04-16 06:26:32 +02:00
|
|
|
|
# Set up an secure tls encrypted db connection
|
|
|
|
|
enable_tls: false
|
|
|
|
|
|
|
|
|
|
# Required for tls. For example with Google Cloud SQL it's
|
|
|
|
|
# <gcp-project-id>:<cloud-sql-instance>"
|
|
|
|
|
# server_name: blah
|
|
|
|
|
|
|
|
|
|
# Required for tls. Can be a file path or the contents of the pem file
|
|
|
|
|
# server_cert: ./server-ca.pem
|
|
|
|
|
|
|
|
|
|
# Required for tls. Can be a file path or the contents of the pem file
|
|
|
|
|
# client_cert: ./client-cert.pem
|
|
|
|
|
|
|
|
|
|
# Required for tls. Can be a file path or the contents of the pem file
|
|
|
|
|
# client_key: ./client-key.pem
|
|
|
|
|
|
|
|
|
|
# Define additional variables here to be used with filters
|
|
|
|
|
variables:
|
|
|
|
|
#admin_account_id: "5"
|
|
|
|
|
admin_account_id: "sql:select id from users where admin = true limit 1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Field and table names that you wish to block
|
|
|
|
|
blocklist:
|
|
|
|
|
- ar_internal_metadata
|
|
|
|
|
- schema_migrations
|
|
|
|
|
- secret
|
|
|
|
|
- password
|
|
|
|
|
- encrypted
|
|
|
|
|
- token
|
2019-09-27 08:19:24 +02:00
|
|
|
|
|
2020-02-03 07:21:07 +01:00
|
|
|
|
# Create custom actions with their own api endpoints
|
|
|
|
|
# For example the below action will be available at /api/v1/actions/refresh_leaderboard_users
|
|
|
|
|
# A request to this url will execute the configured SQL query
|
|
|
|
|
# which in this case refreshes a materialized view in the database.
|
|
|
|
|
# The auth_name is from one of the configured auths
|
|
|
|
|
actions:
|
|
|
|
|
- name: refresh_leaderboard_users
|
|
|
|
|
sql: REFRESH MATERIALIZED VIEW CONCURRENTLY "leaderboard_users"
|
|
|
|
|
auth_name: from_taskqueue
|
|
|
|
|
|
2019-10-25 07:39:59 +02:00
|
|
|
|
tables:
|
|
|
|
|
- name: customers
|
|
|
|
|
remotes:
|
|
|
|
|
- name: payments
|
|
|
|
|
id: stripe_id
|
|
|
|
|
url: http://rails_app:3000/stripe/$id
|
|
|
|
|
path: data
|
|
|
|
|
# debug: true
|
|
|
|
|
pass_headers:
|
|
|
|
|
- cookie
|
|
|
|
|
set_headers:
|
|
|
|
|
- name: Host
|
|
|
|
|
value: 0.0.0.0
|
|
|
|
|
# - name: Authorization
|
|
|
|
|
# value: Bearer <stripe_api_key>
|
|
|
|
|
|
|
|
|
|
- # You can create new fields that have a
|
|
|
|
|
# real db table backing them
|
|
|
|
|
name: me
|
|
|
|
|
table: users
|
|
|
|
|
|
2020-02-03 07:21:07 +01:00
|
|
|
|
|
2020-02-29 06:05:35 +01:00
|
|
|
|
#roles_query: "SELECT * FROM users WHERE id = $user_id"
|
2019-10-25 07:39:59 +02:00
|
|
|
|
|
|
|
|
|
roles:
|
|
|
|
|
- name: anon
|
|
|
|
|
tables:
|
2020-02-29 06:05:35 +01:00
|
|
|
|
- name: users
|
2019-10-25 07:39:59 +02:00
|
|
|
|
query:
|
2020-02-29 06:05:35 +01:00
|
|
|
|
limit: 10
|
2019-10-25 07:39:59 +02:00
|
|
|
|
|
|
|
|
|
- name: user
|
|
|
|
|
tables:
|
|
|
|
|
- name: users
|
|
|
|
|
query:
|
|
|
|
|
filters: ["{ id: { _eq: $user_id } }"]
|
|
|
|
|
|
|
|
|
|
- name: products
|
|
|
|
|
query:
|
|
|
|
|
limit: 50
|
|
|
|
|
filters: ["{ user_id: { eq: $user_id } }"]
|
2019-10-27 06:52:48 +01:00
|
|
|
|
disable_functions: false
|
2019-10-25 07:39:59 +02:00
|
|
|
|
|
|
|
|
|
insert:
|
|
|
|
|
filters: ["{ user_id: { eq: $user_id } }"]
|
2019-10-30 08:27:11 +01:00
|
|
|
|
presets:
|
2020-02-03 07:21:07 +01:00
|
|
|
|
- user_id: "$user_id"
|
2019-10-25 07:39:59 +02:00
|
|
|
|
- created_at: "now"
|
|
|
|
|
|
|
|
|
|
update:
|
|
|
|
|
filters: ["{ user_id: { eq: $user_id } }"]
|
2019-10-30 08:27:11 +01:00
|
|
|
|
presets:
|
2019-10-25 07:39:59 +02:00
|
|
|
|
- updated_at: "now"
|
|
|
|
|
|
|
|
|
|
delete:
|
2019-11-22 06:07:06 +01:00
|
|
|
|
block: true
|
2019-10-25 07:39:59 +02:00
|
|
|
|
|
2020-02-29 06:05:35 +01:00
|
|
|
|
# - name: admin
|
|
|
|
|
# match: id = 1000
|
|
|
|
|
# tables:
|
|
|
|
|
# - name: users
|
|
|
|
|
# filters: []
|