diff options
Diffstat (limited to 'app/services/clusters/verify_service.rb')
-rw-r--r-- | app/services/clusters/verify_service.rb | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/app/services/clusters/verify_service.rb b/app/services/clusters/verify_service.rb deleted file mode 100644 index d5a753f6704..00000000000 --- a/app/services/clusters/verify_service.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -module Clusters - class VerifyService - attr_reader :cluster - - def initialize(cluster) - @cluster = cluster - end - - def execute - verify_connection! - rescue *Gitlab::Kubernetes::Errors::CONNECTION - :unreachable - rescue *Gitlab::Kubernetes::Errors::AUTHENTICATION - :authentication_failure - rescue Kubeclient::HttpError => e - kubeclient_error_status(e) - rescue => e - Gitlab::Sentry.track_acceptable_exception(e, extra: { cluster_id: cluster.id }) - - :unknown_failure - else - :connected - end - - private - - def verify_connection! - cluster.kubeclient.core_client.discover - end - - # KubeClient uses the same error class - # For connection errors (eg. timeout) and - # for Kubernetes errors. - def kubeclient_error_status(error) - if timeout?(error.message) - :unreachable - else - :authentication_failure - end - end - - def timeout?(message) - message&.match?(/timed out|timeout/i) - end - end -end |