apollo-backend/render.yaml

228 lines
5.2 KiB
YAML
Raw Permalink Normal View History

databases:
- name: srv.postgres
2022-05-25 23:31:51 +00:00
plan: pro plus
user: apollo
databaseName: apollo
postgresMajorVersion: 14
2022-11-05 20:35:50 +00:00
ipAllowList: []
services:
2022-11-05 20:33:55 +00:00
# Redis (queues)
- type: redis
name: srv.redis.queues
plan: standard plus
maxmemoryPolicy: noeviction
2022-11-05 20:35:50 +00:00
ipAllowList: []
2022-11-05 20:33:55 +00:00
# Redis (locks)
- type: redis
name: srv.redis.locks
plan: pro plus
2022-11-05 20:33:55 +00:00
maxmemoryPolicy: noeviction
2022-11-05 20:35:50 +00:00
ipAllowList: []
# PGBouncer
2022-05-21 16:09:16 +00:00
- type: pserv
name: srv.pgbouncer
env: docker
plan: standard
2022-11-05 20:38:19 +00:00
repo: https://github.com/render-oss/docker-pgbouncer.git
envVars:
- key: ADMIN_USERS
value: postgres,apollo
- key: DATABASE_URL
fromDatabase:
name: srv.postgres
property: connectionString
- key: DEFAULT_POOL_SIZE
2022-07-13 19:58:58 +00:00
value: 178
- key: MAX_CLIENT_CONN
2022-11-06 00:13:28 +00:00
value: 4096
- key: MIN_POOL_SIZE
value: 8
- key: POOL_MODE
value: transaction
- key: RESERVE_POOL_TIMEOUT
value: 1
- key: SERVER_RESET_QUERY
value: DISCARD ALL
# StatsD
2022-05-21 16:09:52 +00:00
- type: pserv
name: srv.statsd
env: docker
plan: standard
repo: https://github.com/andremedeiros/render-datadog.git
envVars:
- key: DD_API_KEY
sync: false
- key: DD_APM_ENABLED
value: false
- key: DD_LOG_LEVEL
value: ERROR
# API
- type: web
name: web.api
env: go
plan: standard
healthCheckPath: /v1/health
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: api
scaling:
2022-06-25 18:01:03 +00:00
minInstances: 2
maxInstances: 4
targetCPUPercent: 60
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo api
# Notifications
- type: worker
name: worker.notifications
env: go
plan: starter
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: worker
- key: BUGSNAG_METADATA_QUEUE
value: notifications
scaling:
2023-03-16 14:54:43 +00:00
minInstances: 2
maxInstances: 8
2022-11-01 14:43:47 +00:00
targetCPUPercent: 80
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
2022-11-06 00:10:05 +00:00
startCommand: panic-monitor ./apollo worker --queue notifications --consumers 1024
# Stuck Notifications Checker
- type: worker
name: worker.notifications.stuck
env: go
2022-11-01 14:43:47 +00:00
plan: starter
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: worker
- key: BUGSNAG_METADATA_QUEUE
value: stuck
scaling:
2022-11-01 14:43:47 +00:00
minInstances: 2
maxInstances: 10
2022-11-01 14:43:47 +00:00
targetCPUPercent: 80
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo worker --queue stuck-notifications --consumers 64
# Scheduler
- type: worker
name: app.scheduler
env: go
plan: starter
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: scheduler
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo scheduler
# User Watcher
- type: worker
name: worker.watcher.users
env: go
plan: starter
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: worker
- key: BUGSNAG_METADATA_QUEUE
value: users
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo worker --queue users
# Subreddit Watcher
- type: worker
name: worker.watcher.subreddits
env: go
2022-06-29 17:25:59 +00:00
plan: standard
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: worker
- key: BUGSNAG_METADATA_QUEUE
value: subreddits
scaling:
2022-11-01 14:43:47 +00:00
minInstances: 2
maxInstances: 10
2022-11-01 14:43:47 +00:00
targetCPUPercent: 80
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo worker --queue subreddits
# Trending Posts Watcher
- type: worker
name: worker.watcher.trending
env: go
2022-11-01 14:43:47 +00:00
plan: starter
envVars:
- fromGroup: env-settings
2022-05-21 16:07:21 +00:00
- key: BUGSNAG_APP_TYPE
value: worker
- key: BUGSNAG_METADATA_QUEUE
value: trending
scaling:
2022-11-01 14:43:47 +00:00
minInstances: 2
maxInstances: 10
2022-11-01 14:43:47 +00:00
targetCPUPercent: 80
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo worker --queue trending
2022-10-24 14:42:48 +00:00
# Live Activities
- type: worker
name: worker.live-activities
env: go
2022-11-01 00:58:02 +00:00
plan: starter
2022-10-24 14:42:48 +00:00
envVars:
- fromGroup: env-settings
- key: BUGSNAG_APP_TYPE
value: worker
- key: BUGSNAG_METADATA_QUEUE
value: live-activities
scaling:
2022-11-01 00:58:02 +00:00
minInstances: 1
2022-11-01 14:43:47 +00:00
maxInstances: 10
targetCPUPercent: 80
2022-10-24 14:42:48 +00:00
buildCommand: go install github.com/bugsnag/panic-monitor@latest && go build ./cmd/apollo
startCommand: panic-monitor ./apollo worker --queue live-activities
envVarGroups:
# Environment
- name: env-settings
envVars:
- key: APPLE_KEY_ID
sync: false
- key: APPLE_KEY_PATH
value: /etc/secrets/apple.p8
- key: APPLE_TEAM_ID
sync: false
- key: BUGSNAG_API_KEY
sync: false
- key: DD_API_KEY
sync: false
- key: ENV
sync: false
- key: REDDIT_CLIENT_ID
sync: false
- key: SMTP2GO_API_KEY
sync: false
- key: STATSD_URL
sync: false
2022-05-21 17:21:24 +00:00
- key: DATABASE_CONNECTION_POOL_URL # This is temporary and should be overwritten
sync: false
- key: STATSD_URL
sync: false
- key: REDIS_URL
sync: false
2022-11-05 20:18:25 +00:00
- key: REDIS_QUEUE_URL
sync: false
- key: REDIS_LOCKS_URL
sync: false