class Kubes::Kubectl::Fetch::Deployment

Public Instance Methods

deployment() click to toggle source
# File lib/kubes/kubectl/fetch/deployment.rb, line 13
    def deployment
      items = fetch(:deployment)
      # Not checking if deployment exists because kubes will error on `kubes get` from missing deployments already
      deployments = items.select { |i| i['kind'] == "Deployment" }

      if !@options[:deployment] && !@options[:pod] && deployments.size > 1
        names = deployments.map { |d| d['metadata']['name'] }
        logger.info <<~EOL
          INFO: More than one deployment found.
          Deployment names: #{names.join(', ')}
          Using #{names.first}
          Note: You can specify the deployment to use with --deployment or -d
        EOL
      end

      find_deployment(deployments)
    end
find_deployment(deployments) click to toggle source
# File lib/kubes/kubectl/fetch/deployment.rb, line 36
def find_deployment(deployments)
  if @options[:deployment]
    deployments.find { |d| d['metadata']['name'] == @options[:deployment] }
  else
    deployments.first
  end
end
found() click to toggle source
# File lib/kubes/kubectl/fetch/deployment.rb, line 32
def found
  !!deployment
end
metadata() click to toggle source
# File lib/kubes/kubectl/fetch/deployment.rb, line 5
def metadata
  deployment['metadata'] if found
end
spec() click to toggle source
# File lib/kubes/kubectl/fetch/deployment.rb, line 9
def spec
  deployment['spec'] if found
end