gitlab-org--gitlab-foss/lib/gitlab/kubernetes/kubectl_cmd.rb

30 lines
777 B
Ruby

# frozen_string_literal: true
module Gitlab
module Kubernetes
module KubectlCmd
class << self
def delete(*args)
%w(kubectl delete).concat(args).shelljoin
end
def apply_file(filename, *args)
raise ArgumentError, "filename is not present" unless filename.present?
%w(kubectl apply -f).concat([filename], args).shelljoin
end
def delete_crds_from_group(group)
api_resources_args = %w(-o name --api-group).push(group)
PodCmd.retry_command(api_resources(*api_resources_args) + " | xargs -r " + delete('--ignore-not-found', 'crd'))
end
def api_resources(*args)
%w(kubectl api-resources).concat(args).shelljoin
end
end
end
end
end