servers: web: hosts: - fizzy-staging-app-01.sc-chi-int.37signals.com - fizzy-staging-app-02.sc-chi-int.37signals.com - fizzy-staging-app-101.df-iad-int.37signals.com - fizzy-staging-app-102.df-iad-int.37signals.com - fizzy-staging-app-401.df-ams-int.37signals.com - fizzy-staging-app-402.df-ams-int.37signals.com labels: otel_scrape_enabled: true jobs: hosts: - fizzy-staging-app-01.sc-chi-int.37signals.com labels: otel_scrape_enabled: true proxy: ssl: false ssh: user: app env: clear: RAILS_ENV: staging accessories: beamer: image: basecamp/beamer:zones registry: server: registry.37signals.com username: robot$harbor-bot password: - BASECAMP_REGISTRY_PASSWORD labels: otel_role: beamer otel_service: fizzy-beamer otel_scrape_enabled: true options: user: 1000 # Match the UID of the Rails app, for volume permissions publish: - 5001:5001 - 9000:9000 volumes: - fizzy:/home/beamer cmd: beamer run --retention=1h --metrics-port=9000 hosts: - fizzy-staging-app-01.sc-chi-int.37signals.com - fizzy-staging-app-02.sc-chi-int.37signals.com - fizzy-staging-app-101.df-iad-int.37signals.com - fizzy-staging-app-102.df-iad-int.37signals.com - fizzy-staging-app-401.df-ams-int.37signals.com - fizzy-staging-app-402.df-ams-int.37signals.com load-balancer: image: basecamp/kamal-proxy:lb hosts: - fizzy-staging-lb-01.sc-chi-int.37signals.com - fizzy-staging-lb-101.df-iad-int.37signals.com - fizzy-staging-lb-401.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-staging-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