summaryrefslogtreecommitdiff
path: root/app/serializers/cluster_entity.rb
blob: eea0acdc11bc7d35e7fd3b4220ce3d1b1d45b6fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# frozen_string_literal: true

class ClusterEntity < Grape::Entity
  include RequestAwareEntity

  expose :cluster_type
  expose :enabled
  expose :environment_scope
  expose :name
  expose :nodes
  expose :provider_type
  expose :status_name, as: :status
  expose :status_reason
  expose :applications, using: ClusterApplicationEntity

  expose :path do |cluster|
    Clusters::ClusterPresenter.new(cluster).show_path # rubocop: disable CodeReuse/Presenter
  end

  expose :gitlab_managed_apps_logs_path do |cluster|
    Clusters::ClusterPresenter.new(cluster, current_user: request.current_user).gitlab_managed_apps_logs_path # rubocop: disable CodeReuse/Presenter
  end

  expose :kubernetes_errors do |cluster|
    ClusterErrorEntity.new(cluster)
  end

  expose :enable_advanced_logs_querying do |cluster|
    cluster.application_elastic_stack_available?
  end
end