Class: Kubec::Kubernetes::Service

Inherits:
Config
  • Object
show all
Defined in:
lib/kubec/kubernetes/service.rb

Overview

:nodoc:

Instance Attribute Summary

Attributes inherited from Config

#name

Instance Method Summary collapse

Methods inherited from Config

api_version, #fetch, #initialize, kind, #metadata, #prepare, #spec

Constructor Details

This class inherits a constructor from Kubec::Kubernetes::Config

Instance Method Details

#load_balancer(ip: nil) ⇒ Object



13
14
15
16
# File 'lib/kubec/kubernetes/service.rb', line 13

def load_balancer(ip: nil)
  spec[:type] = 'LoadBalancer'
  spec[:loadBalancerIP] = ip unless ip.nil?
end

#node_portObject



9
10
11
# File 'lib/kubec/kubernetes/service.rb', line 9

def node_port
  spec[:type] = 'NodePort'
end

#port(port, target = nil) ⇒ Object



18
19
20
21
22
# File 'lib/kubec/kubernetes/service.rb', line 18

def port(port, target = nil)
  spec[:ports] ||= []
  target ||= port
  spec[:ports].push port: port, targetPort: target
end

#select(key, value) ⇒ Object



24
25
26
27
# File 'lib/kubec/kubernetes/service.rb', line 24

def select(key, value)
  spec[:selector] ||= {}
  spec[:selector][key] = value
end

#selector=(labels) ⇒ Object Also known as: selector



29
30
31
32
# File 'lib/kubec/kubernetes/service.rb', line 29

def selector=(labels)
  # TODO: Check labels type
  spec[:selector] = labels
end