module Services

Public Instance Methods

create_new_service(namespace, config) click to toggle source

Create new Service

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

  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_service(namespace, service_name) click to toggle source

Delete existing Service

# File lib/ruby-kubernetes-controller/services.rb, line 153
def delete_service(namespace, service_name)
  extension = "/api/v1/namespaces/#{namespace}/services/#{service_name}"

  uri = prepareURI(@endpoint, extension)

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

  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_services(namespace) click to toggle source

Get all existing Services in Namespace

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

  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_services() click to toggle source

Get all Services

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

  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_service(namespace, service_name) click to toggle source

Get single Service in Namespace

# File lib/ruby-kubernetes-controller/services.rb, line 82
def get_single_namespaced_service(namespace, service_name)
  extension = "/api/v1/namespaces/#{namespace}/services/#{service_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_service(namespace, service_name, patch) click to toggle source

Patch existing Service

# File lib/ruby-kubernetes-controller/services.rb, line 130
def patch_service(namespace, service_name, patch)
  extension = "/api/v1/namespaces/#{namespace}/services/#{service_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_service(namespace, service_name, update) click to toggle source

Update existing Service in Namespace

# File lib/ruby-kubernetes-controller/services.rb, line 102
def update_namespaced_service(namespace, service_name, update)
  extension = "/api/v1/namespaces/#{namespace}/services/#{service_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