class KubeQueue::ManifestBuilder
Attributes
job[R]
Public Class Methods
new(job)
click to toggle source
# File lib/kube_queue/manifest_builder.rb, line 8 def initialize(job) @job = job end
Public Instance Methods
build_cron_job(cron)
click to toggle source
# File lib/kube_queue/manifest_builder.rb, line 24 def build_cron_job(cron) template = YAML.safe_load(ERB.new(job.read_template, nil, "-").result(binding)) { apiVersion: "batch/v1beta1", kind: "CronJob", metadata: template["metadata"], spec: { startingDeadlineSeconds: job.job_spec.starting_deadline_seconds, concurrentPolicy: job.job_spec.concurrent_policy, schedule: cron, jobTemplate: { spec: template["spec"] } } } end
build_job()
click to toggle source
# File lib/kube_queue/manifest_builder.rb, line 20 def build_job YAML.safe_load(ERB.new(job.read_template, nil, "-").result(binding)) end
payload()
click to toggle source
# File lib/kube_queue/manifest_builder.rb, line 16 def payload JSON.generate(job.serialized_payload, quirks_mode: true) end
spec()
click to toggle source
# File lib/kube_queue/manifest_builder.rb, line 12 def spec job.job_spec end