95 lines
2.9 KiB
YAML
95 lines
2.9 KiB
YAML
retain_containers: 2
|
|
|
|
servers:
|
|
web:
|
|
hosts:
|
|
- fizzy-app-01.sc-chi-int.37signals.com: sc_chi
|
|
- fizzy-app-02.sc-chi-int.37signals.com: sc_chi
|
|
- fizzy-app-101.df-iad-int.37signals.com: df_iad
|
|
- fizzy-app-102.df-iad-int.37signals.com: df_iad
|
|
- fizzy-app-401.df-ams-int.37signals.com: df_ams
|
|
- fizzy-app-402.df-ams-int.37signals.com: df_ams
|
|
labels:
|
|
otel_scrape_enabled: true
|
|
jobs:
|
|
hosts:
|
|
- fizzy-jobs-101.df-iad-int.37signals.com: df_iad
|
|
- fizzy-jobs-102.df-iad-int.37signals.com: df_iad
|
|
labels:
|
|
otel_scrape_enabled: true
|
|
|
|
proxy:
|
|
ssl: false
|
|
|
|
ssh:
|
|
user: app
|
|
|
|
env:
|
|
clear:
|
|
RAILS_ENV: production
|
|
RAILS_LOG_LEVEL: fatal # suppress unstructured log lines
|
|
MYSQL_DATABASE_HOST: fizzy-mysql-primary
|
|
MYSQL_DATABASE_REPLICA_HOST: fizzy-mysql-replica
|
|
MYSQL_SOLID_CABLE_HOST: fizzy-mysql-primary
|
|
MYSQL_SOLID_QUEUE_HOST: fizzy-mysql-primary
|
|
secret:
|
|
- RAILS_MASTER_KEY
|
|
- MYSQL_ALTER_PASSWORD
|
|
- MYSQL_ALTER_USER
|
|
- MYSQL_APP_PASSWORD
|
|
- MYSQL_APP_USER
|
|
- MYSQL_READONLY_PASSWORD
|
|
- MYSQL_READONLY_USER
|
|
- SECRET_KEY_BASE
|
|
- VAPID_PUBLIC_KEY
|
|
- VAPID_PRIVATE_KEY
|
|
- ACTIVE_STORAGE_ACCESS_KEY_ID
|
|
- ACTIVE_STORAGE_SECRET_ACCESS_KEY
|
|
- QUEENBEE_API_TOKEN
|
|
- QUEENBEE_SECRET
|
|
- SIGNAL_ID_SECRET
|
|
- SENTRY_DSN
|
|
- ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
|
|
- ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
|
|
- ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
|
|
- STRIPE_MONTHLY_V1_PRICE_ID
|
|
- STRIPE_MONTHLY_EXTRA_STORAGE_V1_PRICE_ID
|
|
- STRIPE_SECRET_KEY
|
|
- STRIPE_WEBHOOK_SECRET
|
|
- APNS_KEY_ID
|
|
- APNS_ENCRYPTION_KEY_B64
|
|
- FCM_ENCRYPTION_KEY_B64
|
|
tags:
|
|
sc_chi:
|
|
MYSQL_SOLID_CACHE_HOST: fizzy-solidcache-db-01.sc-chi-int.37signals.com
|
|
df_iad:
|
|
MYSQL_SOLID_CACHE_HOST: fizzy-solidcache-db-101.df-iad-int.37signals.com
|
|
PRIMARY_DATACENTER: true
|
|
df_ams:
|
|
MYSQL_SOLID_CACHE_HOST: fizzy-solidcache-db-401.df-ams-int.37signals.com
|
|
|
|
|
|
accessories:
|
|
load-balancer:
|
|
image: basecamp/kamal-proxy:lb
|
|
hosts:
|
|
- fizzy-lb-101.df-iad-int.37signals.com
|
|
- fizzy-lb-102.df-iad-int.37signals.com
|
|
- fizzy-lb-01.sc-chi-int.37signals.com
|
|
- fizzy-lb-02.sc-chi-int.37signals.com
|
|
- fizzy-lb-401.df-ams-int.37signals.com
|
|
- fizzy-lb-402.df-ams-int.37signals.com
|
|
labels:
|
|
otel_role: load-balancer
|
|
otel_service: fizzy-load-balancer
|
|
otel_scrape_enabled: true
|
|
options:
|
|
publish:
|
|
- 80:80
|
|
- 443:443
|
|
# NFS mount for certificates
|
|
# See https://3.basecamp.com/2914079/buckets/37331921/todos/9180260061
|
|
mount: type=volume,src=certificates,dst=/certificates,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/fizzy-production-certificates,"volume-opt=o=addr=purestorage.sc-chi-int.37signals.com,nfsvers=3,rw,noatime,nconnect=8,soft,timeo=30,retrans=2"
|
|
volumes:
|
|
- load-balancer:/home/kamal-proxy/.config/kamal-proxy
|