summaryrefslogtreecommitdiff
path: root/lib/api/metadata.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/metadata.rb')
-rw-r--r--lib/api/metadata.rb73
1 files changed, 67 insertions, 6 deletions
diff --git a/lib/api/metadata.rb b/lib/api/metadata.rb
index c4984f0e7f0..3e42ffe336a 100644
--- a/lib/api/metadata.rb
+++ b/lib/api/metadata.rb
@@ -25,15 +25,76 @@ module API
}
EOF
- desc 'Get the metadata information of the GitLab instance.' do
+ helpers do
+ def run_metadata_query
+ run_graphql!(
+ query: METADATA_QUERY,
+ context: { current_user: current_user },
+ transform: ->(result) { result.dig('data', 'metadata') }
+ )
+ end
+ end
+
+ desc 'Retrieve metadata information for this GitLab instance.' do
detail 'This feature was introduced in GitLab 15.2.'
+ success [
+ {
+ code: 200,
+ model: Entities::Metadata,
+ message: 'successful operation',
+ examples: {
+ successful_response: {
+ 'value' => {
+ version: "15.0-pre",
+ revision: "c401a659d0c",
+ kas: {
+ enabled: true,
+ externalUrl: "grpc://gitlab.example.com:8150",
+ version: "15.0.0"
+ }
+ }
+ }
+ }
+ }
+ ]
+ failure [{ code: 401, message: 'unauthorized operation' }]
+ tags %w[metadata]
end
get '/metadata' do
- run_graphql!(
- query: METADATA_QUERY,
- context: { current_user: current_user },
- transform: ->(result) { result.dig('data', 'metadata') }
- )
+ run_metadata_query
+ end
+
+ # Support the deprecated `/version` route.
+ # See https://gitlab.com/gitlab-org/gitlab/-/issues/366287
+ desc 'Get the version information of the GitLab instance.' do
+ detail 'This feature was introduced in GitLab 8.13 and deprecated in 15.5. ' \
+ 'We recommend you instead use the Metadata API.'
+ success [
+ {
+ code: 200,
+ model: Entities::Metadata,
+ message: 'successful operation',
+ examples: {
+ 'Example' => {
+ 'value' => {
+ version: "15.0-pre",
+ revision: "c401a659d0c",
+ kas: {
+ enabled: true,
+ externalUrl: "grpc://gitlab.example.com:8150",
+ version: "15.0.0"
+ }
+ }
+ }
+ }
+ }
+ ]
+ failure [{ code: 401, message: 'unauthorized operation' }]
+ tags %w[metadata]
+ end
+
+ get '/version' do
+ run_metadata_query
end
end
end