module Pods

Public Instance Methods

create_new_pod(namespace, config) click to toggle source

Create new Pod

# File lib/ruby-kubernetes-controller/pods.rb, line 12
def create_new_pod(namespace, config)
  extension = "/api/v1/namespaces/#{namespace}/pods"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "POST")
  request.content_type = "application/json"

  if @yaml
    request.body = yaml_file_to_json(config)
  else
    request.body = config
  end

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
delete_pod(namespace, pod_name, options = '') click to toggle source

Delete existing Pod

# File lib/ruby-kubernetes-controller/pods.rb, line 201
def delete_pod(namespace, pod_name, options = '')
  extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "DELETE")
  request.content_type = "application/json"

  if @yaml
    request.body = yaml_file_to_json(options)
  else
    request.body = options
  end

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
get_all_namespaced_pods(namespace) click to toggle source

Get all existing Pods in Namespace

# File lib/ruby-kubernetes-controller/pods.rb, line 61
def get_all_namespaced_pods(namespace)
  extension = "/api/v1/namespaces/#{namespace}/pods"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "GET")

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
get_all_namespaced_pods_with_field_selector(namespace, selector) click to toggle source

Get all existing Pods in Namespace with field selector

# File lib/ruby-kubernetes-controller/pods.rb, line 82
def get_all_namespaced_pods_with_field_selector(namespace, selector)
  extension = "/api/v1/namespaces/#{namespace}/pods"

  params = { :fieldSelector => "#{selector}" }

  uri = prepareURIWithParams(@endpoint, extension, params)

  puts(uri)

  request = prepareGenericRequest(uri, @bearer_token, "GET")

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
get_all_namespaced_pods_with_label_selector(namespace, selector) click to toggle source

Get all existing Pods in Namespace with label selector

# File lib/ruby-kubernetes-controller/pods.rb, line 107
def get_all_namespaced_pods_with_label_selector(namespace, selector)
  extension = "/api/v1/namespaces/#{namespace}/pods"

  params = { :labelSelector => "#{selector}" }

  uri = prepareURIWithParams(@endpoint, extension, params)

  request = prepareGenericRequest(uri, @bearer_token, "GET")

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
get_all_pods() click to toggle source

Get all Pods

# File lib/ruby-kubernetes-controller/pods.rb, line 40
def get_all_pods
  extension = "/api/v1/pods"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "GET")

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
get_single_namespaced_pod(namespace, pod_name) click to toggle source

Get single Pod in Namespace

# File lib/ruby-kubernetes-controller/pods.rb, line 130
def get_single_namespaced_pod(namespace, pod_name)
  extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "GET")

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body
  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
patch_pod(namespace, pod_name, patch) click to toggle source

Patch existing Pod

# File lib/ruby-kubernetes-controller/pods.rb, line 178
def patch_pod(namespace, pod_name, patch)
  extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "PATCH")
  request.content_type = "application/json-patch+json"

  request.body = patch

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body
  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end
update_namespaced_pod(namespace, pod_name, update) click to toggle source

Update existing Pod in Namespace

# File lib/ruby-kubernetes-controller/pods.rb, line 150
def update_namespaced_pod(namespace, pod_name, update)
  extension = "/api/v1/namespaces/#{namespace}/pods/#{pod_name}"

  uri = prepareURI(@endpoint, extension)

  request = prepareGenericRequest(uri, @bearer_token, "PUT")
  request.content_type = "application/json"

  if @yaml
    request.body = yaml_file_to_json(update)
  else
    request.body = update
  end

  req_options = prepareGenericRequestOptions(@ssl, uri)

  begin
    response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
      http.request(request)
    end
    return response.body

  rescue Errno::ECONNREFUSED
    raise "Connection for host #{uri.hostname} refused"
  end
end