Sha256: 74a76145b48ced82a6f614786321d1c45876c8edb10749f55e12b27ae42ec8c4

Contents?: true

Size: 940 Bytes

Versions: 8

Compression:

Stored size: 940 Bytes

Contents

module Kubes
  module Core
    extend Memoist

    def app
      ENV['KUBES_APP']
    end

    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

8 entries across 8 versions & 1 rubygems

Version Path
kubes-0.8.7 lib/kubes/core.rb
kubes-0.8.6 lib/kubes/core.rb
kubes-0.8.5 lib/kubes/core.rb
kubes-0.8.4 lib/kubes/core.rb
kubes-0.8.3 lib/kubes/core.rb
kubes-0.8.2 lib/kubes/core.rb
kubes-0.8.1 lib/kubes/core.rb
kubes-0.8.0 lib/kubes/core.rb