Extend the number of Beta environments

This commit is contained in:
Fernando Álvarez
2025-12-17 18:25:07 +01:00
parent 43dd149ff2
commit dbb8113080
11 changed files with 84 additions and 12 deletions
+1
View File
@@ -0,0 +1 @@
secrets.beta
+1
View File
@@ -0,0 +1 @@
secrets.beta
+1
View File
@@ -0,0 +1 @@
secrets.beta
+1
View File
@@ -0,0 +1 @@
secrets.beta
+7 -2
View File
@@ -64,9 +64,14 @@ This environment uses a FlashBlade bucket for blob storage.
Beta is primarily intended for testing product features. It uses the same production database and Active Storage configuration.
Beta tenant is:
There are 4 beta environments:
- https://fizzy-beta.37signals.com
- https://beta1.fizzy-beta.com
- https://beta2.fizzy-beta.com
- https://beta3.fizzy-beta.com
- https://beta4.fizzy-beta.com
Deploy with: `bin/kamal deploy -d beta1` (or `-d beta2`, `-d beta3`, `-d beta4`)
### Staging
+62 -7
View File
@@ -1,14 +1,70 @@
<%
raise "The BETA_NUMBER environment variable must be given" unless ENV["BETA_NUMBER"]
@data = {
"1" => {
"hosts" => {
"web" => ["fizzy-beta-app-101.df-iad-int.37signals.com"],
"jobs" => ["fizzy-beta-jobs-101.df-iad-int.37signals.com"],
"lb" => "fizzy-beta-lb-101.df-iad-int.37signals.com"
},
"dbs" => {
"solidqueue" => "fizzy-beta-solidqueue-db-101.df-iad-int.37signals.com"
}
},
"2" => {
"hosts" => {
"web" => ["fizzy-beta-app-102.df-iad-int.37signals.com"],
"jobs" => ["fizzy-beta-jobs-102.df-iad-int.37signals.com"],
"lb" => "fizzy-beta-lb-102.df-iad-int.37signals.com"
},
"dbs" => {
"solidqueue" => "fizzy-beta-solidqueue-db-102.df-iad-int.37signals.com"
}
},
"3" => {
"hosts" => {
"web" => ["fizzy-beta-app-103.df-iad-int.37signals.com"],
"jobs" => ["fizzy-beta-jobs-103.df-iad-int.37signals.com"],
"lb" => "fizzy-beta-lb-103.df-iad-int.37signals.com"
},
"dbs" => {
"solidqueue" => "fizzy-beta-solidqueue-db-103.df-iad-int.37signals.com"
}
},
"4" => {
"hosts" => {
"web" => ["fizzy-beta-app-104.df-iad-int.37signals.com"],
"jobs" => ["fizzy-beta-jobs-104.df-iad-int.37signals.com"],
"lb" => "fizzy-beta-lb-104.df-iad-int.37signals.com"
},
"dbs" => {
"solidqueue" => "fizzy-beta-solidqueue-db-104.df-iad-int.37signals.com"
}
}
}
@beta_number = ENV["BETA_NUMBER"]
raise "Beta #{@beta_number} doesn't appear to be defined" unless @data[@beta_number]
@web_hosts = @data[@beta_number]["hosts"]["web"]
@job_hosts = @data[@beta_number]["hosts"]["jobs"]
@lb_host = @data[@beta_number]["hosts"]["lb"]
@solidqueue_db = @data[@beta_number]["dbs"]["solidqueue"]
%>
retain_containers: 1
servers:
web:
hosts:
- fizzy-beta-app-01.sc-chi-int.37signals.com: sc_chi
- <%= @web_hosts[0] %>: df_iad
labels:
otel_scrape_enabled: true
# we don't run the jobs role in beta
allow_empty_roles: true
jobs:
hosts:
- <%= @job_hosts[0] %>: df_iad
labels:
otel_scrape_enabled: true
proxy:
ssl: false
@@ -22,8 +78,8 @@ env:
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
MYSQL_SOLID_CACHE_HOST: fizzy-beta-solidcache-db-101
MYSQL_SOLID_QUEUE_HOST: <%= @solidqueue_db %>
MYSQL_SOLID_CACHE_HOST: fizzy-beta-solidcache-db-101.df-iad-int.37signals.com
secret:
- RAILS_MASTER_KEY
- MYSQL_ALTER_PASSWORD
@@ -48,14 +104,13 @@ env:
- STRIPE_SECRET_KEY
- STRIPE_WEBHOOK_SECRET
tags:
sc_chi: {}
df_iad:
PRIMARY_DATACENTER: true
accessories:
load-balancer:
image: basecamp/kamal-proxy:lb
host: fizzy-beta-lb-01.sc-chi-int.37signals.com
host: <%= @lb_host %>
labels:
otel_role: load-balancer
otel_service: fizzy-load-balancer
+2
View File
@@ -0,0 +1,2 @@
<% ENV["BETA_NUMBER"] = "1" %>
<%= ERB.new(File.read(File.join(Gem::Specification.find_by_name("fizzy-saas").gem_dir, "config", "deploy.beta.yml")), trim_mode: 2).result %>
+2
View File
@@ -0,0 +1,2 @@
<% ENV["BETA_NUMBER"] = "2" %>
<%= ERB.new(File.read(File.join(Gem::Specification.find_by_name("fizzy-saas").gem_dir, "config", "deploy.beta.yml")), trim_mode: 2).result %>
+2
View File
@@ -0,0 +1,2 @@
<% ENV["BETA_NUMBER"] = "3" %>
<%= ERB.new(File.read(File.join(Gem::Specification.find_by_name("fizzy-saas").gem_dir, "config", "deploy.beta.yml")), trim_mode: 2).result %>
+2
View File
@@ -0,0 +1,2 @@
<% ENV["BETA_NUMBER"] = "4" %>
<%= ERB.new(File.read(File.join(Gem::Specification.find_by_name("fizzy-saas").gem_dir, "config", "deploy.beta.yml")), trim_mode: 2).result %>
@@ -3,9 +3,9 @@
require_relative "../config/environment"
domains = {
"production" => "box-car.com",
"beta" => "fizzy-beta.37signals.com",
"staging" => "fizzy.37signals-staging.com"
"production" => "app.fizzy.do",
"beta" => ENV.fetch("APP_FQDN", "beta1.fizzy-beta.com"),
"staging" => "app.fizzy-staging.com"
}
def fix_attachments(rich_text)