Sha256: 8824f3eb2e3ef1e2e5cd53965978c9895083779b1a2f5135b11b4cffd03d50cd

Contents?: true

Size: 897 Bytes

Versions: 9

Compression:

Stored size: 897 Bytes

Contents

# frozen_string_literal: true

module KubernetesDeploy
  class ClusterResourceDiscovery
    def initialize(namespace:, context:, logger:, namespace_tags:)
      @namespace = namespace
      @context = context
      @logger = logger
      @namespace_tags = namespace_tags
    end

    def crds
      @crds ||= fetch_crds.map do |cr_def|
        CustomResourceDefinition.new(namespace: @namespace, context: @context, logger: @logger,
          definition: cr_def, statsd_tags: @namespace_tags)
      end
    end

    private

    def fetch_crds
      raw_json, _, st = kubectl.run("get", "CustomResourceDefinition", output: "json", attempts: 5)
      if st.success?
        JSON.parse(raw_json)["items"]
      else
        []
      end
    end

    def kubectl
      @kubectl ||= Kubectl.new(namespace: @namespace, context: @context, logger: @logger, log_failure_by_default: true)
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
kubernetes-deploy-0.29.0 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.28.0 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.27.0 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.26.7 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.26.6 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.26.5 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.26.4 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.26.3 lib/kubernetes-deploy/cluster_resource_discovery.rb
kubernetes-deploy-0.26.2 lib/kubernetes-deploy/cluster_resource_discovery.rb