class KubeQueue::Client

Attributes

auth_token[RW]
ssl_ca_file[RW]
url[RW]

Public Instance Methods

create_cron_job(manifest) click to toggle source
# File lib/kube_queue/client.rb, line 21
def create_cron_job(manifest)
  cron_job = K8s::Resource.new(manifest)
  cron_job.metadata.namespace ||= 'default'
  client.api('batch/v1beta1').resource('cronjobs').create_resource(cron_job)
end
create_job(manifest) click to toggle source
# File lib/kube_queue/client.rb, line 6
def create_job(manifest)
  job = K8s::Resource.new(manifest)
  job.metadata.namespace ||= 'default'
  client.api('batch/v1').resource('jobs').create_resource(job)
end
get_job(namespace, name) click to toggle source
# File lib/kube_queue/client.rb, line 12
def get_job(namespace, name)
  client.api('batch/v1').resource('jobs', namespace: namespace).get(name)
end
list_job(job_class, namespace = nil) click to toggle source
# File lib/kube_queue/client.rb, line 16
def list_job(job_class, namespace = nil)
  selector = { 'kube-queue-job': 'true', 'kube-queue-job-class': job_class }
  client.api('batch/v1').resource('jobs', namespace: namespace).list(labelSelector: selector)
end

Private Instance Methods

client() click to toggle source
# File lib/kube_queue/client.rb, line 31
def client
  @client ||= K8s.client(url, ssl_ca_file: ssl_ca_file, auth_token: auth_token)
end