Sha256: a3cda245cfd7041c1b95a6cc5cdb2948052ff138ae249fc6808bc7dc23dc2645

Contents?: true

Size: 897 Bytes

Versions: 2

Compression:

Stored size: 897 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, overwrite_arrays: true)
      a
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kubes-0.7.6 lib/kubes/core.rb
kubes-0.7.5 lib/kubes/core.rb