dapp 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/dapp +5 -5
- data/config/en/common.yml +6 -4
- data/config/en/net_status.yml +8 -7
- data/lib/dapp.rb +157 -139
- data/lib/dapp/cli.rb +6 -16
- data/lib/dapp/cli/base.rb +3 -5
- data/lib/dapp/config/base.rb +19 -7
- data/lib/dapp/config/directive/base.rb +0 -1
- data/lib/dapp/config/error/config.rb +7 -0
- data/lib/dapp/core_ext/hash.rb +0 -2
- data/lib/dapp/core_ext/pathname.rb +1 -3
- data/lib/dapp/{project.rb → dapp.rb} +2 -21
- data/lib/dapp/{project → dapp}/chef.rb +2 -4
- data/lib/dapp/{project → dapp}/dappfile.rb +5 -7
- data/lib/dapp/{project → dapp}/deps/base.rb +3 -6
- data/lib/dapp/{project → dapp}/deps/gitartifact.rb +2 -5
- data/lib/dapp/{project → dapp}/git_artifact.rb +2 -4
- data/lib/dapp/{project → dapp}/lock.rb +3 -5
- data/lib/dapp/{project → dapp}/logging/base.rb +2 -5
- data/lib/dapp/{project → dapp}/logging/i18n.rb +2 -3
- data/lib/dapp/{project → dapp}/logging/paint.rb +2 -4
- data/lib/dapp/{project → dapp}/logging/process.rb +2 -5
- data/lib/dapp/{project → dapp}/shellout/base.rb +2 -4
- data/lib/dapp/{project → dapp}/shellout/streaming.rb +3 -8
- data/lib/dapp/{project → dapp}/ssh_agent.rb +6 -9
- data/lib/dapp/dimg.rb +1 -192
- data/lib/dapp/dimg/artifact.rb +24 -0
- data/lib/dapp/dimg/build/stage/after_install_artifact.rb +14 -0
- data/lib/dapp/dimg/build/stage/after_setup_artifact.rb +18 -0
- data/lib/dapp/dimg/build/stage/artifact_base.rb +80 -0
- data/lib/dapp/dimg/build/stage/artifact_default.rb +63 -0
- data/lib/dapp/dimg/build/stage/base.rb +210 -0
- data/lib/dapp/dimg/build/stage/before_install.rb +33 -0
- data/lib/dapp/dimg/build/stage/before_install_artifact.rb +14 -0
- data/lib/dapp/dimg/build/stage/before_setup.rb +31 -0
- data/lib/dapp/dimg/build/stage/before_setup_artifact.rb +14 -0
- data/lib/dapp/dimg/build/stage/build_artifact.rb +31 -0
- data/lib/dapp/dimg/build/stage/docker_instructions.rb +25 -0
- data/lib/dapp/dimg/build/stage/from.rb +50 -0
- data/lib/dapp/dimg/build/stage/ga_archive.rb +28 -0
- data/lib/dapp/dimg/build/stage/ga_archive_dependencies.rb +27 -0
- data/lib/dapp/dimg/build/stage/ga_artifact_patch.rb +22 -0
- data/lib/dapp/dimg/build/stage/ga_base.rb +80 -0
- data/lib/dapp/dimg/build/stage/ga_dependencies_base.rb +20 -0
- data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +54 -0
- data/lib/dapp/dimg/build/stage/import_artifact.rb +64 -0
- data/lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb +22 -0
- data/lib/dapp/dimg/build/stage/install/ga_post_install_patch_dependencies.rb +22 -0
- data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb +22 -0
- data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch_dependencies.rb +22 -0
- data/lib/dapp/dimg/build/stage/install/install.rb +35 -0
- data/lib/dapp/dimg/build/stage/mod/group.rb +42 -0
- data/lib/dapp/dimg/build/stage/mod/logging.rb +101 -0
- data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb +22 -0
- data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch_dependencies.rb +32 -0
- data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch.rb +22 -0
- data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch_dependencies.rb +22 -0
- data/lib/dapp/dimg/build/stage/setup/setup.rb +35 -0
- data/lib/dapp/dimg/builder.rb +6 -0
- data/lib/dapp/{builder → dimg/builder}/base.rb +4 -5
- data/lib/dapp/{builder → dimg/builder}/chef.rb +41 -33
- data/lib/dapp/dimg/builder/chef/berksfile.rb +121 -0
- data/lib/dapp/dimg/builder/chef/cookbook.rb +285 -0
- data/lib/dapp/dimg/builder/chef/cookbook_metadata.rb +106 -0
- data/lib/dapp/{builder → dimg/builder}/none.rb +4 -5
- data/lib/dapp/{builder → dimg/builder}/shell.rb +5 -6
- data/lib/dapp/dimg/cli/base.rb +16 -0
- data/lib/dapp/dimg/cli/bp.rb +37 -0
- data/lib/dapp/dimg/cli/build.rb +64 -0
- data/lib/dapp/dimg/cli/build_context.rb +18 -0
- data/lib/dapp/dimg/cli/build_context/export.rb +26 -0
- data/lib/dapp/dimg/cli/build_context/import.rb +17 -0
- data/lib/dapp/dimg/cli/cleanup.rb +22 -0
- data/lib/dapp/dimg/cli/cli.rb +1 -0
- data/lib/dapp/dimg/cli/dimg.rb +30 -0
- data/lib/dapp/dimg/cli/list.rb +17 -0
- data/lib/dapp/dimg/cli/mrproper.rb +26 -0
- data/lib/dapp/dimg/cli/push.rb +61 -0
- data/lib/dapp/dimg/cli/run.rb +59 -0
- data/lib/dapp/{cli → dimg/cli}/spush.rb +7 -7
- data/lib/dapp/dimg/cli/stage_image.rb +24 -0
- data/lib/dapp/dimg/cli/stages.rb +22 -0
- data/lib/dapp/dimg/cli/stages/cleanup_local.rb +44 -0
- data/lib/dapp/dimg/cli/stages/cleanup_repo.rb +26 -0
- data/lib/dapp/dimg/cli/stages/flush_local.rb +23 -0
- data/lib/dapp/dimg/cli/stages/flush_repo.rb +24 -0
- data/lib/dapp/dimg/cli/stages/pull.rb +28 -0
- data/lib/dapp/dimg/cli/stages/push.rb +24 -0
- data/lib/dapp/dimg/cli/tag.rb +24 -0
- data/lib/dapp/dimg/config/artifact_dimg.rb +17 -0
- data/lib/dapp/dimg/config/artifact_group.rb +47 -0
- data/lib/dapp/dimg/config/base.rb +7 -0
- data/lib/dapp/dimg/config/dimg.rb +24 -0
- data/lib/dapp/dimg/config/dimg/instance_methods.rb +177 -0
- data/lib/dapp/dimg/config/dimg/validation.rb +126 -0
- data/lib/dapp/dimg/config/dimg_group.rb +61 -0
- data/lib/dapp/dimg/config/dimg_group_base.rb +54 -0
- data/lib/dapp/dimg/config/dimg_group_main.rb +22 -0
- data/lib/dapp/dimg/config/directive/artifact.rb +70 -0
- data/lib/dapp/dimg/config/directive/artifact_base.rb +97 -0
- data/lib/dapp/dimg/config/directive/base.rb +9 -0
- data/lib/dapp/dimg/config/directive/chef.rb +68 -0
- data/lib/dapp/dimg/config/directive/docker/artifact.rb +15 -0
- data/lib/dapp/dimg/config/directive/docker/base.rb +22 -0
- data/lib/dapp/dimg/config/directive/docker/dimg.rb +82 -0
- data/lib/dapp/dimg/config/directive/git_artifact_local.rb +47 -0
- data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +58 -0
- data/lib/dapp/dimg/config/directive/mount.rb +27 -0
- data/lib/dapp/dimg/config/directive/shell/artifact.rb +18 -0
- data/lib/dapp/dimg/config/directive/shell/dimg.rb +65 -0
- data/lib/dapp/dimg/dapp/command.rb +21 -0
- data/lib/dapp/dimg/dapp/command/bp.rb +20 -0
- data/lib/dapp/dimg/dapp/command/build.rb +22 -0
- data/lib/dapp/dimg/dapp/command/build_context/common.rb +27 -0
- data/lib/dapp/dimg/dapp/command/build_context/export.rb +55 -0
- data/lib/dapp/dimg/dapp/command/build_context/import.rb +71 -0
- data/lib/dapp/dimg/dapp/command/cleanup.rb +23 -0
- data/lib/dapp/dimg/dapp/command/common.rb +96 -0
- data/lib/dapp/dimg/dapp/command/list.rb +19 -0
- data/lib/dapp/dimg/dapp/command/mrproper.rb +75 -0
- data/lib/dapp/dimg/dapp/command/push.rb +27 -0
- data/lib/dapp/dimg/dapp/command/run.rb +15 -0
- data/lib/dapp/dimg/dapp/command/spush.rb +17 -0
- data/lib/dapp/dimg/dapp/command/stage_image.rb +14 -0
- data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +137 -0
- data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +124 -0
- data/lib/dapp/dimg/dapp/command/stages/common.rb +85 -0
- data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +21 -0
- data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +21 -0
- data/lib/dapp/dimg/dapp/command/stages/pull.rb +26 -0
- data/lib/dapp/dimg/dapp/command/stages/push.rb +22 -0
- data/lib/dapp/dimg/dapp/command/tag.rb +17 -0
- data/lib/dapp/dimg/dimg.rb +192 -0
- data/lib/dapp/dimg/dimg/git_artifact.rb +26 -0
- data/lib/dapp/dimg/dimg/path.rb +37 -0
- data/lib/dapp/dimg/dimg/stages.rb +60 -0
- data/lib/dapp/dimg/dimg/tags.rb +65 -0
- data/lib/dapp/dimg/docker_registry.rb +37 -0
- data/lib/dapp/dimg/docker_registry/base.rb +109 -0
- data/lib/dapp/dimg/docker_registry/base/authorization.rb +63 -0
- data/lib/dapp/dimg/docker_registry/base/request.rb +34 -0
- data/lib/dapp/dimg/docker_registry/default.rb +18 -0
- data/lib/dapp/dimg/error/base.rb +7 -0
- data/lib/dapp/dimg/error/build.rb +7 -0
- data/lib/dapp/dimg/error/chef.rb +11 -0
- data/lib/dapp/dimg/error/command.rb +7 -0
- data/lib/dapp/dimg/error/config.rb +7 -0
- data/lib/dapp/dimg/error/dimg.rb +7 -0
- data/lib/dapp/dimg/error/lock.rb +7 -0
- data/lib/dapp/dimg/error/registry.rb +7 -0
- data/lib/dapp/dimg/error/rugged.rb +7 -0
- data/lib/dapp/dimg/error/shellout.rb +7 -0
- data/lib/dapp/dimg/error/tar_writer.rb +7 -0
- data/lib/dapp/dimg/exception/base.rb +7 -0
- data/lib/dapp/dimg/exception/introspect_image.rb +7 -0
- data/lib/dapp/dimg/exception/registry.rb +7 -0
- data/lib/dapp/dimg/filelock.rb +43 -0
- data/lib/dapp/dimg/git_artifact.rb +241 -18
- data/lib/dapp/dimg/git_repo/base.rb +90 -0
- data/lib/dapp/dimg/git_repo/own.rb +39 -0
- data/lib/dapp/dimg/git_repo/remote.rb +50 -0
- data/lib/dapp/dimg/image/argument.rb +143 -0
- data/lib/dapp/dimg/image/docker.rb +127 -0
- data/lib/dapp/dimg/image/scratch.rb +32 -0
- data/lib/dapp/dimg/image/stage.rb +95 -0
- data/lib/dapp/dimg/lock/base.rb +51 -0
- data/lib/dapp/dimg/lock/file.rb +48 -0
- data/lib/dapp/error/base.rb +0 -1
- data/lib/dapp/error/dapp.rb +5 -0
- data/lib/dapp/error/dappfile.rb +0 -1
- data/lib/dapp/error/shellout.rb +0 -1
- data/lib/dapp/exception/base.rb +0 -1
- data/lib/dapp/helper/cli.rb +5 -6
- data/lib/dapp/helper/net_status.rb +0 -1
- data/lib/dapp/helper/sha256.rb +0 -1
- data/lib/dapp/helper/trivia.rb +0 -1
- data/lib/dapp/prctl.rb +0 -1
- data/lib/dapp/version.rb +1 -2
- metadata +172 -140
- data/lib/dapp/artifact.rb +0 -23
- data/lib/dapp/build/stage/after_install_artifact.rb +0 -13
- data/lib/dapp/build/stage/after_setup_artifact.rb +0 -17
- data/lib/dapp/build/stage/artifact_base.rb +0 -80
- data/lib/dapp/build/stage/artifact_default.rb +0 -63
- data/lib/dapp/build/stage/base.rb +0 -203
- data/lib/dapp/build/stage/before_install.rb +0 -32
- data/lib/dapp/build/stage/before_install_artifact.rb +0 -13
- data/lib/dapp/build/stage/before_setup.rb +0 -30
- data/lib/dapp/build/stage/before_setup_artifact.rb +0 -13
- data/lib/dapp/build/stage/build_artifact.rb +0 -36
- data/lib/dapp/build/stage/docker_instructions.rb +0 -24
- data/lib/dapp/build/stage/from.rb +0 -34
- data/lib/dapp/build/stage/ga_archive.rb +0 -27
- data/lib/dapp/build/stage/ga_archive_dependencies.rb +0 -26
- data/lib/dapp/build/stage/ga_artifact_patch.rb +0 -21
- data/lib/dapp/build/stage/ga_base.rb +0 -79
- data/lib/dapp/build/stage/ga_dependencies_base.rb +0 -19
- data/lib/dapp/build/stage/ga_latest_patch.rb +0 -53
- data/lib/dapp/build/stage/import_artifact.rb +0 -65
- data/lib/dapp/build/stage/install/ga_post_install_patch.rb +0 -21
- data/lib/dapp/build/stage/install/ga_post_install_patch_dependencies.rb +0 -21
- data/lib/dapp/build/stage/install/ga_pre_install_patch.rb +0 -21
- data/lib/dapp/build/stage/install/ga_pre_install_patch_dependencies.rb +0 -21
- data/lib/dapp/build/stage/install/install.rb +0 -40
- data/lib/dapp/build/stage/mod/group.rb +0 -42
- data/lib/dapp/build/stage/mod/logging.rb +0 -104
- data/lib/dapp/build/stage/setup/ga_post_setup_patch.rb +0 -21
- data/lib/dapp/build/stage/setup/ga_post_setup_patch_dependencies.rb +0 -31
- data/lib/dapp/build/stage/setup/ga_pre_setup_patch.rb +0 -21
- data/lib/dapp/build/stage/setup/ga_pre_setup_patch_dependencies.rb +0 -21
- data/lib/dapp/build/stage/setup/setup.rb +0 -40
- data/lib/dapp/builder/chef/berksfile.rb +0 -78
- data/lib/dapp/builder/chef/cookbook.rb +0 -257
- data/lib/dapp/builder/chef/cookbook_metadata.rb +0 -54
- data/lib/dapp/builder/chef/error.rb +0 -12
- data/lib/dapp/cli/bp.rb +0 -37
- data/lib/dapp/cli/build.rb +0 -60
- data/lib/dapp/cli/cleanup.rb +0 -22
- data/lib/dapp/cli/list.rb +0 -17
- data/lib/dapp/cli/mrproper.rb +0 -26
- data/lib/dapp/cli/push.rb +0 -61
- data/lib/dapp/cli/run.rb +0 -53
- data/lib/dapp/cli/stage_image.rb +0 -24
- data/lib/dapp/cli/stages.rb +0 -23
- data/lib/dapp/cli/stages/cleanup_local.rb +0 -44
- data/lib/dapp/cli/stages/cleanup_repo.rb +0 -26
- data/lib/dapp/cli/stages/flush_local.rb +0 -23
- data/lib/dapp/cli/stages/flush_repo.rb +0 -24
- data/lib/dapp/cli/stages/pull.rb +0 -28
- data/lib/dapp/cli/stages/push.rb +0 -24
- data/lib/dapp/cli/tag.rb +0 -24
- data/lib/dapp/config/artifact_dimg.rb +0 -20
- data/lib/dapp/config/artifact_group.rb +0 -56
- data/lib/dapp/config/dimg.rb +0 -23
- data/lib/dapp/config/dimg/instance_methods.rb +0 -194
- data/lib/dapp/config/dimg/validation.rb +0 -125
- data/lib/dapp/config/dimg_group.rb +0 -60
- data/lib/dapp/config/dimg_group_base.rb +0 -53
- data/lib/dapp/config/dimg_group_main.rb +0 -21
- data/lib/dapp/config/directive/artifact.rb +0 -69
- data/lib/dapp/config/directive/artifact_base.rb +0 -93
- data/lib/dapp/config/directive/chef.rb +0 -57
- data/lib/dapp/config/directive/docker/artifact.rb +0 -15
- data/lib/dapp/config/directive/docker/base.rb +0 -20
- data/lib/dapp/config/directive/docker/dimg.rb +0 -81
- data/lib/dapp/config/directive/git_artifact_local.rb +0 -13
- data/lib/dapp/config/directive/git_artifact_remote.rb +0 -57
- data/lib/dapp/config/directive/mount.rb +0 -26
- data/lib/dapp/config/directive/shell/artifact.rb +0 -17
- data/lib/dapp/config/directive/shell/dimg.rb +0 -65
- data/lib/dapp/dimg/path.rb +0 -37
- data/lib/dapp/dimg/stages.rb +0 -59
- data/lib/dapp/dimg/tags.rb +0 -65
- data/lib/dapp/docker_registry.rb +0 -36
- data/lib/dapp/docker_registry/base.rb +0 -109
- data/lib/dapp/docker_registry/default.rb +0 -18
- data/lib/dapp/docker_registry/mod/authorization.rb +0 -63
- data/lib/dapp/docker_registry/mod/request.rb +0 -32
- data/lib/dapp/error/build.rb +0 -6
- data/lib/dapp/error/config.rb +0 -6
- data/lib/dapp/error/dimg.rb +0 -6
- data/lib/dapp/error/image.rb +0 -6
- data/lib/dapp/error/project.rb +0 -6
- data/lib/dapp/error/registry.rb +0 -6
- data/lib/dapp/error/rugged.rb +0 -6
- data/lib/dapp/error/tar_writer.rb +0 -6
- data/lib/dapp/exception/introspect_image.rb +0 -6
- data/lib/dapp/exception/registry.rb +0 -6
- data/lib/dapp/filelock.rb +0 -43
- data/lib/dapp/git_artifact.rb +0 -241
- data/lib/dapp/git_repo/base.rb +0 -88
- data/lib/dapp/git_repo/own.rb +0 -38
- data/lib/dapp/git_repo/remote.rb +0 -49
- data/lib/dapp/image/argument.rb +0 -134
- data/lib/dapp/image/docker.rb +0 -115
- data/lib/dapp/image/scratch.rb +0 -32
- data/lib/dapp/image/stage.rb +0 -94
- data/lib/dapp/lock/base.rb +0 -51
- data/lib/dapp/lock/error.rb +0 -14
- data/lib/dapp/lock/file.rb +0 -45
- data/lib/dapp/project/command/bp.rb +0 -21
- data/lib/dapp/project/command/build.rb +0 -20
- data/lib/dapp/project/command/cleanup.rb +0 -24
- data/lib/dapp/project/command/common.rb +0 -96
- data/lib/dapp/project/command/list.rb +0 -20
- data/lib/dapp/project/command/mrproper.rb +0 -69
- data/lib/dapp/project/command/push.rb +0 -28
- data/lib/dapp/project/command/run.rb +0 -15
- data/lib/dapp/project/command/spush.rb +0 -18
- data/lib/dapp/project/command/stage_image.rb +0 -15
- data/lib/dapp/project/command/stages/cleanup_local.rb +0 -138
- data/lib/dapp/project/command/stages/cleanup_repo.rb +0 -125
- data/lib/dapp/project/command/stages/common.rb +0 -86
- data/lib/dapp/project/command/stages/flush_local.rb +0 -22
- data/lib/dapp/project/command/stages/flush_repo.rb +0 -22
- data/lib/dapp/project/command/stages/pull.rb +0 -27
- data/lib/dapp/project/command/stages/push.rb +0 -23
- data/lib/dapp/project/command/tag.rb +0 -18
@@ -0,0 +1,64 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class ImportArtifact < ArtifactBase
|
6
|
+
def initialize(dimg)
|
7
|
+
@dimg = dimg
|
8
|
+
end
|
9
|
+
|
10
|
+
def signature
|
11
|
+
@signature ||= hashsum [*dependencies.flatten, change_options]
|
12
|
+
end
|
13
|
+
|
14
|
+
def image
|
15
|
+
@image ||= Image::Scratch.new(name: image_name, dapp: dimg.dapp)
|
16
|
+
end
|
17
|
+
|
18
|
+
def image_add_volumes
|
19
|
+
end
|
20
|
+
|
21
|
+
def prepare_image
|
22
|
+
super
|
23
|
+
change_options.each do |k, v|
|
24
|
+
image.public_send("add_change_#{k}", v)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
def apply_artifact(artifact, image)
|
31
|
+
return if dimg.dapp.dry_run?
|
32
|
+
|
33
|
+
artifact_name = artifact[:name]
|
34
|
+
artifact_dimg = artifact[:dimg]
|
35
|
+
cwd = artifact[:options][:cwd]
|
36
|
+
include_paths = artifact[:options][:include_paths]
|
37
|
+
owner = artifact[:options][:owner]
|
38
|
+
group = artifact[:options][:group]
|
39
|
+
|
40
|
+
sudo = dimg.dapp.sudo_command(owner: Process.uid, group: Process.gid)
|
41
|
+
|
42
|
+
credentials = ''
|
43
|
+
credentials += "--owner=#{owner} " if owner
|
44
|
+
credentials += "--group=#{group} " if group
|
45
|
+
credentials += '--numeric-owner'
|
46
|
+
|
47
|
+
archive_path = dimg.tmp_path('artifact', artifact_name, 'archive.tar.gz')
|
48
|
+
container_archive_path = File.join(artifact_dimg.container_tmp_path(artifact_name), 'archive.tar.gz')
|
49
|
+
|
50
|
+
exclude_paths = artifact[:options][:exclude_paths].map { |path| "--exclude=#{path}" }.join(' ')
|
51
|
+
include_paths = include_paths.empty? ? [File.join(cwd, '*')] : include_paths.map { |path| File.join(cwd, path, '*') }
|
52
|
+
include_paths.map! { |path| path[1..-1] } # relative path
|
53
|
+
|
54
|
+
command = "#{sudo} #{dimg.dapp.tar_bin} -czf #{container_archive_path} #{exclude_paths} #{include_paths.join(' ')} #{credentials}"
|
55
|
+
run_artifact_dimg(artifact_dimg, artifact_name, command)
|
56
|
+
|
57
|
+
image.add_archive archive_path
|
58
|
+
end
|
59
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
60
|
+
end # ImportArtifact
|
61
|
+
end # Stage
|
62
|
+
end # Build
|
63
|
+
end # Dimg
|
64
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Install
|
6
|
+
class GAPostInstallPatch < GABase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAPostInstallPatchDependencies.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def next_g_a_stage
|
15
|
+
super.next_stage.next_stage # GAPreSetupPatch
|
16
|
+
end
|
17
|
+
end # GAPostInstallPatch
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Install
|
6
|
+
class GAPostInstallPatchDependencies < GADependenciesBase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = Install.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def dependencies
|
15
|
+
next_stage.next_stage.next_stage.context # BeforeSetup
|
16
|
+
end
|
17
|
+
end # GAPostInstallPatchDependencies
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Install
|
6
|
+
class GAPreInstallPatch < GABase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAPreInstallPatchDependencies.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def prev_g_a_stage
|
15
|
+
dependencies_stage.prev_stage # GAArchive
|
16
|
+
end
|
17
|
+
end # GAPostInstallPatch
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Install
|
6
|
+
class GAPreInstallPatchDependencies < GADependenciesBase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAArchive.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def dependencies
|
15
|
+
next_stage.next_stage.context # Install
|
16
|
+
end
|
17
|
+
end # GAPreInstallPatchDependencies
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Install
|
6
|
+
class Install < Base
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAPreInstallPatch.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def empty?
|
15
|
+
!dimg.builder.install?
|
16
|
+
end
|
17
|
+
|
18
|
+
def context
|
19
|
+
[git_artifacts_dependencies, builder_checksum]
|
20
|
+
end
|
21
|
+
|
22
|
+
def builder_checksum
|
23
|
+
dimg.builder.install_checksum
|
24
|
+
end
|
25
|
+
|
26
|
+
def prepare_image
|
27
|
+
super
|
28
|
+
dimg.builder.install(image)
|
29
|
+
end
|
30
|
+
end # Install
|
31
|
+
end # Install
|
32
|
+
end # Stage
|
33
|
+
end # Build
|
34
|
+
end # Dimg
|
35
|
+
end # Dapp
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Mod
|
6
|
+
module Group
|
7
|
+
def log_image_build
|
8
|
+
return super if should_be_quiet?
|
9
|
+
log_group_name if group_should_be_opened?
|
10
|
+
dimg.dapp.with_log_indent { super }
|
11
|
+
end
|
12
|
+
|
13
|
+
def log_group_name
|
14
|
+
dimg.dapp.log_step(dimg.dapp.t(code: group_name, context: :group))
|
15
|
+
end
|
16
|
+
|
17
|
+
def group_name
|
18
|
+
class_to_lowercase(self.class.name.split('::')[-2])
|
19
|
+
end
|
20
|
+
|
21
|
+
def group_should_be_opened?
|
22
|
+
!group_opened? && image_should_be_build?
|
23
|
+
end
|
24
|
+
|
25
|
+
def group_opened?
|
26
|
+
return false if prev_group_stage.nil?
|
27
|
+
prev_group_stage.group_opened? || !prev_group_stage.empty?
|
28
|
+
end
|
29
|
+
|
30
|
+
def prev_group_stage
|
31
|
+
prev_stage if prev_stage.respond_to?(:group_name) && prev_stage.group_name == group_name
|
32
|
+
end
|
33
|
+
|
34
|
+
def log_name_context
|
35
|
+
[super, group_name].join('.')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end # Mod
|
39
|
+
end # Stage
|
40
|
+
end # Build
|
41
|
+
end # Dimg
|
42
|
+
end # Dapp
|
@@ -0,0 +1,101 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Mod
|
6
|
+
module Logging
|
7
|
+
def log_image_build(&image_build)
|
8
|
+
if empty? then log_state(:empty)
|
9
|
+
elsif image.built? then log_state(:using_cache)
|
10
|
+
elsif should_be_not_present? then log_state(:not_present)
|
11
|
+
elsif dimg.dapp.dry_run? then log_state(:build, styles: { status: :success })
|
12
|
+
else log_image_build_process(&image_build)
|
13
|
+
end
|
14
|
+
ensure
|
15
|
+
log_build
|
16
|
+
end
|
17
|
+
|
18
|
+
def log_build
|
19
|
+
return unless dimg.dapp.log_verbose? && !should_be_quiet?
|
20
|
+
dimg.dapp.with_log_indent do
|
21
|
+
dimg.dapp.log_info dimg.dapp.t(code: 'image.signature', data: { signature: image_name })
|
22
|
+
log_image_details unless empty?
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def log_image_details
|
27
|
+
if image.tagged?
|
28
|
+
log_image_created_at
|
29
|
+
log_image_size
|
30
|
+
end
|
31
|
+
log_image_commands unless ignore_log_commands?
|
32
|
+
log_image_instructions
|
33
|
+
end
|
34
|
+
|
35
|
+
def log_image_instructions
|
36
|
+
return if (instructions = image.prepare_instructions(image.send(:change_options))).empty?
|
37
|
+
dimg.dapp.log_info dimg.dapp.t(code: 'image.instructions')
|
38
|
+
dimg.dapp.with_log_indent { dimg.dapp.log_info instructions.join("\n") }
|
39
|
+
end
|
40
|
+
|
41
|
+
def log_image_created_at
|
42
|
+
dimg.dapp.log_info dimg.dapp.t(code: 'image.info.created_at',
|
43
|
+
data: { value: Time.parse(image.created_at).localtime })
|
44
|
+
end
|
45
|
+
|
46
|
+
def log_image_size
|
47
|
+
if !prev_stage.nil? && from_image.tagged?
|
48
|
+
bytes = image.size - from_image.size
|
49
|
+
code = 'image.info.difference'
|
50
|
+
else
|
51
|
+
bytes = image.size
|
52
|
+
code = 'image.info.mb_size'
|
53
|
+
end
|
54
|
+
dimg.dapp.log_info dimg.dapp.t(code: code, data: { mb: (bytes / 1000 / 1000).round(3) })
|
55
|
+
end
|
56
|
+
|
57
|
+
def log_image_commands
|
58
|
+
return if (bash_commands = image.send(:bash_commands)).empty?
|
59
|
+
dimg.dapp.log_info dimg.dapp.t(code: 'image.commands')
|
60
|
+
dimg.dapp.with_log_indent { dimg.dapp.log_info bash_commands.join("\n") }
|
61
|
+
end
|
62
|
+
|
63
|
+
def log_name
|
64
|
+
dimg.dapp.t(code: name, context: log_name_context)
|
65
|
+
end
|
66
|
+
|
67
|
+
def log_name_context
|
68
|
+
:stage
|
69
|
+
end
|
70
|
+
|
71
|
+
def log_state(state_code, styles: {})
|
72
|
+
return if should_be_quiet?
|
73
|
+
dimg.dapp.log_state(log_name, state: dimg.dapp.t(code: state_code, context: 'state'), styles: styles)
|
74
|
+
end
|
75
|
+
|
76
|
+
def log_image_build_process
|
77
|
+
return yield if should_be_quiet?
|
78
|
+
dimg.dapp.log_process(log_name, process: dimg.dapp.t(code: 'status.process.building'), short: should_not_be_detailed?) { yield }
|
79
|
+
end
|
80
|
+
|
81
|
+
def ignore_log_commands?
|
82
|
+
false
|
83
|
+
end
|
84
|
+
|
85
|
+
def should_not_be_detailed?
|
86
|
+
image.send(:bash_commands).empty?
|
87
|
+
end
|
88
|
+
|
89
|
+
def should_be_introspected?
|
90
|
+
dimg.stage_should_be_introspected?(name) && !dimg.dapp.dry_run?
|
91
|
+
end
|
92
|
+
|
93
|
+
def should_be_quiet?
|
94
|
+
dimg.artifact? && !dimg.dapp.log_verbose?
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end # Mod
|
98
|
+
end # Stage
|
99
|
+
end # Build
|
100
|
+
end # Dimg
|
101
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Setup
|
6
|
+
class GAPostSetupPatch < GABase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAPostSetupPatchDependencies.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def next_g_a_stage
|
15
|
+
next_stage.next_stage
|
16
|
+
end
|
17
|
+
end # GAPostSetupPatch
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Setup
|
6
|
+
class GAPostSetupPatchDependencies < GADependenciesBase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
MAX_PATCH_SIZE = 1024 * 1024
|
10
|
+
|
11
|
+
def initialize(dimg, next_stage)
|
12
|
+
@prev_stage = Setup.new(dimg, self)
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
def dependencies
|
17
|
+
[(changes_size_since_g_a_pre_setup_patch / MAX_PATCH_SIZE).to_i]
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def changes_size_since_g_a_pre_setup_patch
|
23
|
+
dimg.git_artifacts.map do |git_artifact|
|
24
|
+
git_artifact.patch_size(prev_stage.prev_stage.layer_commit(git_artifact), git_artifact.latest_commit)
|
25
|
+
end.reduce(0, :+)
|
26
|
+
end
|
27
|
+
end # GAPostSetupPatchDependencies
|
28
|
+
end
|
29
|
+
end # Stage
|
30
|
+
end # Build
|
31
|
+
end # Dimg
|
32
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Setup
|
6
|
+
class GAPreSetupPatch < GABase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAPreSetupPatchDependencies.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def prev_g_a_stage
|
15
|
+
super.prev_stage.prev_stage # GAPostInstallPatch
|
16
|
+
end
|
17
|
+
end # GAPrePatch
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Setup
|
6
|
+
class GAPreSetupPatchDependencies < GADependenciesBase
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = BeforeSetupArtifact.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def dependencies
|
15
|
+
next_stage.next_stage.context # Setup
|
16
|
+
end
|
17
|
+
end # GAPreSetupPatchDependencies
|
18
|
+
end
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
module Setup
|
6
|
+
class Setup < Base
|
7
|
+
include Mod::Group
|
8
|
+
|
9
|
+
def initialize(dimg, next_stage)
|
10
|
+
@prev_stage = GAPreSetupPatch.new(dimg, self)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def empty?
|
15
|
+
!dimg.builder.setup?
|
16
|
+
end
|
17
|
+
|
18
|
+
def context
|
19
|
+
[git_artifacts_dependencies, builder_checksum]
|
20
|
+
end
|
21
|
+
|
22
|
+
def builder_checksum
|
23
|
+
dimg.builder.setup_checksum
|
24
|
+
end
|
25
|
+
|
26
|
+
def prepare_image
|
27
|
+
super
|
28
|
+
dimg.builder.setup(image)
|
29
|
+
end
|
30
|
+
end # Setup
|
31
|
+
end # Setup
|
32
|
+
end # Stage
|
33
|
+
end # Build
|
34
|
+
end # Dimg
|
35
|
+
end # Dapp
|