diff --git a/Gemfile b/Gemfile index e39c2d2..1382ff9 100644 --- a/Gemfile +++ b/Gemfile @@ -54,4 +54,5 @@ gem 'devise', '~> 4.9' gem 'wicked_pdf', '~> 2.8' +gem 'mission_control-jobs' gem 'rqrcode', '~> 3.1' diff --git a/Gemfile.lock b/Gemfile.lock index d8e8f7a..f2af1b8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -196,6 +196,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 money (6.19.0) i18n (>= 0.6.4, <= 2) msgpack (1.7.5) @@ -456,6 +466,7 @@ DEPENDENCIES jsonapi-rails letter_opener_web license_finder + mission_control-jobs money pg (~> 1.1) pluck_to_hash @@ -558,6 +569,7 @@ CHECKSUMS mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289 minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756 + mission_control-jobs (1.0.2) sha256=0f9e115afdd77e3b10a1988870b9b32bdc99350a952c7a85a3b3f440bf473eb4 money (6.19.0) sha256=ec936fa1e42f2783719241ed9fd52725d0efa628f928feea1eb5c37d5de7daf3 msgpack (1.7.5) sha256=ffb04979f51e6406823c03abe50e1da2c825c55a37dee138518cdd09d9d3aea8 multi_xml (0.7.1) sha256=4fce100c68af588ff91b8ba90a0bb3f0466f06c909f21a32f4962059140ba61b diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 025dc85..e4e4ab9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -4,7 +4,7 @@ class ApplicationController < ActionController::Base set_current_tenant_through_filter - before_action :set_tenant + before_action :set_tenant, unless: -> { params[:controller].start_with?('mission_control/') } before_action :authenticate_user! after_action :set_csrf_cookie diff --git a/config/credentials.yml.enc b/config/credentials.yml.enc index 7ff8b24..16e6a42 100644 --- a/config/credentials.yml.enc +++ b/config/credentials.yml.enc @@ -1 +1 @@ -OiXHHR1FtwOH/WOGpbJYiNbTvOgucDw80NPTRUiyDYosdk5M++4XvMfMQV77fR023FtStN+xagLpXH+F2ey6Mod5EQKCyAGvKz/fNinSNmNoIlDzs4OEM1ry2o/guZ9Y30XwwEjmz4R9wtN+iXVsUh1ig0QyfPuD7vavbv4N66KDRHeAeMHmkXKampzAp0RNaybS4xPWHl56zaFCGHqQSjnrLzWJi7Q0nlG2VTm+gbjRf2zAkLssSXKfux3lUnWGDcQi7CfrjkaSd9Ltp2qO+UxOFyEkjKKI2O3Jd1sReikpLIOae/Q1C9HwhlDvVIKvXTh7BUMgS4tuutzo+TypbgX/7liYSxS7B6fKkxsHrWkfMEo5Rx4YRLZrHqwGBkSKPsFyX7fcUBgjYnEBm2dmgYFduEHs--K9NZ9weZIzDBbOnk--LSi8wdpxZJtxqvaNy24qWQ== \ No newline at end of file +TOtkAra/cchKwT7oQqMVOrryboJ8sR1YjkXawjui9HUV8WvnVg56w5BJMiwTlKGwtOaDoLiZVRTmE2ROud6GIOqXu1fj4bJ1hgobeK5MdEbJPJ6kRoD6p9y29CaBuH6I8V4ynJlGJwhOe0Tlob+tn72ECk3bHKN0ZUGAUrGk9Br9DJhtzLhkFN2bawEDHIVcbJpTOsLKqSIsk6aKX/2AfnOZ5Xo9njjSF4lYnetItL/XKWD01ErZ3XLENuOkGyCI29F5lsDVR0WMdr8n3Cx1iVyn5N0pZ55jAEuy6aY1/Q0f/BYEwAYOJPRvC/gPc/vVqVEmnVHJBKsez8hOxQ3Wm3taAcnOFXTLfufp6oDqdVTBgUYiWpfvK/hEeCyOOf478zRFIkONr1IBbIxkLFCTW6ZJKPSa61AG8TinYWTdwJ9UtPErs4b1r8/P2eU2PgNp3XzXhuyNog3lGlwvH5H/P1vncWJ+C2PDAgoqBPlScS0CU82HH5vxsHcOsIBRKB9vRYS8hOiE0134wYLNpDei1fUslllme2GX1L3mfP4Iz3lwJruXiuOO8tbsxuJv+GVN4kvjPhf9Fqfvs8KHZ7F35XLvJdTgg9TYfdW/cUxiPggokM8Mn3VvArf28zUj10alrofkwONFtlsE3U+rs4DXrawnNTn2V69F1PFDHTTTcQh87wnbSNKIuQ==--mN3rf6F43fMXSAgl--GIEBnzwQcaKYHaPxe6O68w== \ No newline at end of file diff --git a/config/environments/development.rb b/config/environments/development.rb index 2f085c5..b46164c 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -78,6 +78,8 @@ Rails.application.configure do # Raise error when a before_action's only/except options reference missing actions config.action_controller.raise_on_missing_callback_actions = true + config.mission_control.jobs.http_basic_auth_enabled = false + config.hosts << "libre-wedding-planner.app.localhost" Rails.application.routes.default_url_options[:host] = "libre-wedding-planner.app.localhost" end diff --git a/config/initializers/acts_as_tenant.rb b/config/initializers/acts_as_tenant.rb index 25855eb..f82b856 100644 --- a/config/initializers/acts_as_tenant.rb +++ b/config/initializers/acts_as_tenant.rb @@ -1,7 +1,12 @@ # Copyright (C) 2024-2025 LibreWeddingPlanner contributors ActsAsTenant.configure do |config| - config.require_tenant = !Rails.env.test? + config.require_tenant = lambda do + return false if Rails.env.test? + if $request_env.present? + return false if $request_env["REQUEST_PATH"].start_with?("/jobs/") + end + end end Rails.application.console do diff --git a/config/routes.rb b/config/routes.rb index 4e36fa2..44a1cad 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -11,6 +11,7 @@ Rails.application.routes.draw do mount Rswag::Ui::Engine => '/api-docs' mount Rswag::Api::Engine => '/api-docs' + mount MissionControl::Jobs::Engine, at: "/jobs" scope ":slug", constraints: { slug: Wedding::SLUG_REGEX } do devise_for :users, skip: [:registration, :session, :confirmation] diff --git a/nginx.conf b/nginx.conf index 58c2bb9..07f73fd 100644 --- a/nginx.conf +++ b/nginx.conf @@ -12,6 +12,11 @@ server { proxy_set_header Host $http_host; } + location /jobs/ { + proxy_pass http://backend:3000/jobs/; + proxy_set_header Host $http_host; + } + location /captcha/v2/media/ { proxy_pass http://libre-captcha:8888/v2/media/; proxy_set_header Host $http_host;