class Ruboty::K8s::Deployment
Public Class Methods
new(config, client)
click to toggle source
# File lib/ruboty/k8s/deployment.rb, line 2 def initialize(config, client) @config = config @client = client end
Public Instance Methods
has_deployment?(deployment)
click to toggle source
# File lib/ruboty/k8s/deployment.rb, line 7 def has_deployment?(deployment) @config.keys.include?(deployment) end
patch_deployment(deployment, image)
click to toggle source
# File lib/ruboty/k8s/deployment.rb, line 21 def patch_deployment(deployment, image) raise "Unknown deployment name: `#{deployment}`" unless has_deployment?(deployment) response = @client.v1beta1.patch_deployment( @config[deployment]['deployment_name'], patch_deployment_params(deployment, image), @config[deployment]['namespace'] ) response.code == 200 end
patch_deployment_params(deployment, image)
click to toggle source
# File lib/ruboty/k8s/deployment.rb, line 33 def patch_deployment_params(deployment, image) { spec: { template: { spec: { containers: [ { name: @config[deployment]['container_name'], image: image, } ] } } } } end
rollback_deployment(deployment)
click to toggle source
# File lib/ruboty/k8s/deployment.rb, line 11 def rollback_deployment(deployment) raise "Unknown deployment name: `#{deployment}`" unless has_deployment?(deployment) response = @client.v1beta1.rollback_deployment( @config[deployment]['deployment_name'], {}, @config[deployment]['namespace'] ) response.code == 201 end