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,33 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class BeforeInstall < Base
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = From.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def empty?
|
12
|
+
super && !dimg.builder.before_install?
|
13
|
+
end
|
14
|
+
|
15
|
+
def context
|
16
|
+
[builder_checksum]
|
17
|
+
end
|
18
|
+
|
19
|
+
def builder_checksum
|
20
|
+
dimg.builder.before_install_checksum
|
21
|
+
end
|
22
|
+
|
23
|
+
def prepare_image
|
24
|
+
super
|
25
|
+
dimg.builder.before_install(image)
|
26
|
+
end
|
27
|
+
|
28
|
+
alias dependencies context
|
29
|
+
end # BeforeInstall
|
30
|
+
end # Stage
|
31
|
+
end # Build
|
32
|
+
end # Dimg
|
33
|
+
end # Dapp
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class BeforeInstallArtifact < ArtifactDefault
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = BeforeInstall.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
end # BeforeInstallArtifact
|
11
|
+
end # Stage
|
12
|
+
end # Build
|
13
|
+
end # Dimg
|
14
|
+
end # Dapp
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class BeforeSetup < Base
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = AfterInstallArtifact.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def empty?
|
12
|
+
!dimg.builder.before_setup?
|
13
|
+
end
|
14
|
+
|
15
|
+
def context
|
16
|
+
[git_artifacts_dependencies, builder_checksum]
|
17
|
+
end
|
18
|
+
|
19
|
+
def builder_checksum
|
20
|
+
dimg.builder.before_setup_checksum
|
21
|
+
end
|
22
|
+
|
23
|
+
def prepare_image
|
24
|
+
super
|
25
|
+
dimg.builder.before_setup(image)
|
26
|
+
end
|
27
|
+
end # BeforeSetup
|
28
|
+
end # Stage
|
29
|
+
end # Build
|
30
|
+
end # Dimg
|
31
|
+
end # Dapp
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class BeforeSetupArtifact < ArtifactDefault
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = BeforeSetup.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
end # BeforeSetupArtifact
|
11
|
+
end # Stage
|
12
|
+
end # Build
|
13
|
+
end # Dimg
|
14
|
+
end # Dapp
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class BuildArtifact < Base
|
6
|
+
def initialize(dimg)
|
7
|
+
@prev_stage = GAArtifactPatch.new(dimg, self)
|
8
|
+
@dimg = dimg
|
9
|
+
end
|
10
|
+
|
11
|
+
def empty?
|
12
|
+
!dimg.builder.build_artifact?
|
13
|
+
end
|
14
|
+
|
15
|
+
def context
|
16
|
+
[git_artifacts_dependencies, builder_checksum]
|
17
|
+
end
|
18
|
+
|
19
|
+
def builder_checksum
|
20
|
+
dimg.builder.build_artifact_checksum
|
21
|
+
end
|
22
|
+
|
23
|
+
def prepare_image
|
24
|
+
super
|
25
|
+
dimg.builder.build_artifact(image)
|
26
|
+
end
|
27
|
+
end # BuildArtifact
|
28
|
+
end # Stage
|
29
|
+
end # Build
|
30
|
+
end # Dimg
|
31
|
+
end # Dapp
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class DockerInstructions < Base
|
6
|
+
def initialize(dimg)
|
7
|
+
@prev_stage = GALatestPatch.new(dimg, self)
|
8
|
+
@dimg = dimg
|
9
|
+
end
|
10
|
+
|
11
|
+
def dependencies
|
12
|
+
[change_options]
|
13
|
+
end
|
14
|
+
|
15
|
+
def prepare_image
|
16
|
+
super
|
17
|
+
change_options.each do |k, v|
|
18
|
+
image.public_send("add_change_#{k}", v)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end # DockerInstructions
|
22
|
+
end # Stage
|
23
|
+
end # Build
|
24
|
+
end # Dimg
|
25
|
+
end # Dapp
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class From < Base
|
6
|
+
def dependencies
|
7
|
+
[from_image_name, dimg.config._docker._from_cache_version, config_mounts_dirs]
|
8
|
+
end
|
9
|
+
|
10
|
+
protected
|
11
|
+
|
12
|
+
def prepare_image
|
13
|
+
from_image.pull!
|
14
|
+
raise Error::Build, code: :from_image_not_found, data: { name: from_image_name } unless from_image.tagged?
|
15
|
+
add_cleanup_mounts_dirs_command
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_cleanup_mounts_dirs_command
|
20
|
+
return if config_mounts_dirs.empty?
|
21
|
+
image.add_service_command ["#{dimg.dapp.rm_bin} -rf %s",
|
22
|
+
"#{dimg.dapp.mkdir_bin} -p %s"].map { |c| format(c, config_mounts_dirs.join(' ')) }
|
23
|
+
end
|
24
|
+
|
25
|
+
def config_mounts_dirs
|
26
|
+
[:tmp_dir, :build_dir].map { |type| config_mounts_by_type(type) }.flatten.uniq
|
27
|
+
end
|
28
|
+
|
29
|
+
def adding_mounts_by_type(type)
|
30
|
+
labels_mounts_by_type(type)
|
31
|
+
end
|
32
|
+
|
33
|
+
def should_not_be_detailed?
|
34
|
+
from_image.tagged?
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def from_image_name
|
40
|
+
dimg.config._docker._from
|
41
|
+
end
|
42
|
+
|
43
|
+
def from_image
|
44
|
+
@from_image ||= Image::Stage.image_by_name(name: from_image_name, dapp: dimg.dapp)
|
45
|
+
end
|
46
|
+
end # Prepare
|
47
|
+
end # Stage
|
48
|
+
end # Build
|
49
|
+
end # Dimg
|
50
|
+
end # Dapp
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class GAArchive < GABase
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = GAArchiveDependencies.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def prev_g_a_stage
|
12
|
+
nil
|
13
|
+
end
|
14
|
+
|
15
|
+
def next_g_a_stage
|
16
|
+
next_stage.next_stage # GAPreInstallPatch
|
17
|
+
end
|
18
|
+
|
19
|
+
protected
|
20
|
+
|
21
|
+
def apply_command_method
|
22
|
+
:apply_archive_command
|
23
|
+
end
|
24
|
+
end # GAArchive
|
25
|
+
end # Stage
|
26
|
+
end # Build
|
27
|
+
end # Dimg
|
28
|
+
end # Dapp
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class GAArchiveDependencies < GADependenciesBase
|
6
|
+
RESET_COMMIT_MESSAGES = ['[dapp reset]', '[reset dapp]'].freeze
|
7
|
+
|
8
|
+
def initialize(dimg, next_stage)
|
9
|
+
@prev_stage = BeforeInstallArtifact.new(dimg, self)
|
10
|
+
super
|
11
|
+
end
|
12
|
+
|
13
|
+
def dependencies
|
14
|
+
[dimg.git_artifacts.map(&:paramshash).join, reset_commits.sort.uniq.compact]
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
|
19
|
+
def reset_commits
|
20
|
+
regex = Regexp.union(RESET_COMMIT_MESSAGES)
|
21
|
+
dimg.git_artifacts.map { |git_artifact| git_artifact.repo.find_commit_id_by_message(regex) }
|
22
|
+
end
|
23
|
+
end # GAArchiveDependencies
|
24
|
+
end # Stage
|
25
|
+
end # Build
|
26
|
+
end # Dimg
|
27
|
+
end # Dapp
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class GAArtifactPatch < GALatestPatch
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = Setup::Setup.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def dependencies
|
12
|
+
next_stage.context # BuildArtifact
|
13
|
+
end
|
14
|
+
|
15
|
+
def prev_g_a_stage
|
16
|
+
super.prev_stage # GAPreSetupPatch
|
17
|
+
end
|
18
|
+
end # GAArtifactPatch
|
19
|
+
end # Stage
|
20
|
+
end # Build
|
21
|
+
end # Dimg
|
22
|
+
end # Dapp
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class GABase < Base
|
6
|
+
attr_accessor :prev_g_a_stage, :next_g_a_stage
|
7
|
+
|
8
|
+
def prev_g_a_stage
|
9
|
+
dependencies_stage.prev_stage.prev_stage
|
10
|
+
end
|
11
|
+
|
12
|
+
def next_g_a_stage
|
13
|
+
next_stage.next_stage.next_stage
|
14
|
+
end
|
15
|
+
|
16
|
+
def dependencies_stage
|
17
|
+
prev_stage
|
18
|
+
end
|
19
|
+
|
20
|
+
def prepare_image
|
21
|
+
super do
|
22
|
+
image.add_volumes_from dimg.dapp.gitartifact_container
|
23
|
+
image.add_volume "#{dimg.tmp_path('archives')}:#{dimg.container_tmp_path('archives')}:ro"
|
24
|
+
image.add_volume "#{dimg.tmp_path('patches')}:#{dimg.container_tmp_path('patches')}:ro"
|
25
|
+
|
26
|
+
prepare_local_git_artifacts_command
|
27
|
+
prepare_remote_git_artifacts_command
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def prepare_local_git_artifacts_command
|
32
|
+
prepare_base_git_artifacts_command(dimg.local_git_artifacts)
|
33
|
+
end
|
34
|
+
|
35
|
+
def prepare_remote_git_artifacts_command
|
36
|
+
prepare_base_git_artifacts_command(dimg.remote_git_artifacts)
|
37
|
+
end
|
38
|
+
|
39
|
+
def prepare_base_git_artifacts_command(git_artifacts)
|
40
|
+
git_artifacts.each { |git_artifact| image.add_command git_artifact.send(apply_command_method, self) }
|
41
|
+
end
|
42
|
+
|
43
|
+
def empty?
|
44
|
+
dependencies_stage.empty?
|
45
|
+
end
|
46
|
+
|
47
|
+
def layer_commit(git_artifact)
|
48
|
+
commits[git_artifact] ||= begin
|
49
|
+
if dependencies_stage && dependencies_stage.image.tagged?
|
50
|
+
dependencies_stage.image.labels[git_artifact.full_name]
|
51
|
+
else
|
52
|
+
git_artifact.latest_commit
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
protected
|
58
|
+
|
59
|
+
def should_not_be_detailed?
|
60
|
+
true
|
61
|
+
end
|
62
|
+
|
63
|
+
def ignore_log_commands?
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
67
|
+
def apply_command_method
|
68
|
+
:apply_patch_command
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def commits
|
74
|
+
@commits ||= {}
|
75
|
+
end
|
76
|
+
end # GABase
|
77
|
+
end # Stage
|
78
|
+
end # Build
|
79
|
+
end # Dimg
|
80
|
+
end # Dapp
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class GADependenciesBase < Base
|
6
|
+
def prepare_image
|
7
|
+
super
|
8
|
+
dimg.git_artifacts.each do |git_artifact|
|
9
|
+
image.add_service_change_label(git_artifact.full_name.to_sym => git_artifact.latest_commit)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def empty?
|
14
|
+
dimg.git_artifacts.empty? || super
|
15
|
+
end
|
16
|
+
end # GADependenciesBase
|
17
|
+
end # Stage
|
18
|
+
end # Build
|
19
|
+
end # Dimg
|
20
|
+
end # Dapp
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module Build
|
4
|
+
module Stage
|
5
|
+
class GALatestPatch < GABase
|
6
|
+
def initialize(dimg, next_stage)
|
7
|
+
@prev_stage = AfterSetupArtifact.new(dimg, self)
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def prev_g_a_stage
|
12
|
+
prev_stage.prev_stage
|
13
|
+
end
|
14
|
+
|
15
|
+
def next_g_a_stage
|
16
|
+
nil
|
17
|
+
end
|
18
|
+
|
19
|
+
def dependencies_stage
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
|
23
|
+
def dependencies
|
24
|
+
[].tap do |dependencies|
|
25
|
+
dependencies << commit_list
|
26
|
+
dependencies << dimg.local_git_artifacts.map { |git_artifact| git_artifact.dev_patch_hash(self) } if dimg.dapp.dev_mode?
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def prepare_local_git_artifacts_command
|
31
|
+
return super unless dimg.dapp.dev_mode?
|
32
|
+
dimg.local_git_artifacts.each { |git_artifact| image.add_command git_artifact.apply_dev_patch_command(self) }
|
33
|
+
end
|
34
|
+
|
35
|
+
def layer_commit(git_artifact)
|
36
|
+
commits[git_artifact] ||= begin
|
37
|
+
git_artifact.latest_commit
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def empty?
|
42
|
+
dependencies_empty? || dimg.git_artifacts.all? { |git_artifact| !git_artifact.any_changes?(prev_g_a_stage.layer_commit(git_artifact)) }
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def commit_list
|
48
|
+
dimg.git_artifacts.map { |git_artifact| layer_commit(git_artifact) }
|
49
|
+
end
|
50
|
+
end # GALatestPatch
|
51
|
+
end # Stage
|
52
|
+
end # Build
|
53
|
+
end # Dimg
|
54
|
+
end # Dapp
|