Class: KubeDeployTools::Kubectl
- Defined in:
- lib/kube_deploy_tools/kubectl.rb
Instance Method Summary collapse
-
#initialize(context:, kubeconfig:) ⇒ Kubectl
constructor
A new instance of Kubectl.
- #run(*args, print_cmd: true, timeout: nil) ⇒ Object
Constructor Details
#initialize(context:, kubeconfig:) ⇒ Kubectl
Returns a new instance of Kubectl.
6 7 8 9 10 11 12 13 |
# File 'lib/kube_deploy_tools/kubectl.rb', line 6 def initialize( context:, kubeconfig:) @context = context @kubeconfig = kubeconfig raise ArgumentError, "context is required" if context.empty? end |
Instance Method Details
#run(*args, print_cmd: true, timeout: nil) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/kube_deploy_tools/kubectl.rb', line 15 def run(*args, print_cmd: true, timeout: nil) args = args.unshift("kubectl") args.push("--context=#{@context}") args.push("--kubeconfig=#{@kubeconfig}") if @kubeconfig.present? args.push("--request-timeout=#{timeout}") if timeout.present? Shellrunner.run_call(*args, print_cmd: print_cmd) end |