class Dockerhelper::Kubernetes

Attributes

config[R]

Public Class Methods

new(config) click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 7
def initialize(config)
  @config = config
end

Public Instance Methods

app_full_name() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 19
def app_full_name
  "#{app_name}-#{app_version}"
end
app_name() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 11
def app_name
  config.app_name
end
app_version() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 15
def app_version
  config.kube_rc_version || config.docker_repo_tag
end
current_rc() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 23
def current_rc
  out = Command.new("kubectl get rc -l app=#{app_name},environment=#{config.environment}",
    label: 'kubectl-get-rc').capture

  # assumes rc will be found
  out.lines[1].match(/^\S+/)[0]
end
replication_controller_create() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 36
def replication_controller_create
  Command.new("kubectl create -f #{replication_controller_filename}",
    label: 'kubectl-create-rc').run
end
replication_controller_delete() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 41
def replication_controller_delete
  Command.new("kubectl delete rc #{current_rc}", label: 'kubectl-delete-rc').run
end
replication_controller_filename() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 54
def replication_controller_filename
  File.join(config.kube_rc_dest_dir, "#{app_full_name}-rc.yml")
end
replication_controller_yaml() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 45
def replication_controller_yaml
  yaml_in = File.read(config.kube_rc_template)
  ERB.new(yaml_in).result(binding)
end
rolling_update() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 31
def rolling_update
  Command.new("kubectl rolling-update #{current_rc} -f #{replication_controller_filename}",
    label: 'kubectl-get-rc').run
end
write_replication_controller() click to toggle source
# File lib/dockerhelper/kubernetes.rb, line 50
def write_replication_controller
  File.write(replication_controller_filename, replication_controller_yaml)
end