Class: Dapp::Deployment::Kubernetes

Inherits:
Object
  • Object
show all
Defined in:
lib/dapp/deployment/kubernetes.rb

Defined Under Namespace

Modules: Error

Instance Method Summary collapse

Constructor Details

#initialize(namespace: nil) ⇒ Kubernetes

Returns a new instance of Kubernetes.



4
5
6
7
# File 'lib/dapp/deployment/kubernetes.rb', line 4

def initialize(namespace: nil)
  @namespace = namespace
  @query_parameters = {}
end

Instance Method Details

#event_list(**query_parameters) ⇒ Object



89
90
91
# File 'lib/dapp/deployment/kubernetes.rb', line 89

def event_list(**query_parameters)
  request!(:get, "/api/v1/namespaces/#{namespace}/events", **query_parameters)
end

#namespaceObject



9
10
11
# File 'lib/dapp/deployment/kubernetes.rb', line 9

def namespace
  @namespace || 'default'
end

#pod_log(name, follow: false, **query_parameters, &blk) ⇒ Object



79
80
81
82
83
84
85
86
87
# File 'lib/dapp/deployment/kubernetes.rb', line 79

def pod_log(name, follow: false, **query_parameters, &blk)
  excon_parameters = follow ? { response_block: blk } : {}
  request!(:get,
           "/api/v1/namespaces/#{namespace}/pods/#{name}/log",
           excon_parameters: excon_parameters,
           **{ follow: follow }.merge(query_parameters))
rescue Excon::Error::Timeout
  raise Error::Timeout
end

#with_namespace(namespace, &blk) ⇒ Object

Чтобы не перегружать методы явной передачей namespace. Данный метод может пригодиться только в ситуации, когда надо указать другой namespace, в большинстве случаев используется namespace из конструктора.



16
17
18
19
20
21
22
23
24
# File 'lib/dapp/deployment/kubernetes.rb', line 16

def with_namespace(namespace, &blk)
  old_namespace = @namespace
  begin
    @namespace = namespace
    return yield
  ensure
    @namespace = old_namespace
  end
end

#with_query(query, &blk) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/dapp/deployment/kubernetes.rb', line 26

def with_query(query, &blk)
  old_query = @query_parameters
  begin
    @query_parameters = query
    return yield
  ensure
    @query_parameters = old_query
  end
end