# 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