From 80e84f31fc863c7a30a474a8f6d5993559beb934 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Sun, 1 Jun 2025 11:40:35 -0400 Subject: [PATCH 1/2] dep: add mission_control-jobs --- Gemfile | 5 +++-- Gemfile.lock | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 457f0790b..1984dc71d 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,6 @@ source "https://rubygems.org" git_source(:bc) { |repo| "https://github.com/basecamp/#{repo}" } gem "rails", github: "rails/rails", branch: "main" -gem "active_record-tenanted", bc: "active_record-tenanted" # Assets & front end gem "importmap-rails" @@ -11,6 +10,7 @@ gem "stimulus-rails" gem "turbo-rails" # Deployment and drivers +gem "active_record-tenanted", bc: "active_record-tenanted" gem "bootsnap", require: false gem "kamal", require: false gem "puma", ">= 5.0" @@ -32,7 +32,8 @@ gem "image_processing", "~> 1.14" gem "platform_agent" gem "aws-sdk-s3", require: false -# Telemetry and logging +# Telemetry, logging, and operations +gem "mission_control-jobs" gem "sentry-ruby" gem "sentry-rails" gem "rails_structured_logging", bc: "rails-structured-logging" diff --git a/Gemfile.lock b/Gemfile.lock index 8d216f67a..143f0d718 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -275,6 +275,16 @@ GEM mini_mime (1.1.5) mini_portile2 (2.8.9) minitest (5.25.5) + mission_control-jobs (1.0.2) + actioncable (>= 7.1) + actionpack (>= 7.1) + activejob (>= 7.1) + activerecord (>= 7.1) + importmap-rails (>= 1.2.1) + irb (~> 1.13) + railties (>= 7.1) + stimulus-rails + turbo-rails msgpack (1.8.0) multipart-post (2.4.1) net-http (0.6.0) @@ -501,6 +511,7 @@ DEPENDENCIES importmap-rails jbuilder kamal + mission_control-jobs platform_agent propshaft puma (>= 5.0) From 29644ba122d5f5be1eb3344c77d0a6ce1b182bd7 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Sun, 1 Jun 2025 11:50:47 -0400 Subject: [PATCH 2/2] Mount mission control under `/admin/jobs` and add credentials for beta and production (in 1password). --- config/credentials/beta.yml.enc | 2 +- config/credentials/development.yml.enc | 2 +- config/credentials/production.yml.enc | 2 +- config/routes.rb | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/credentials/beta.yml.enc b/config/credentials/beta.yml.enc index 52c0b25b6..71b1e744d 100644 --- a/config/credentials/beta.yml.enc +++ b/config/credentials/beta.yml.enc @@ -1 +1 @@ -czCzGVSjZ8O5GBNCpzrejKPoFxhEI5Vbw2cAL4v33gwdZNdEE9HZ82icKOKTcvGUUMnExsnfgfd7MIW86R+mMhw9xd1idtwBoOLdKtqHflkH4cvv7ke8yD5GdEKaq4j+AOGW5fY+e3GRZLjPo61PXO+PfeTABBuarSRSVgP8Fhlzx3iN3NpEAgFNExUkU9cl7D//wwJOnURu0BmNVaKWHXFxQS8NjCqfcxafNc46A316qrOG2xBl9WIVyhjM0XoXxjLjxIzNQ4nyAmaV03Dic/+aQgxpRV5UIVvFAB3W5P7shNCP683Xd0Fsb+IUf3cHBaKXXwkb0ksEe16JiHga1cgxkU1TkcpES4ByITXKqKKMWeuNMc2jx0sCy4fo46EKxC367PbQnortb6F5Bb7WTBq2CVO4/JfayocL8+a2Lun8oUecvyLIxSW4alByOuA+/hpb3mJ11k54lObQGTHdozCYlVxwB7ZzQ3IqDoH5aEYUkVCsQFWkge5zYQKsGllg0txZfxUnK/9xYo/1eJEXeMMi18mvz7gsodySR2ISG5WC8IYGSg813QVWKl4RgmCd2sRHRmIgJE10KnA=--NyjrvkU5s2ys16X3--l7V+dHmpOJEIh+YL/1yMfw== \ No newline at end of file +I2oqW56RTDrRxQ5HUGXGUbSiVoeICiF6tjSo1oxmGuZKE6wu99S+RvQ6Mf0enCQdbHG0osoCpUvu7iuOMEA3X6vO7ku1YFbCDKugu6tY913bzRl166SWZdSlEwtcr6wtmUkXLoWfDzOt98lJ03nU8YbeDC2AzuBqcYWS2qjqpFrrDK8WQI7IukM4iFEDjesW2Noekyy6z+b5+DxB2lkCMFgim4ExW/ndFmrvDnt+QeR+rB9XW9BF6CEg5pPsBQ9EwtICsacCWdvFFOZ8EaNoOuF+hKIHoKP60UCfQj5EUir/r5pGE0Z83z91+UpdpVCuGvh62uSZoZOjdGAplg/DWWKpGcj5JOA7V2yyGEMlz7NueBInG8t/eEyeX/98fAy4TNUxxvncNB+xsmgPJIqlek7vXtYe06AMwrRvac4QSSpUuwWuKUV8JF4gYT5Gp92rzqmmwsTmjvEMiPlnnVYH83GCtd2f1Se7EkDVTvgLA3idnjLvFCelAU4Vdo9/pLqG+0xorSxQ4D/UXqykxtTSjz6pC2P8J1g6T91TQhcH4tDFuZICOYLyFV8F5OD3jPaP+ml01oME42FIKmyhvcNhMLqluUvFqqtOxgWp54jCnde6MBHJ9W7gejwfSmjyD+pr/5NXgaGaTq9h6NMdMkr0Bis6Cc/EgHZKBpJx6ARH1ulcp9uZ9tBjNCePBNxATrJLKwiXh0ZTLDfDTkgdznkj8u+FAKclxjIZ63td3hGe--5kL30BIpNtC7wcsf--YaV9PXL74Wl2ePaAdT5Crg== \ No newline at end of file diff --git a/config/credentials/development.yml.enc b/config/credentials/development.yml.enc index e14363fcd..affc4c6cd 100644 --- a/config/credentials/development.yml.enc +++ b/config/credentials/development.yml.enc @@ -1 +1 @@ -TebKB7S5umO6AQRNOZWHMihQAlRay0wPXY637HdvynV9d34ALokzb765aykzZYsUmeHdvFnSHdweRQG60NR7V3sXNL09h38pWo0JhcGkwmtEAe908mZRjC0JjXamOx0AgohRdfmjwlI9MROfjTwrKq0CtdIien7hNZDqUxEbWOjSX2RiPL65Ro++iAnvA9ezUoHW47TPPnXDiFq4I37KPVhl1Ze1bPP02VebysUB/K+nsy4GsRdl3jxLXQ==--7ie1Lx8/EJvL2Jbc--WJAy/xEQeki9ceKjC5Si1A== \ No newline at end of file +e6HcyVNJvgdJGTCcvW8FDHQ9pHYmTgNW2/71Espdwxd5LQX/Xb9+VkeqpEAL8ceFJo6ro49mMs85G2YngKbbXEh//8+XSS0inMR/kh9wTV3f6YBWnLVBbhrOnYgPcQ8vedsgxLG2Cs4y7ipfeT/dp9bb5m4IxV0OPiUjVFFJuAuGkMJt3pE7D6alqL1ACRxazV9UKV5WKEBfaQYeKpJ++5f86Nls1EwKo5tB1lJed9P5n2yH7meX/QyxjgQd38CIaPwp+F92y5DLKJD5MZRMJGgWf6MT6096LhjEC3vvtS3wwT/eDVcVKTplRkEszj7BZEfOs9Ondb9EVtbXmeoHYSgpaOq9/nEwtho5Uw==--KlHZy1apg3u1XxFs--N2ehRobLHNz+Sepc8p4EIA== \ No newline at end of file diff --git a/config/credentials/production.yml.enc b/config/credentials/production.yml.enc index 83814b698..ef3036025 100644 --- a/config/credentials/production.yml.enc +++ b/config/credentials/production.yml.enc @@ -1 +1 @@ -8zbS4KaK1RittKFTR3g90VWGerEa6e5gSdtaVr5Zmxxs61/9zmEybqYH61jL70zhYpYHS9R0bCPszDgpUymcJevEcSytNAwdY+ba7IrXy+yCQIVjsqYlUNXbb/56f1rMfAHwtUidmudFLUZ83KYOexnJdQ7sRVAc2AU8ZX91xDfzavz9Q6zqnCb9/MyzHewlrcxgl+Igvask3M/xXSLgbZztuPAN+ETNY9aTlLUZK0fhxUsmtniFWXwhE3Qocjw+waP4Tvt0//Ps8v8HAd0oujwhDWWhG2tnv+9CobjeKNucf7KJNJWrSK63sitdfw5gQK0N3PtgMi3GHpkEenymQ6+lM/zSr3SX+RHcfmTtF2e7jmKlW05sFjMFp/r+U7UlOHPjGJ2cuTFykUmcUq33mwB7GakzjimVhogTAJrMNTQUJNecPkriBm9FR2mORKtZHA3ZXbRx+GzN7OyP8UFNXPKiLbBQEU45PcegZzqcr0LJjjg4A/C2gJbAsbVCea57WYeIiBD+0Gujof7VyXp9stc6teE71odipbolYl7/9bOdyEezeWsCa8HZVMnOoxvdAlilABI1B1kWs3HFRoPwhQgT--4kvplyqzQKR1xwnc--NE2dTYNLVrDzrLQHy+Uk+w== \ No newline at end of file +Qkkt3krcGlOh76//7TmY5rXz31mhL3NNNiO6TCcRhx4lT6uZ8sLjW7X0yp2wZ30y2cJBeIsNMeOhL47JTpu0Z4d0FPtwgH4bzzXAiab0/YrfMjxyBt7/K1DzW/bePUvakJggIvVGGRA1NB1tPkwziQ4dgA34E/UUPAxUofFaoCIFVABmqt4DFg0DKYB8tImDDjZ5xUfSNxrKj3pH5mOIU9jqSK6LtBELFZcNxrJOI0UEgayRNwYAs44ujdM2/2zrAWlUCFZ3NnMU4bBJW02/d6LaxHtB809u8mx3bChEzWMtZB9CvpbRH7u6XfZJR1YGFztcNguzRbNX5x9pKZImAuAhVFKR7Fbi12Hg3w7U3A/YovwmyhHK6ksfOzYlYoDUTBnGYVwiqR16naaHCMekomK+uo0qtOn83RQkLuuqFJshPXn/lW8Rggt4dq/0THEl7Qj+dumadlWDVEgxhipI031RSBF1toNWw/zwaC31Ord1YXD8ZC09sPoj8Zd4hD2o2a0IUuIMXA8w5/2+AmdU8wF66opdKGdsZDRjM2Bul8aAbJ7/iV7xTuvlE4LmzXGArMvivIZ0GwrN3YAsDta2Y3ufibq7WZzSCOrpbPKJ9CEGg4a2AN8UGaGZ5ZEAYg8lhDgsZMjHRkGNuxk8QkDiVFDyNoI7H9ZQqbw+L1AJRTfDIcNB/9h5n+//Nk4ylLF1lnI7y/IQA/AuSQ+UN+okt3RhLugwGvWrs49MExJStLHpGveSoQ==--MQ2JycR3X6LIiKSY--45C7bleKX9FMGv4fc+G1yw== \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 5c256cdd3..92cf66e1f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -123,4 +123,8 @@ Rails.application.routes.draw do root "events#index" + + namespace :admin do + mount MissionControl::Jobs::Engine, at: "/jobs" + end end