69 lines
1.4 KiB
Ruby
69 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Clusters
|
|
module Applications
|
|
class BaseHelmService
|
|
attr_accessor :app
|
|
|
|
def initialize(app)
|
|
@app = app
|
|
end
|
|
|
|
protected
|
|
|
|
def log_error(error)
|
|
meta = {
|
|
error_code: error.respond_to?(:error_code) ? error.error_code : nil,
|
|
service: self.class.name,
|
|
app_id: app.id,
|
|
app_name: app.name,
|
|
project_ids: app.cluster.project_ids,
|
|
group_ids: app.cluster.group_ids
|
|
}
|
|
|
|
Gitlab::ErrorTracking.track_exception(error, meta)
|
|
end
|
|
|
|
def log_event(event)
|
|
meta = {
|
|
service: self.class.name,
|
|
app_id: app.id,
|
|
app_name: app.name,
|
|
project_ids: app.cluster.project_ids,
|
|
group_ids: app.cluster.group_ids,
|
|
event: event
|
|
}
|
|
|
|
logger.info(meta)
|
|
end
|
|
|
|
def logger
|
|
@logger ||= Gitlab::Kubernetes::Logger.build
|
|
end
|
|
|
|
def cluster
|
|
app.cluster
|
|
end
|
|
|
|
def kubeclient
|
|
cluster.kubeclient
|
|
end
|
|
|
|
def helm_api
|
|
@helm_api ||= Gitlab::Kubernetes::Helm::API.new(kubeclient)
|
|
end
|
|
|
|
def install_command
|
|
@install_command ||= app.install_command
|
|
end
|
|
|
|
def update_command
|
|
@update_command ||= app.update_command
|
|
end
|
|
|
|
def patch_command(new_values = "")
|
|
app.patch_command(new_values)
|
|
end
|
|
end
|
|
end
|
|
end
|