8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# 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
|