X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3c87946740b83f612561f998f7d83586593be830..b9fd7e3f374248a61159e4750a84e38d1c48d5dd:/services/api/app/controllers/arvados/v1/schema_controller.rb diff --git a/services/api/app/controllers/arvados/v1/schema_controller.rb b/services/api/app/controllers/arvados/v1/schema_controller.rb index 13e47f76cd..aee5d1f951 100644 --- a/services/api/app/controllers/arvados/v1/schema_controller.rb +++ b/services/api/app/controllers/arvados/v1/schema_controller.rb @@ -26,14 +26,17 @@ class Arvados::V1::SchemaController < ApplicationController 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 } + Rails.configuration.RemoteClusters.each {|k,v| if k != :"*" then remoteHosts[k] = v["Host"] end } discovery = { kind: "discovery#restDescription", discoveryVersion: "v1", id: "arvados:v1", name: "arvados", version: "v1", - revision: "20131114", + # format is YYYYMMDD, must be fixed with (needs to be linearly + # sortable), updated manually, may be used by clients to + # determine availability of API server features. + revision: "20190926", source_version: AppVersion.hash, sourceVersion: AppVersion.hash, # source_version should be deprecated in the future packageVersion: AppVersion.package_version, @@ -53,7 +56,7 @@ class Arvados::V1::SchemaController < ApplicationController blobSignatureTtl: Rails.configuration.Collections.BlobSigningTTL, maxRequestSize: Rails.configuration.API.MaxRequestSize, maxItemsPerResponse: Rails.configuration.API.MaxItemsPerResponse, - dockerImageFormats: Rails.configuration.Containers.SupportedDockerImageFormats, + dockerImageFormats: Rails.configuration.Containers.SupportedDockerImageFormats.keys, crunchLogBytesPerEvent: Rails.configuration.Containers.Logging.LogBytesPerEvent, crunchLogSecondsBetweenEvents: Rails.configuration.Containers.Logging.LogSecondsBetweenEvents, crunchLogThrottlePeriod: Rails.configuration.Containers.Logging.LogThrottlePeriod, @@ -67,6 +70,7 @@ class Arvados::V1::SchemaController < ApplicationController remoteHostsViaDNS: Rails.configuration.RemoteClusters["*"].Proxy, websocketUrl: Rails.configuration.Services.Websocket.ExternalURL.to_s, workbenchUrl: Rails.configuration.Services.Workbench1.ExternalURL.to_s, + workbench2Url: Rails.configuration.Services.Workbench2.ExternalURL.to_s, keepWebServiceUrl: Rails.configuration.Services.WebDAV.ExternalURL.to_s, gitUrl: Rails.configuration.Services.GitHTTP.ExternalURL.to_s, parameters: { @@ -400,8 +404,30 @@ class Arvados::V1::SchemaController < ApplicationController end end end - Rails.configuration.API.DisabledAPIs.each do |method| - ctrl, action = method.split('.', 2) + + discovery[:resources]['configs'] = { + methods: { + get: { + id: "arvados.configs.get", + path: "config", + httpMethod: "GET", + description: "Get public config", + parameters: { + }, + parameterOrder: [ + ], + response: { + }, + scopes: [ + "https://api.curoverse.com/auth/arvados", + "https://api.curoverse.com/auth/arvados.readonly" + ] + }, + } + } + + Rails.configuration.API.DisabledAPIs.each do |method, _| + ctrl, action = method.to_s.split('.', 2) discovery[:resources][ctrl][:methods].delete(action.to_sym) end discovery