lib/cron_kubernetes/cron_tab.rb in cron-kubernetes-0.1.0 vs lib/cron_kubernetes/cron_tab.rb in cron-kubernetes-1.1.0
- old
+ new
@@ -1,17 +1,10 @@
# frozen_string_literal: true
module CronKubernetes
# The "table" of Kubernetes CronJobs that we manage in the cluster.
class CronTab
- attr_reader :client
- private :client
-
- def initialize
- @client = CronKubernetes::KubernetesClient.new.batch_beta1_client
- end
-
# "Apply" the new configuration
# - remove from cluster any cron_jobs that are no longer in the schedule
# - add new jobs
# - update cron_jobs that exist (deleting a cron_job deletes the job and pod)
def update(schedule = nil)
@@ -22,12 +15,16 @@
change.each { |job| update_cron_job(job) }
end
private
+ def client
+ @client ||= CronKubernetes::KubernetesClient.new.batch_beta1_client
+ end
+
# Define a label for our jobs based on an identifier
def label_selector
- {"cron-kubernetes-identifier" => CronKubernetes.identifier}
+ {label_selector: "cron-kubernetes-identifier=#{CronKubernetes.identifier}"}
end
# Find all k8s CronJobs by our label for the identifier
def current_cron_jobs
client.get_cron_jobs(label_selector)