Module: Hyperb::Services

Includes:
Utils
Included in:
API
Defined in:
lib/hyperb/services/services.rb

Overview

services module

Instance Method Summary collapse

Methods included from Utils

#check_arguments, #downcase_symbolize

Instance Method Details

#create_service(params = {}) ⇒ Hash

create a service

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

  • params (defaults to: {})

    image [String] service name

  • params (defaults to: {})

    name [String] image name

  • params (defaults to: {})

    replicas [Fixnum] numer of replicas

  • params (defaults to: {})

    service_port [Fixnum] service port

  • params (defaults to: {})

    container_port [Fixnum] container port

  • params (defaults to: {})

    labels [Hash] hash containing labels

  • params (defaults to: {})

    entrypoint [String] entrypoint

  • params (defaults to: {})

    cmd [String] command

  • params (defaults to: {})

    env [Array] array of envs [“env=value”, [“env2=value”]]

  • params (defaults to: {})

    algorithm [String] algorithm of the service, ‘roundrobin’, ‘leastconn’

  • params (defaults to: {})

    protocol [String] prot

  • params (defaults to: {})

    workingdir [String] working directory

Returns:

  • (Hash)

    Hash containing service information.

Raises:

See Also:



33
34
35
36
37
38
39
40
# File 'lib/hyperb/services/services.rb', line 33

def create_service(params = {})
  valid = check_arguments(params, 'name', 'image', 'replicas', 'service_port', 'labels')
  raise ArgumentError, 'Invalid arguments.' unless valid
  path = '/services/create'
  body = {}
  body.merge!(params)
  downcase_symbolize(JSON.parse(Hyperb::Request.new(self, path, {}, 'post', body).perform))
end

#remove_service(params = {}) ⇒ Object

remove service

Parameters:

  • params (Hash) (defaults to: {})

    A customizable set of params.

Options Hash (params):

  • :keep (String)

    if true, keep containers running while removing the service.

Raises:

See Also:



51
52
53
54
55
56
57
# File 'lib/hyperb/services/services.rb', line 51

def remove_service(params = {})
  raise ArgumentError, 'Invalid arguments.' unless check_arguments(params, 'name')
  path = '/services/' + params[:name]
  query = {}
  query[:keep] = params[:keep] if params.key?(:keep)
  Hyperb::Request.new(self, path, query, 'delete').perform
end