class KuberKit::Core::ImageFactory
Public Instance Methods
create(definition)
click to toggle source
# File lib/kuber_kit/core/image_factory.rb, line 8 def create(definition) image_attrs = definition.to_image_attrs dockerfile_path = image_attrs.dockerfile_path || File.join(image_attrs.dir, configs.image_dockerfile_name) file_presence_checker.check_file!(dockerfile_path) if image_attrs.build_context_dir file_presence_checker.check_dir!(image_attrs.build_context_dir) build_context_dir = image_attrs.build_context_dir else default_dir = File.join(image_attrs.dir, configs.image_build_context_dir) build_context_dir = file_presence_checker.dir_exists?(default_dir) ? default_dir : nil end if image_attrs.registry_name registry = registry_store.get(image_attrs.registry_name) else registry = registry_store.default_registry end KuberKit::Core::Image.new( name: image_attrs.name, dependencies: image_attrs.dependencies, registry: registry, dockerfile_path: dockerfile_path, build_vars: image_attrs.build_vars || {}, build_context_dir: build_context_dir, tag: image_attrs.tag || configs.image_tag, before_build_callback: image_attrs.before_build_callback, after_build_callback: image_attrs.after_build_callback ) end