Module: Utilities
- Includes:
- ConfigMaps, CronJobs, Deployments, Endpoints, Generic, Ingresses, Jobs, Namespaces, Nodes, PersistentVolumeClaims, PersistentVolumes, Pods, ReplicaSets, Services
- Included in:
- RubyKubernetesController::Client
- Defined in:
- lib/ruby-kubernetes-controller/utilities.rb
Instance Method Summary collapse
-
#trigger_cronjob(namespace, cronjob_name, restart_policy = 'Never') ⇒ Object
Trigger a cronjob.
Methods included from CronJobs
#create_new_cronjob, #delete_cronjob, #get_all_cronjobs, #get_all_namespaced_cronjobs, #get_single_namespaced_cronjob, #patch_cronjob, #update_namespaced_cronjob
Methods included from Generic
#check_valid_json, #prepareGenericRequest, #prepareGenericRequestOptions, #prepareURI, #prepareURIWithParams, #yaml_file_to_json
Methods included from Jobs
#create_new_job, #delete_job, #get_all_jobs, #get_all_namespaced_jobs, #get_single_namespaced_job, #patch_job, #update_namespaced_job
Methods included from PersistentVolumeClaims
#create_new_persistentvolumeclaim, #delete_persistentvolumeclaim, #get_all_namespaced_persistentvolumeclaims, #get_all_persistentvolumeclaims, #get_single_namespaced_persistentvolumeclaim, #patch_persistentvolumeclaim, #update_namespaced_persistentvolumeclaim
Methods included from PersistentVolumes
#create_new_persistentvolume, #delete_persistentvolume, #get_all_persistentvolumes, #get_single_persistentvolume, #patch_persistentvolume, #update_namespaced_persistentvolume
Methods included from ConfigMaps
#create_new_configmap, #delete_configmap, #get_all_configmaps, #get_all_namespaced_configmaps, #get_single_namespaced_configmap, #patch_configmap, #update_configmap
Methods included from ReplicaSets
#create_new_replicaset, #delete_replicaset, #get_all_namespaced_replicasets, #get_all_replicasets, #get_single_namespaced_replicaset, #patch_replicaset, #update_namespaced_replicaset
Methods included from Deployments
#create_new_deployment, #delete_deployment, #get_all_deployments, #get_all_namespaced_deployments, #get_single_namespaced_deployment, #patch_deployment, #update_namespaced_deployment
Methods included from Services
#create_new_service, #delete_service, #get_all_namespaced_services, #get_all_services, #get_single_namespaced_service, #patch_service, #update_namespaced_service
Methods included from Pods
#create_new_pod, #delete_pod, #get_all_namespaced_pods, #get_all_namespaced_pods_with_field_selector, #get_all_namespaced_pods_with_label_selector, #get_all_pods, #get_single_namespaced_pod, #patch_pod, #update_namespaced_pod
Methods included from Endpoints
#create_new_endpoint, #delete_endpoint, #get_all_endpoints, #get_all_namespaced_endpoints, #get_single_namespaced_endpoint, #patch_endpoint, #update_namespaced_endpoint
Methods included from Nodes
Methods included from Ingresses
#create_new_ingress, #delete_ingress, #get_all_ingresses, #get_all_namespaced_ingresses, #get_single_namespaced_ingress, #patch_ingress, #update_namespaced_ingress
Methods included from Namespaces
#create_new_namespace, #delete_namespace, #get_all_namespaces, #patch_namespace, #update_namespace
Instance Method Details
#trigger_cronjob(namespace, cronjob_name, restart_policy = 'Never') ⇒ Object
Trigger a cronjob
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/ruby-kubernetes-controller/utilities.rb', line 38 def trigger_cronjob(namespace, cronjob_name, restart_policy = 'Never') cronjob_json = JSON.parse(get_single_namespaced_cronjob(namespace, cronjob_name)) cronjob_json['spec']['jobTemplate']['spec']['template']['spec']['restartPolicy'] = restart_policy cronjob_json['metadata']['name'] += '-' + ('a'..'z').to_a.shuffle[0,8].join json_config = '{ "kind": "Job", "apiVersion": "batch/v1", "metadata": { "name": ' + cronjob_json['metadata']['name'].to_json + ' }, "spec": { "template": { "spec": ' + cronjob_json['spec']['jobTemplate']['spec']['template']['spec'].to_json + ' } } }' create_new_job(namespace, json_config) end |