def discovery_doc
Rails.cache.fetch 'arvados_v1_rest_discovery' do
Rails.application.eager_load!
+ remoteHosts = {}
+ Rails.configuration.RemoteClusters.each {|k,v| if k != "*" then remoteHosts[k] = v["Host"] end }
discovery = {
kind: "discovery#restDescription",
discoveryVersion: "v1",
crunchLogPartialLineThrottlePeriod: Rails.configuration.Containers["Logging"]["LogPartialLineThrottlePeriod"],
crunchLogUpdatePeriod: Rails.configuration.Containers["Logging"]["LogUpdatePeriod"],
crunchLogUpdateSize: Rails.configuration.Containers["Logging"]["LogUpdateSize"],
- remoteHosts: Rails.configuration.RemoteClusters.map {|k,v| v["Host"]},
+ remoteHosts: remoteHosts,
remoteHostsViaDNS: Rails.configuration.RemoteClusters["*"]["Proxy"],
websocketUrl: Rails.configuration.Services["Websocket"]["ExternalURL"].to_s,
workbenchUrl: Rails.configuration.Services["Workbench1"]["ExternalURL"].to_s,
def home
respond_to do |f|
f.html do
- if !Rails.configuration.Services["Workbench1"]["ExternalURL"].empty?
+ if !Rails.configuration.Services["Workbench1"]["ExternalURL"].to_s.empty?
redirect_to Rails.configuration.Services["Workbench1"]["ExternalURL"]
else
render_not_found "Oops, this is an API endpoint. You probably want to point your browser to an Arvados Workbench site instead."