Sha256: f911b557910250138a96f0d7c0502cb85bb7063c562bd181aab480ad365cd29b

Contents?: true

Size: 717 Bytes

Versions: 28

Compression:

Stored size: 717 Bytes

Contents

# typed: false
require 'krane'
require 'kubectl-rb'

module Kuby
  module Kubernetes
    class DeployTask
      attr_reader :deploy_task

      def initialize(**kwargs)
        @deploy_task ||= ::Krane::DeployTask.new(**kwargs)
      end

      def run!(**kwargs)
        new_path = "#{File.dirname(KubectlRb.executable)}:#{ENV['PATH']}"

        with_env('PATH' => new_path) do
          deploy_task.run!(**kwargs)
        end
      end

      def logger
        deploy_task.instance_variable_get(:@logger)
      end

      private

      def with_env(new_env)
        old_env = ENV.to_h
        ENV.replace(old_env.merge(new_env))
        yield
      ensure
        ENV.replace(old_env)
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
kuby-core-0.20.2 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.20.1 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.20.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.19.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.18.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.17.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.16.1 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.16.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.15.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.14.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.13.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.12.0 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.16 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.15 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.14 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.13 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.12 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.11 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.10 lib/kuby/kubernetes/deploy_task.rb
kuby-core-0.11.9 lib/kuby/kubernetes/deploy_task.rb