Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/projects/logs_controller.rb')
-rw-r--r--app/controllers/projects/logs_controller.rb103
1 files changed, 0 insertions, 103 deletions
diff --git a/app/controllers/projects/logs_controller.rb b/app/controllers/projects/logs_controller.rb
deleted file mode 100644
index 0f751db2064..00000000000
--- a/app/controllers/projects/logs_controller.rb
+++ /dev/null
@@ -1,103 +0,0 @@
-# frozen_string_literal: true
-
-module Projects
- class LogsController < Projects::ApplicationController
- include ::Gitlab::Utils::StrongMemoize
-
- before_action :authorize_read_pod_logs!
- before_action :ensure_deployments, only: %i(k8s elasticsearch)
-
- feature_category :logging
- urgency :low
-
- def index
- return render_404 unless Feature.enabled?(:monitor_logging, project)
-
- if environment || cluster
- render :index
- else
- render :empty_logs
- end
- end
-
- def k8s
- render_logs(::PodLogs::KubernetesService, k8s_params)
- end
-
- def elasticsearch
- render_logs(::PodLogs::ElasticsearchService, elasticsearch_params)
- end
-
- private
-
- def render_logs(service, permitted_params)
- ::Gitlab::PollingInterval.set_header(response, interval: 3_000)
-
- result = service.new(cluster, namespace, params: permitted_params).execute
-
- if result.nil?
- head :accepted
- elsif result[:status] == :success
- render json: result
- else
- render status: :bad_request, json: result
- end
- end
-
- # cluster is selected either via environment or directly by id
- def cluster_params
- params.permit(:environment_name, :cluster_id)
- end
-
- def k8s_params
- params.permit(:container_name, :pod_name)
- end
-
- def elasticsearch_params
- params.permit(:container_name, :pod_name, :search, :start_time, :end_time, :cursor)
- end
-
- def environment
- strong_memoize(:environment) do
- if cluster_params.key?(:environment_name)
- ::Environments::EnvironmentsFinder.new(project, current_user, name: cluster_params[:environment_name]).execute.first
- else
- project.default_environment
- end
- end
- end
-
- def cluster
- strong_memoize(:cluster) do
- if gitlab_managed_apps_logs?
- clusters = ClusterAncestorsFinder.new(project, current_user).execute
- clusters.find { |cluster| cluster.id == cluster_params[:cluster_id].to_i }
- else
- environment&.deployment_platform&.cluster
- end
- end
- end
-
- def namespace
- if gitlab_managed_apps_logs?
- Gitlab::Kubernetes::Helm::NAMESPACE
- else
- environment.deployment_namespace
- end
- end
-
- def ensure_deployments
- return if gitlab_managed_apps_logs?
- return if cluster && namespace.present?
-
- render status: :bad_request, json: {
- status: :error,
- message: _('Environment does not have deployments')
- }
- end
-
- def gitlab_managed_apps_logs?
- cluster_params.key?(:cluster_id)
- end
- end
-end