diff --git a/app/controllers/installation_controller.rb b/app/controllers/installation_controller.rb new file mode 100644 index 000000000..a0bc0aa74 --- /dev/null +++ b/app/controllers/installation_controller.rb @@ -0,0 +1,24 @@ +class InstallationController < ApplicationController + + skip_authorization_check + + def details + respond_to do |format| + format.any { render json: consul_installation_details.to_json, content_type: 'application/json' } + end + end + + private + + def consul_installation_details + { + release: 'v0.11' + }.merge(features: settings_feature_flags) + end + + def settings_feature_flags + Setting.where("key LIKE 'feature.%'").each_with_object({}) { |x, n| n[x.key.remove('feature.')] = x.value } + end + +end + diff --git a/config/routes.rb b/config/routes.rb index df7e03a4f..31d811293 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -36,6 +36,8 @@ Rails.application.routes.draw do get '/welcome', to: 'welcome#welcome' get '/cuentasegura', to: 'welcome#verification', as: :cuentasegura + get '/consul.json', to: "installation#details" + resources :debates do member do post :vote