diff --git a/bin/migration-audit b/bin/migration-audit index 429bb0374..20a96ca7c 100755 --- a/bin/migration-audit +++ b/bin/migration-audit @@ -6,21 +6,6 @@ set -eo pipefail app_root="$(cd "$(dirname "$0")/.."; pwd)" export PATH="$app_root/bin:$PATH" -# Install gum if needed -if ! command -v gum &> /dev/null; then - echo - echo "▸ Installing gum" - if command -v pacman &> /dev/null; then - sudo pacman -S --noconfirm gum - elif command -v brew &> /dev/null; then - brew install gum - else - echo "Please install gum: https://github.com/charmbracelet/gum" - exit 1 - fi - echo -fi - step() { local spin=false if [[ $1 == "--spin" ]] ; then @@ -62,12 +47,12 @@ echo step "Deleting schema files" rm -f db/schema.rb db/schema_cache.yml -step "Deleting tenant directory" rm -rf storage/tenants/development/175932900 +step "Deleting tenant directory" rm -rf storage/tenants/development/686465299 step --spin "Migrating..." "Regenerating schema files" bin/rails db:migrate # Check if the schema files have any git changes -if git diff --quiet db/schema.rb db/schema_cache.yml; then +if git diff --quiet -- db/schema.rb db/schema_cache.yml; then gum style --foreground 46 "✓ Schema files are in sync with migrations" exit 0 else @@ -75,6 +60,6 @@ else gum style --foreground 196 --bold "✗ Schema files are out of sync with migrations!" echo gum style --foreground 135 --bold "Differences:" - git --no-pager diff db/schema.rb db/schema_cache.yml + git --no-pager diff -- db/schema.rb db/schema_cache.yml exit 1 fi diff --git a/config/initializers/tenanting/default_tenant.rb b/config/initializers/tenanting/default_tenant.rb index 096c5721e..2066f61d6 100644 --- a/config/initializers/tenanting/default_tenant.rb +++ b/config/initializers/tenanting/default_tenant.rb @@ -1,6 +1,6 @@ Rails.application.configure do # In test environment, default tenant is set in test_helper.rb if Rails.env.development? - config.active_record_tenanted.default_tenant = "175932900" # Honcho + config.active_record_tenanted.default_tenant = "686465299" # Honcho end end diff --git a/script/configure-lb-production.sh b/script/configure-lb-production.sh new file mode 100755 index 000000000..2430df644 --- /dev/null +++ b/script/configure-lb-production.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +set -e + +# fizzy-lb-101.df-iad-int.37signals.com +# +# Service Host Path Target State TLS +# fizzy fizzy.37signals.com / fizzy-app-101.df-iad-int.37signals.com,fizzy-app-02.sc-chi-int.37signals.com running yes +# fizzy-admin fizzy.37signals.com /admin fizzy-app-101.df-iad-int.37signals.com running yes +ssh app@fizzy-lb-101.df-iad-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy \ + --tls \ + --host=fizzy.37signals.com \ + --target=fizzy-app-101.df-iad-int.37signals.com \ + --read-target=fizzy-app-102.df-iad-int.37signals.com \ + --tls-acme-cache-path=/certificates + +ssh app@fizzy-lb-101.df-iad-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy-admin \ + --host=fizzy.37signals.com \ + --path-prefix /admin \ + --strip-path-prefix=false \ + --target=fizzy-app-101.df-iad-int.37signals.com + + +# fizzy-lb-01.sc-chi-int.37signals.com +# +# Service Host Path Target State TLS +# fizzy fizzy.37signals.com / fizzy-app-101.df-iad-int.37signals.com,fizzy-app-102.df-iad-int.37signals.com running yes +# fizzy-admin fizzy.37signals.com /admin fizzy-app-101.df-iad-int.37signals.com running yes +ssh app@fizzy-lb-01.sc-chi-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy \ + --tls \ + --host=fizzy.37signals.com \ + --target=fizzy-app-101.df-iad-int.37signals.com \ + --read-target=fizzy-app-02.sc-chi-int.37signals.com \ + --tls-acme-cache-path=/certificates + +ssh app@fizzy-lb-01.sc-chi-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy-admin \ + --host=fizzy.37signals.com \ + --path-prefix /admin \ + --strip-path-prefix=false \ + --target=fizzy-app-101.df-iad-int.37signals.com + + +# fizzy-lb-401.df-ams-int.37signals.com +# +# Service Host Path Target State TLS +# fizzy fizzy.37signals.com / fizzy-app-101.df-iad-int.37signals.com,fizzy-app-402.df-ams-int.37signals.com running yes +# fizzy-admin fizzy.37signals.com /admin fizzy-app-101.df-iad-int.37signals.com running yes +ssh app@fizzy-lb-401.df-ams-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy \ + --tls \ + --host=fizzy.37signals.com \ + --target=fizzy-app-101.df-iad-int.37signals.com \ + --read-target=fizzy-app-402.df-ams-int.37signals.com \ + --tls-acme-cache-path=/certificates + +ssh app@fizzy-lb-401.df-ams-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy-admin \ + --host=fizzy.37signals.com \ + --path-prefix /admin \ + --strip-path-prefix=false \ + --target=fizzy-app-101.df-iad-int.37signals.com diff --git a/script/configure-lb-staging.sh b/script/configure-lb-staging.sh new file mode 100755 index 000000000..17ae50494 --- /dev/null +++ b/script/configure-lb-staging.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +set -e + +# fizzy-staging-lb-01.sc-chi-int.37signals.com +# +# Service Host Path Target State TLS +# fizzy fizzy.37signals-staging.com / fizzy-staging-app-01.sc-chi-int.37signals.com,fizzy-staging-app-02.sc-chi-int.37signals.com running yes +# fizzy-admin fizzy.37signals-staging.com /admin fizzy-staging-app-01.sc-chi-int.37signals.com running yes +ssh app@fizzy-staging-lb-01.sc-chi-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy \ + --tls \ + --host=fizzy.37signals-staging.com \ + --target=fizzy-staging-app-01.sc-chi-int.37signals.com \ + --read-target=fizzy-staging-app-02.sc-chi-int.37signals.com \ + --tls-acme-cache-path=/certificates + +ssh app@fizzy-staging-lb-01.sc-chi-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy-admin \ + --host=fizzy.37signals-staging.com \ + --path-prefix /admin \ + --strip-path-prefix=false \ + --target=fizzy-staging-app-01.sc-chi-int.37signals.com + +# fizzy-staging-lb-101.df-iad-int.37signals.com +# +# Service Host Path Target State TLS +# fizzy fizzy.37signals-staging.com / fizzy-staging-app-01.sc-chi-int.37signals.com,fizzy-staging-app-102.df-iad-int.37signals.com running yes +# fizzy-admin fizzy.37signals-staging.com /admin fizzy-staging-app-01.sc-chi-int.37signals.com running yes +ssh app@fizzy-staging-lb-101.df-iad-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy \ + --tls \ + --host=fizzy.37signals-staging.com \ + --target=fizzy-staging-app-01.sc-chi-int.37signals.com \ + --read-target=fizzy-staging-app-102.df-iad-int.37signals.com \ + --tls-acme-cache-path=/certificates + +ssh app@fizzy-staging-lb-101.df-iad-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy-admin \ + --host=fizzy.37signals-staging.com \ + --path-prefix /admin \ + --strip-path-prefix=false \ + --target=fizzy-staging-app-01.sc-chi-int.37signals.com + +# fizzy-staging-lb-401.df-ams-int.37signals.com +# +# Service Host Path Target State TLS +# fizzy fizzy.37signals-staging.com / fizzy-staging-app-01.sc-chi-int.37signals.com,fizzy-staging-app-402.df-ams-int.37signals.com running yes +# fizzy-admin fizzy.37signals-staging.com /admin fizzy-staging-app-01.sc-chi-int.37signals.com running yes +ssh app@fizzy-staging-lb-401.df-ams-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy \ + --tls \ + --host=fizzy.37signals-staging.com \ + --target=fizzy-staging-app-01.sc-chi-int.37signals.com \ + --read-target=fizzy-staging-app-402.df-ams-int.37signals.com \ + --tls-acme-cache-path=/certificates + +ssh app@fizzy-staging-lb-401.df-ams-int.37signals.com \ + docker exec fizzy-load-balancer \ + kamal-proxy deploy fizzy-admin \ + --host=fizzy.37signals-staging.com \ + --path-prefix /admin \ + --strip-path-prefix=false \ + --target=fizzy-staging-app-01.sc-chi-int.37signals.com