class Krane::TemplateSets
Constants
- VALID_TEMPLATES
Public Class Methods
from_dirs_and_files(paths:, logger:, render_erb: true)
click to toggle source
# File lib/krane/template_sets.rb, line 99 def from_dirs_and_files(paths:, logger:, render_erb: true) resource_templates = {} dir_paths, file_paths = paths.partition { |path| File.directory?(path) } # Directory paths dir_paths.each do |template_dir| resource_templates[template_dir] = Dir.foreach(template_dir).select do |filename| filename.end_with?(*VALID_TEMPLATES) || filename == EjsonSecretProvisioner::EJSON_SECRETS_FILE end end # Filename paths file_paths.each do |filename| dir_name = File.dirname(filename) resource_templates[dir_name] ||= [] resource_templates[dir_name] << File.basename(filename) unless resource_templates[dir_name].include?(filename) end template_sets = [] resource_templates.each do |template_dir, files| template_sets << TemplateSet.new(template_dir: template_dir, file_whitelist: files, logger: logger, render_erb: render_erb) end TemplateSets.new(template_sets: template_sets) end
new(template_sets: [])
click to toggle source
# File lib/krane/template_sets.rb, line 169 def initialize(template_sets: []) @template_sets = template_sets end
Public Instance Methods
ejson_secrets_files()
click to toggle source
# File lib/krane/template_sets.rb, line 144 def ejson_secrets_files @template_sets.map(&:ejson_secrets_file).compact end
validate()
click to toggle source
# File lib/krane/template_sets.rb, line 148 def validate errors = @template_sets.flat_map(&:validate) if rendering_erb_disabled? && deploying_with_erb_files? errors << "ERB template discovered with rendering disabled. If you were trying to render ERB and " \ "deploy the result, try piping the output of `krane render` to `krane-deploy -f -`" end errors end
with_resource_definitions(current_sha: nil, bindings: nil, raw: false) { |r_def| ... }
click to toggle source
# File lib/krane/template_sets.rb, line 138 def with_resource_definitions(current_sha: nil, bindings: nil, raw: false) with_resource_definitions_and_filename(current_sha: current_sha, bindings: bindings, raw: raw) do |r_def, _| yield r_def end end
with_resource_definitions_and_filename(current_sha: nil, bindings: nil, raw: false) { |r_def, filename| ... }
click to toggle source
# File lib/krane/template_sets.rb, line 126 def with_resource_definitions_and_filename(current_sha: nil, bindings: nil, raw: false) with_delayed_exceptions(@template_sets, Krane::InvalidTemplateError) do |template_set| template_set.with_resource_definitions_and_filename( current_sha: current_sha, bindings: bindings, raw: raw ) do |r_def, filename| yield r_def, filename end end end
Private Instance Methods
deploying_with_erb_files?()
click to toggle source
# File lib/krane/template_sets.rb, line 161 def deploying_with_erb_files? @template_sets.any?(&:deploying_with_erb_files?) end
rendering_erb_disabled?()
click to toggle source
# File lib/krane/template_sets.rb, line 165 def rendering_erb_disabled? !@template_sets.any?(&:render_erb) end