Sha256: 06ae545ccae0c74dd05f380a6ea58de4a24e61dec109fdac1067c6284db01d87

Contents?: true

Size: 1.05 KB

Versions: 7

Compression:

Stored size: 1.05 KB

Contents

class Kubes::Compiler
  module Layering
    def pre_layers
      return [] if Kubes.kustomize?

      ext = File.extname(@path)
      kind = File.basename(@path).sub(ext,'') # IE: deployment
      kind = kind.pluralize if @block_form
      layers = [
        "all",
        "all/#{Kubes.env}",
        "#{kind}",
        "#{kind}/#{Kubes.env}",
      ]
      layers = add_exts(layers)
      layers.map! do |layer|
        "#{Kubes.root}/.kubes/resources/base/#{layer}"
      end
      layers.select { |layer| File.exist?(layer) }
    end

    def add_exts(layers)
      layers.map do |layer|
        [
          "#{layer}.rb",
          "#{layer}.yaml",
          "#{layer}.yml",
        ]
      end.flatten
    end

    def post_layers
      return [] if Kubes.kustomize?

      ext = File.extname(@path)
      kind_path = @path.sub(ext,'')

      layers = [
        "base",
        Kubes.env.to_s
      ]
      layers = add_exts(layers)
      layers.map! do |layer|
        "#{kind_path}/#{layer}"
      end
      layers.select { |layer| File.exist?(layer) }
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
kubes-0.7.6 lib/kubes/compiler/layering.rb
kubes-0.7.5 lib/kubes/compiler/layering.rb
kubes-0.7.4 lib/kubes/compiler/layering.rb
kubes-0.7.3 lib/kubes/compiler/layering.rb
kubes-0.7.2 lib/kubes/compiler/layering.rb
kubes-0.7.1 lib/kubes/compiler/layering.rb
kubes-0.7.0 lib/kubes/compiler/layering.rb