Skip to content

Commit d53c05b

Browse files
committed
Fix Mission Control Jobs deployment error
- Remove required MISSION_CONTROL_USERNAME/PASSWORD env vars - Use admin user authentication instead of separate credentials - Add AdminConstraint for admin-only /jobs route access - Update public routes to include visit_data endpoint
1 parent 41bc82b commit d53c05b

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

app/controllers/application_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def public_routes
4848
'/login',
4949
'/logout',
5050
'/up',
51-
'/home/scan_data'
51+
'/home/visit_data'
5252
]
5353
end
5454
end

config/admin_constraint.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class AdminConstraint
2+
def matches?(request)
3+
return false unless request.session[:user_id]
4+
5+
user = User.find_by(id: request.session[:user_id])
6+
user&.admin?
7+
rescue
8+
false
9+
end
10+
end
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
1-
unless ENV['MISSION_CONTROL_USERNAME'] && ENV['MISSION_CONTROL_PASSWORD']
2-
raise "MISSION_CONTROL_USERNAME and MISSION_CONTROL_PASSWORD environment variables must be set"
3-
end
4-
5-
Rails.application.credentials.mission_control ||= {}
6-
Rails.application.credentials.mission_control[:http_basic_auth_user] = ENV['MISSION_CONTROL_USERNAME']
7-
Rails.application.credentials.mission_control[:http_basic_auth_password] = ENV['MISSION_CONTROL_PASSWORD']
1+
# Mission Control Jobs uses admin user authentication via /jobs route
2+
# No separate credentials needed - handled by admin authentication in routes

config/routes.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
require_relative 'admin_constraint'
2+
13
Rails.application.routes.draw do
24
# Poster routes
35
resources :posters, only: [:index, :new, :create, :show]
@@ -27,8 +29,10 @@
2729
# Can be used by load balancers and uptime monitors to verify that the app is live.
2830
get "up" => "rails/health#show", as: :rails_health_check
2931

30-
# Mission Control Jobs dashboard
31-
mount MissionControl::Jobs::Engine, at: "/jobs"
32+
# Mission Control Jobs dashboard (admin only)
33+
constraints AdminConstraint.new do
34+
mount MissionControl::Jobs::Engine, at: "/jobs"
35+
end
3236

3337
# Render dynamic PWA files from app/views/pwa/* (remember to link manifest in application.html.erb)
3438
# get "manifest" => "rails/pwa#manifest", as: :pwa_manifest

0 commit comments

Comments
 (0)