Class: PicsolveDockerBuilder::Helpers::Kubernetes::Service
- Defined in:
- lib/picsolve_docker_builder/helpers/kubernetes/service.rb
Overview
A generic kuberntes resource
Instance Method Summary collapse
Methods inherited from Resource
#client, #initialize, #template_labels
Methods included from Base
#base_dir, #config_file, #config_path, #config_paths, #create_logger, #default_config, #log, #read_config, #validate_config
Constructor Details
This class inherits a constructor from PicsolveDockerBuilder::Helpers::Kubernetes::Resource
Instance Method Details
#config ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/picsolve_docker_builder/helpers/kubernetes/service.rb', line 8 def config # workaround a bug on updating TODO: remove when fixed upstream @service.name = @image.name # configure the service @service. = {} unless @service. @service..name = @image.name @service..namespace = @image.composer.namespace @service..labels = template_labels @service.spec = {} unless @service.spec @service.spec.ports = @image.ports @service.spec.selector = { 'name' => @image.name } end |
#deploy ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/picsolve_docker_builder/helpers/kubernetes/service.rb', line 24 def deploy @existing = false begin @service = client.get_service @image.name, @image.composer.namespace @existing = true rescue KubeException @service = Kubeclient::Service.new end # config service config if @existing log.debug \ "update service '#{@image.composer.namespace}/#{@image.name}' " \ 'on kubernetes' client.update_service @service else log.debug \ "create service '#{@image.composer.namespace}/#{@image.name}' " \ 'on kubernetes' client.create_service @service end end |