Sha256: e7f4938162610797861ff8b28ea70fd8e2d36d8b78a65dffe520e989cbd53306

Contents?: true

Size: 896 Bytes

Versions: 4

Compression:

Stored size: 896 Bytes

Contents

module Kubes
  module Core
    extend Memoist

    def env
      ENV['KUBES_ENV'] || "dev"
    end

    def root
      ENV['KUBES_ROOT'] || Dir.pwd
    end

    def configure(&block)
      Config.instance.configure(&block)
    end

    def config
      Config.instance.load_configs
      Config.instance.config
    end
    memoize :config

    def logger
      config.logger
    end
    memoize :logger

    def kustomize?
      Kubectl::Kustomize.detect?
    end

    def check_project!
      return if File.exist?("#{Kubes.root}/.kubes/config.rb")
      logger.error "ERROR: It doesnt look like this is a kubes project. Are you sure you are in a kubes project?".color(:red)
      ENV['TS_TEST'] ? raise : exit(1)
    end

    # wrapper to ensure we use the same deeper_merge options everywhere
    def deep_merge!(a, b)
      a.deeper_merge!(b, config.merger.options)
      a
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kubes-0.7.10 lib/kubes/core.rb
kubes-0.7.9 lib/kubes/core.rb
kubes-0.7.8 lib/kubes/core.rb
kubes-0.7.7 lib/kubes/core.rb