Sha256: d2b5cf79bdd7df9e5e229e0ddd2a34419f66c5c64367a12f3a1de42d08f8f59a

Contents?: true

Size: 672 Bytes

Versions: 45

Compression:

Stored size: 672 Bytes

Contents

require "json"

module Kubes::Kubectl::Fetch
  class Base
    extend Memoist
    include Kubes::Logging
    include Kubes::Util::Sh

    def initialize(options={})
      @options = options
    end

    def fetch(kind)
      return [] unless namespace
      data = Kubes::Kubectl.capture("get #{kind} -o json -n #{namespace}")
      data['items'] || [] # Note: When fetching only 1 resource, items is not part of structure
    end

    def namespace
      path = ".kubes/output/shared/namespace.yaml"
      return unless File.exist?(path)
      data = Kubes::Kubectl.capture("get -f #{path} -o json")
      data['metadata']['name']
    end
    memoize :namespace
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
kubes-0.9.3 lib/kubes/kubectl/fetch/base.rb
kubes-0.9.2 lib/kubes/kubectl/fetch/base.rb
kubes-0.9.1 lib/kubes/kubectl/fetch/base.rb
kubes-0.9.0 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.10 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.9 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.8 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.7 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.6 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.5 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.4 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.3 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.2 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.1 lib/kubes/kubectl/fetch/base.rb
kubes-0.8.0 lib/kubes/kubectl/fetch/base.rb
kubes-0.7.10 lib/kubes/kubectl/fetch/base.rb
kubes-0.7.9 lib/kubes/kubectl/fetch/base.rb
kubes-0.7.8 lib/kubes/kubectl/fetch/base.rb
kubes-0.7.7 lib/kubes/kubectl/fetch/base.rb
kubes-0.7.6 lib/kubes/kubectl/fetch/base.rb