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
@@ -1,21 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
# DimgGroupMain
|
4
|
-
class DimgGroupMain < DimgGroupBase
|
5
|
-
def dimg(name = nil, &blk)
|
6
|
-
with_dimg_validation { super(name, &blk) }
|
7
|
-
end
|
8
|
-
|
9
|
-
def dimg_group(&blk)
|
10
|
-
with_dimg_validation { super(&blk) }
|
11
|
-
end
|
12
|
-
|
13
|
-
protected
|
14
|
-
|
15
|
-
def with_dimg_validation
|
16
|
-
yield
|
17
|
-
raise Error::Config, code: :dimg_name_required if _dimg.any? { |dimg| dimg._name.nil? } && _dimg.size > 1
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
# Directive
|
4
|
-
module Directive
|
5
|
-
# Artifact
|
6
|
-
class Artifact < ArtifactBase
|
7
|
-
attr_reader :_config
|
8
|
-
|
9
|
-
def initialize(config:, **kwargs, &blk)
|
10
|
-
@_config = config
|
11
|
-
|
12
|
-
super(**kwargs, &blk)
|
13
|
-
end
|
14
|
-
|
15
|
-
def _export
|
16
|
-
super do |export|
|
17
|
-
export._before ||= @_before
|
18
|
-
export._after ||= @_after
|
19
|
-
export._config = _config
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
# Export
|
24
|
-
class Export < ArtifactBase::Export
|
25
|
-
attr_accessor :_config
|
26
|
-
attr_accessor :_before, :_after
|
27
|
-
|
28
|
-
def not_associated?
|
29
|
-
(_before || _after).nil?
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
|
34
|
-
def before(stage)
|
35
|
-
stage = stage.to_sym
|
36
|
-
associate_validation!(:before, stage, @_before)
|
37
|
-
@_before = stage
|
38
|
-
end
|
39
|
-
|
40
|
-
def after(stage)
|
41
|
-
stage = stage.to_sym
|
42
|
-
associate_validation!(:after, stage, @_after)
|
43
|
-
@_after = stage
|
44
|
-
end
|
45
|
-
|
46
|
-
def associate_validation!(type, stage, old_stage)
|
47
|
-
conflict_type = [:before, :after].find { |t| t != type }
|
48
|
-
conflict_stage = send("_#{conflict_type}")
|
49
|
-
|
50
|
-
raise Error::Config, code: :stage_artifact_not_supported_associated_stage,
|
51
|
-
data: { stage: "#{type} #{stage.inspect}" } unless [:install, :setup].include? stage
|
52
|
-
|
53
|
-
raise Error::Config, code: :stage_artifact_double_associate,
|
54
|
-
data: { stage: "#{type} #{stage.inspect}",
|
55
|
-
conflict_stage: "#{conflict_type} #{conflict_stage.inspect}" } if conflict_stage
|
56
|
-
|
57
|
-
defined_stage = send("_#{type}")
|
58
|
-
project.log_config_warning(desc: {
|
59
|
-
code: :stage_artifact_rewritten,
|
60
|
-
context: :warning,
|
61
|
-
data: { stage: "#{type} #{stage.inspect}",
|
62
|
-
conflict_stage: "#{type} #{defined_stage.inspect}" }
|
63
|
-
}) if defined_stage
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
module Directive
|
4
|
-
# ArtifactBase
|
5
|
-
class ArtifactBase < Base
|
6
|
-
attr_reader :_owner, :_group
|
7
|
-
|
8
|
-
def initialize(**kwargs, &blk)
|
9
|
-
@_export = []
|
10
|
-
|
11
|
-
super(**kwargs, &blk)
|
12
|
-
end
|
13
|
-
|
14
|
-
def _export
|
15
|
-
@_export.each do |export|
|
16
|
-
export._owner ||= @_owner
|
17
|
-
export._group ||= @_group
|
18
|
-
|
19
|
-
yield(export) if block_given?
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
# Export
|
24
|
-
class Export < Directive::Base
|
25
|
-
attr_accessor :_cwd, :_to, :_include_paths, :_exclude_paths, :_owner, :_group
|
26
|
-
|
27
|
-
def initialize(cwd = '/', **kwargs, &blk)
|
28
|
-
raise Error::Config, code: :export_cwd_absolute_path_required unless Pathname(cwd).absolute?
|
29
|
-
@_cwd = path_format(cwd)
|
30
|
-
@_include_paths ||= []
|
31
|
-
@_exclude_paths ||= []
|
32
|
-
|
33
|
-
super(**kwargs, &blk)
|
34
|
-
end
|
35
|
-
|
36
|
-
def _artifact_options
|
37
|
-
{
|
38
|
-
to: _to,
|
39
|
-
cwd: _cwd,
|
40
|
-
include_paths: _include_paths,
|
41
|
-
exclude_paths: _exclude_paths,
|
42
|
-
owner: _owner,
|
43
|
-
group: _group
|
44
|
-
}
|
45
|
-
end
|
46
|
-
|
47
|
-
protected
|
48
|
-
|
49
|
-
def to(absolute_path)
|
50
|
-
raise Error::Config, code: :export_to_absolute_path_required unless Pathname(absolute_path).absolute?
|
51
|
-
@_to = path_format(absolute_path)
|
52
|
-
end
|
53
|
-
|
54
|
-
def include_paths(*relative_paths)
|
55
|
-
raise Error::Config, code: :export_include_paths_relative_path_required unless relative_paths.all? { |path| Pathname(path).relative? }
|
56
|
-
_include_paths.concat(relative_paths.map(&method(:path_format)))
|
57
|
-
end
|
58
|
-
|
59
|
-
def exclude_paths(*relative_paths)
|
60
|
-
raise Error::Config, code: :export_exclude_paths_relative_path_required unless relative_paths.all? { |path| Pathname(path).relative? }
|
61
|
-
_exclude_paths.concat(relative_paths.map(&method(:path_format)))
|
62
|
-
end
|
63
|
-
|
64
|
-
def owner(owner)
|
65
|
-
@_owner = owner
|
66
|
-
end
|
67
|
-
|
68
|
-
def group(group)
|
69
|
-
@_group = group
|
70
|
-
end
|
71
|
-
|
72
|
-
def validate!
|
73
|
-
raise Error::Config, code: :export_to_required if _to.nil?
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
protected
|
78
|
-
|
79
|
-
def owner(owner)
|
80
|
-
@_owner = owner
|
81
|
-
end
|
82
|
-
|
83
|
-
def group(group)
|
84
|
-
@_group = group
|
85
|
-
end
|
86
|
-
|
87
|
-
def export(absolute_dir_path = '/', &blk)
|
88
|
-
@_export << self.class.const_get('Export').new(absolute_dir_path, project: project, &blk)
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
module Directive
|
4
|
-
# Chef
|
5
|
-
class Chef < Base
|
6
|
-
attr_accessor :_dimod, :_recipe, :_attributes
|
7
|
-
|
8
|
-
def initialize(**kwargs, &blk)
|
9
|
-
@_dimod = []
|
10
|
-
@_recipe = []
|
11
|
-
|
12
|
-
super(**kwargs, &blk)
|
13
|
-
end
|
14
|
-
|
15
|
-
def dimod(*args)
|
16
|
-
@_dimod.concat(args)
|
17
|
-
end
|
18
|
-
|
19
|
-
def recipe(*args)
|
20
|
-
@_recipe.concat(args)
|
21
|
-
end
|
22
|
-
|
23
|
-
def attributes
|
24
|
-
@_attributes ||= Attributes.new
|
25
|
-
end
|
26
|
-
|
27
|
-
%i(before_install install before_setup setup build_artifact).each do |stage|
|
28
|
-
define_method("_#{stage}_attributes") do
|
29
|
-
var = "@__#{stage}_attributes"
|
30
|
-
instance_variable_get(var) || instance_variable_set(var, Attributes.new)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# Attributes
|
35
|
-
class Attributes < Hash
|
36
|
-
def [](key)
|
37
|
-
super || begin
|
38
|
-
self[key] = self.class.new
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end # Attributes
|
42
|
-
|
43
|
-
%i(before_install install before_setup setup build_artifact).each do |stage|
|
44
|
-
define_method("__#{stage}_attributes") do
|
45
|
-
attributes.in_depth_merge send("_#{stage}_attributes")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
protected
|
50
|
-
|
51
|
-
def empty?
|
52
|
-
(@_dimod + @_recipe).empty? && attributes.empty?
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
module Directive
|
4
|
-
module Docker
|
5
|
-
# Base
|
6
|
-
class Base < Directive::Base
|
7
|
-
attr_reader :_from, :_from_cache_version
|
8
|
-
|
9
|
-
def from(image, cache_version: nil)
|
10
|
-
image = image.to_s
|
11
|
-
raise(Error::Config, code: :docker_from_incorrect, data: { name: image }) unless Image::Docker.image_name?(image)
|
12
|
-
raise(Error::Config, code: :docker_from_without_tag, data: { name: image }) unless image.include?(':')
|
13
|
-
@_from = image
|
14
|
-
@_from_cache_version = cache_version
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
module Directive
|
4
|
-
module Docker
|
5
|
-
# Dimg
|
6
|
-
class Dimg < Base
|
7
|
-
attr_reader :_volume, :_expose, :_env, :_label, :_cmd, :_onbuild, :_workdir, :_user, :_entrypoint
|
8
|
-
|
9
|
-
def initialize(**kwargs, &blk)
|
10
|
-
@_volume = []
|
11
|
-
@_expose = []
|
12
|
-
@_env = {}
|
13
|
-
@_label = {}
|
14
|
-
@_cmd = []
|
15
|
-
@_onbuild = []
|
16
|
-
|
17
|
-
super(**kwargs, &blk)
|
18
|
-
end
|
19
|
-
|
20
|
-
def volume(*args)
|
21
|
-
@_volume.concat(args)
|
22
|
-
end
|
23
|
-
|
24
|
-
def expose(*args)
|
25
|
-
@_expose.concat(args)
|
26
|
-
end
|
27
|
-
|
28
|
-
def env(**options)
|
29
|
-
@_env.merge!(options)
|
30
|
-
end
|
31
|
-
|
32
|
-
def label(**options)
|
33
|
-
@_label.merge!(options)
|
34
|
-
end
|
35
|
-
|
36
|
-
def cmd(*args)
|
37
|
-
@_cmd.concat(args)
|
38
|
-
end
|
39
|
-
|
40
|
-
def onbuild(*args)
|
41
|
-
@_onbuild.concat(args)
|
42
|
-
end
|
43
|
-
|
44
|
-
def workdir(path)
|
45
|
-
@_workdir = path_format(path)
|
46
|
-
end
|
47
|
-
|
48
|
-
def user(val)
|
49
|
-
@_user = val
|
50
|
-
end
|
51
|
-
|
52
|
-
def entrypoint(*cmd_with_args)
|
53
|
-
@_entrypoint = cmd_with_args.flatten
|
54
|
-
end
|
55
|
-
|
56
|
-
def _change_options
|
57
|
-
{
|
58
|
-
volume: _volume,
|
59
|
-
expose: _expose,
|
60
|
-
env: _env,
|
61
|
-
label: _label,
|
62
|
-
cmd: _cmd,
|
63
|
-
onbuild: _onbuild,
|
64
|
-
workdir: _workdir,
|
65
|
-
user: _user,
|
66
|
-
entrypoint: _entrypoint
|
67
|
-
}
|
68
|
-
end
|
69
|
-
|
70
|
-
protected
|
71
|
-
|
72
|
-
def clone_to_artifact
|
73
|
-
Artifact.new(project: project).tap do |docker|
|
74
|
-
docker.instance_variable_set('@_from', @_from)
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
module Directive
|
4
|
-
# GitArtifactRemote
|
5
|
-
class GitArtifactRemote < GitArtifactLocal
|
6
|
-
attr_reader :_url, :_name, :_branch, :_commit
|
7
|
-
|
8
|
-
def initialize(url, **kwargs, &blk)
|
9
|
-
raise Error::Config, code: :git_artifact_remote_unsupported_protocol, data: { url: url } unless %w(http https).include? URI(url.to_s).scheme
|
10
|
-
|
11
|
-
@_url = url
|
12
|
-
@_name = url.gsub(%r{.*?([^\/ ]+)\.git}, '\\1')
|
13
|
-
|
14
|
-
super(**kwargs, &blk)
|
15
|
-
end
|
16
|
-
|
17
|
-
def _export
|
18
|
-
super do |export|
|
19
|
-
export._url = @_url
|
20
|
-
export._name = @_name
|
21
|
-
export._branch ||= @_branch
|
22
|
-
export._commit ||= @_commit
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# Export
|
27
|
-
class Export < GitArtifactLocal::Export
|
28
|
-
attr_accessor :_url, :_name, :_branch, :_commit
|
29
|
-
|
30
|
-
def _artifact_options
|
31
|
-
super.merge(name: _name, branch: _branch)
|
32
|
-
end
|
33
|
-
|
34
|
-
protected
|
35
|
-
|
36
|
-
def branch(value)
|
37
|
-
@_branch = value
|
38
|
-
end
|
39
|
-
|
40
|
-
def commit(value)
|
41
|
-
@_commit = value
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
protected
|
46
|
-
|
47
|
-
def branch(value)
|
48
|
-
@_branch = value
|
49
|
-
end
|
50
|
-
|
51
|
-
def commit(value)
|
52
|
-
@_commit = value
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Config
|
3
|
-
module Directive
|
4
|
-
# Mount
|
5
|
-
class Mount < Base
|
6
|
-
attr_reader :_from, :_to
|
7
|
-
attr_reader :_type
|
8
|
-
|
9
|
-
def initialize(to, **kwargs, &blk)
|
10
|
-
raise Error::Config, code: :mount_to_absolute_path_required unless Pathname((to = to.to_s)).absolute?
|
11
|
-
@_to = path_format(to)
|
12
|
-
|
13
|
-
super(**kwargs, &blk)
|
14
|
-
end
|
15
|
-
|
16
|
-
protected
|
17
|
-
|
18
|
-
def from(type)
|
19
|
-
type = type.to_sym
|
20
|
-
raise Error::Config, code: :mount_from_type_required unless [:tmp_dir, :build_dir].include? type
|
21
|
-
@_type = type
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|