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,106 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
class Builder::Chef::CookbookMetadata
|
4
|
+
attr_accessor :builder
|
5
|
+
attr_accessor :name
|
6
|
+
attr_accessor :version
|
7
|
+
|
8
|
+
def depends
|
9
|
+
@depends ||= {}
|
10
|
+
end
|
11
|
+
|
12
|
+
def dump
|
13
|
+
builder.send(:dump) # "friend class"
|
14
|
+
end
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def from_file(metadata_file_path:)
|
18
|
+
new.tap do |metadata|
|
19
|
+
metadata.builder = FromFileBuilder.new(metadata, metadata_file_path)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def from_conf(name:, version:, cookbooks:)
|
24
|
+
new.tap do |metadata|
|
25
|
+
metadata.builder = FromConfBuilder.new(metadata, name, version, cookbooks)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
protected
|
30
|
+
|
31
|
+
def new(*args, &blk)
|
32
|
+
super(*args, &blk)
|
33
|
+
end
|
34
|
+
end # << self
|
35
|
+
|
36
|
+
class Builder
|
37
|
+
def initialize(metadata)
|
38
|
+
@metadata = metadata
|
39
|
+
end
|
40
|
+
|
41
|
+
def name(name)
|
42
|
+
@metadata.name = name
|
43
|
+
end
|
44
|
+
|
45
|
+
def version(version)
|
46
|
+
@metadata.version = version
|
47
|
+
end
|
48
|
+
|
49
|
+
def depends(dependency, version_constraint = nil, **kwargs, &_blk)
|
50
|
+
@metadata.depends[dependency] = {}.tap do |desc|
|
51
|
+
desc.update(kwargs)
|
52
|
+
desc[:dependency] = dependency
|
53
|
+
desc[:version_constraint] = version_constraint if version_constraint
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# rubocop:disable Style/MethodMissing
|
58
|
+
def method_missing(*_a, &_blk)
|
59
|
+
end
|
60
|
+
# rubocop:enable Style/MethodMissing
|
61
|
+
|
62
|
+
protected
|
63
|
+
|
64
|
+
def dump
|
65
|
+
raise
|
66
|
+
end
|
67
|
+
end # Builder
|
68
|
+
|
69
|
+
class FromFileBuilder < Builder
|
70
|
+
def initialize(metadata, metadata_file_path)
|
71
|
+
super(metadata)
|
72
|
+
|
73
|
+
@metadata_file_path = metadata_file_path
|
74
|
+
|
75
|
+
instance_eval(@metadata_file_path.read, @metadata_file_path.to_s)
|
76
|
+
end
|
77
|
+
|
78
|
+
def dump
|
79
|
+
@metadata_file_path.read
|
80
|
+
end
|
81
|
+
end # FromFileBuilder
|
82
|
+
|
83
|
+
class FromConfBuilder < Builder
|
84
|
+
def initialize(metadata, name, version, cookbooks)
|
85
|
+
super(metadata)
|
86
|
+
|
87
|
+
@cookbooks = cookbooks
|
88
|
+
|
89
|
+
@cookbooks.each do |cname, desc|
|
90
|
+
depends(cname, desc[:version_constraint], **desc)
|
91
|
+
end
|
92
|
+
|
93
|
+
self.name name
|
94
|
+
self.version version
|
95
|
+
end
|
96
|
+
|
97
|
+
def dump
|
98
|
+
[].tap do |lines|
|
99
|
+
lines << "name #{@metadata.name.inspect}\n"
|
100
|
+
lines << "version #{@metadata.version.inspect}\n"
|
101
|
+
end.join
|
102
|
+
end
|
103
|
+
end # FromConfBuilder
|
104
|
+
end # Builder::Chef::CookbookMetadata
|
105
|
+
end # Dimg
|
106
|
+
end # Dapp
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Dapp
|
2
|
-
module
|
3
|
-
|
4
|
-
class None < Base
|
2
|
+
module Dimg
|
3
|
+
class Builder::None < Builder::Base
|
5
4
|
def before_dimg_should_be_built_check
|
6
5
|
end
|
7
6
|
|
@@ -34,6 +33,6 @@ module Dapp
|
|
34
33
|
|
35
34
|
def build_artifact_checksum
|
36
35
|
end
|
37
|
-
end #
|
38
|
-
end #
|
36
|
+
end # Builder::None
|
37
|
+
end # Dimg
|
39
38
|
end # Dapp
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Dapp
|
2
|
-
module
|
3
|
-
|
4
|
-
class Shell < Base
|
2
|
+
module Dimg
|
3
|
+
class Builder::Shell < Builder::Base
|
5
4
|
[:before_install, :before_setup, :install, :setup, :build_artifact].each do |stage|
|
6
5
|
define_method("#{stage}_checksum") do
|
7
6
|
[dimg.config._shell.public_send("_#{stage}_command"),
|
@@ -20,6 +19,6 @@ module Dapp
|
|
20
19
|
def stage_commands(stage)
|
21
20
|
dimg.config._shell.public_send("_#{stage}_command")
|
22
21
|
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
22
|
+
end # Builder::Shell
|
23
|
+
end # Dimg
|
24
|
+
end # Dapp
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Base < ::Dapp::CLI::Base
|
5
|
+
def run(argv = ARGV)
|
6
|
+
self.class.parse_options(self, argv)
|
7
|
+
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).public_send(run_method)
|
8
|
+
end
|
9
|
+
|
10
|
+
def run_method
|
11
|
+
class_to_lowercase
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Bp < Push
|
5
|
+
banner <<BANNER.freeze
|
6
|
+
Usage:
|
7
|
+
|
8
|
+
dapp dimg bp [options] [DIMG ...] REPO
|
9
|
+
|
10
|
+
DIMG Dapp image to process [default: *].
|
11
|
+
REPO Pushed image name.
|
12
|
+
|
13
|
+
Options:
|
14
|
+
BANNER
|
15
|
+
option :tmp_dir_prefix,
|
16
|
+
long: '--tmp-dir-prefix PREFIX',
|
17
|
+
description: 'Tmp directory prefix (/tmp by default). Used for build process service directories.'
|
18
|
+
|
19
|
+
option :lock_timeout,
|
20
|
+
long: '--lock-timeout TIMEOUT',
|
21
|
+
description: 'Redefine resource locking timeout (in seconds)',
|
22
|
+
proc: ->(v) { v.to_i }
|
23
|
+
|
24
|
+
option :git_artifact_branch,
|
25
|
+
long: '--git-artifact-branch BRANCH',
|
26
|
+
description: 'Default branch to archive artifacts from'
|
27
|
+
|
28
|
+
option :ssh_key,
|
29
|
+
long: '--ssh-key SSH_KEY',
|
30
|
+
description: ['Enable only specified ssh keys ',
|
31
|
+
'(use system ssh-agent by default)'].join,
|
32
|
+
default: nil,
|
33
|
+
proc: ->(v) { composite_options(:ssh_key) << v }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Build < Base
|
5
|
+
banner <<BANNER.freeze
|
6
|
+
Usage:
|
7
|
+
|
8
|
+
dapp dimg build [options] [DIMG ...]
|
9
|
+
|
10
|
+
DIMG Dapp image to process [default: *].
|
11
|
+
|
12
|
+
Options:
|
13
|
+
BANNER
|
14
|
+
option :tmp_dir_prefix,
|
15
|
+
long: '--tmp-dir-prefix PREFIX',
|
16
|
+
description: 'Tmp directory prefix (/tmp by default). Used for build process service directories.'
|
17
|
+
|
18
|
+
option :lock_timeout,
|
19
|
+
long: '--lock-timeout TIMEOUT',
|
20
|
+
description: 'Redefine resource locking timeout (in seconds)',
|
21
|
+
proc: ->(v) { v.to_i }
|
22
|
+
|
23
|
+
option :git_artifact_branch,
|
24
|
+
long: '--git-artifact-branch BRANCH',
|
25
|
+
description: 'Default branch to archive artifacts from'
|
26
|
+
|
27
|
+
option :introspect_error,
|
28
|
+
long: '--introspect-error',
|
29
|
+
boolean: true,
|
30
|
+
default: false
|
31
|
+
|
32
|
+
option :introspect_before_error,
|
33
|
+
long: '--introspect-before-error',
|
34
|
+
boolean: true,
|
35
|
+
default: false
|
36
|
+
|
37
|
+
option :introspect_stage,
|
38
|
+
long: '--introspect-stage STAGE',
|
39
|
+
proc: proc { |v| v.to_sym },
|
40
|
+
in: [nil, :from, :before_install, :before_install_artifact, :g_a_archive, :g_a_pre_install_patch, :install,
|
41
|
+
:g_a_post_install_patch, :after_install_artifact, :before_setup, :before_setup_artifact, :g_a_pre_setup_patch,
|
42
|
+
:setup, :g_a_post_setup_patch, :after_setup_artifact, :g_a_latest_patch, :docker_instructions]
|
43
|
+
|
44
|
+
option :introspect_artifact_stage,
|
45
|
+
long: '--introspect-artifact-stage STAGE',
|
46
|
+
proc: proc { |v| v.to_sym },
|
47
|
+
in: [nil, :from, :before_install, :before_install_artifact, :g_a_archive, :g_a_pre_install_patch, :install,
|
48
|
+
:g_a_post_install_patch, :after_install_artifact, :before_setup, :before_setup_artifact, :g_a_pre_setup_patch,
|
49
|
+
:setup, :after_setup_artifact, :g_a_artifact_patch, :build_artifact]
|
50
|
+
|
51
|
+
option :ssh_key,
|
52
|
+
long: '--ssh-key SSH_KEY',
|
53
|
+
description: ['Enable only specified ssh keys ',
|
54
|
+
'(use system ssh-agent by default)'].join,
|
55
|
+
default: nil,
|
56
|
+
proc: ->(v) { composite_options(:ssh_key) << v }
|
57
|
+
|
58
|
+
option :build_context_directory,
|
59
|
+
long: '--build-context-directory DIR_PATH',
|
60
|
+
default: nil
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class BuildContext < ::Dapp::CLI
|
5
|
+
SUBCOMMANDS = %w(import export).freeze
|
6
|
+
|
7
|
+
banner <<BANNER.freeze
|
8
|
+
Available subcommands: (for details, dapp dimg build-context SUB-COMMAND --help)
|
9
|
+
|
10
|
+
dapp dimg build-context export [options] [DIMG ...]
|
11
|
+
dapp dimg build-context import [options]
|
12
|
+
|
13
|
+
Options:
|
14
|
+
BANNER
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class BuildContext
|
5
|
+
class Export < Base
|
6
|
+
banner <<BANNER.freeze
|
7
|
+
Usage:
|
8
|
+
|
9
|
+
dapp dimg build-context export [options] [DIMG ...]
|
10
|
+
|
11
|
+
DIMG Dapp image to process [default: *].
|
12
|
+
|
13
|
+
Options:
|
14
|
+
BANNER
|
15
|
+
option :build_context_directory,
|
16
|
+
long: '--build-context-directory DIR_PATH',
|
17
|
+
description: 'Path to the directory with context'
|
18
|
+
|
19
|
+
def run_method
|
20
|
+
:"build_context_#{class_to_lowercase}"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Cleanup < Base
|
5
|
+
banner <<BANNER.freeze
|
6
|
+
Usage:
|
7
|
+
|
8
|
+
dapp dimg cleanup [options] [DIMG ...]
|
9
|
+
|
10
|
+
DIMG Dapp image to process [default: *].
|
11
|
+
|
12
|
+
Options:
|
13
|
+
BANNER
|
14
|
+
|
15
|
+
option :lock_timeout,
|
16
|
+
long: '--lock-timeout TIMEOUT',
|
17
|
+
description: 'Redefine resource locking timeout (in seconds)',
|
18
|
+
proc: ->(v) { v.to_i }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
::Dapp::CLI.send(:include, ::Dapp::Dimg::CLI)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Dimg < ::Dapp::CLI
|
5
|
+
SUBCOMMANDS = ['build', 'push', 'spush', 'list', 'run', 'stages', 'cleanup', 'bp', 'mrproper', 'stage image', 'tag', 'build-context'].freeze
|
6
|
+
|
7
|
+
banner <<BANNER.freeze
|
8
|
+
Usage: dapp dimg [options] sub-command [sub-command options]
|
9
|
+
|
10
|
+
Available subcommands: (for details, dapp dimg SUB-COMMAND --help)
|
11
|
+
|
12
|
+
dapp dimg build [options] [DIMG ...]
|
13
|
+
dapp dimg bp [options] [DIMG ...] REPO
|
14
|
+
dapp dimg push [options] [DIMG ...] REPO
|
15
|
+
dapp dimg spush [options] [DIMG] REPO
|
16
|
+
dapp dimg tag [options] [DIMG] TAG
|
17
|
+
dapp dimg list [options] [DIMG ...]
|
18
|
+
dapp dimg run [options] [DIMG] [DOCKER ARGS]
|
19
|
+
dapp dimg cleanup [options] [DIMG ...]
|
20
|
+
dapp dimg mrproper [options]
|
21
|
+
dapp dimg stage image [options] [DIMG]
|
22
|
+
dapp dimg stages
|
23
|
+
dapp dimg build-context
|
24
|
+
|
25
|
+
Options:
|
26
|
+
BANNER
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Mrproper < Base
|
5
|
+
banner <<BANNER.freeze
|
6
|
+
Usage:
|
7
|
+
|
8
|
+
dapp dimg mrprooper [options]
|
9
|
+
|
10
|
+
Options:
|
11
|
+
BANNER
|
12
|
+
option :proper_all,
|
13
|
+
long: '--all',
|
14
|
+
boolean: true
|
15
|
+
|
16
|
+
option :proper_cache_version,
|
17
|
+
long: '--improper-cache-version-stages',
|
18
|
+
boolean: true
|
19
|
+
|
20
|
+
option :proper_dev_mode_cache,
|
21
|
+
long: '--improper-dev-mode-cache',
|
22
|
+
boolean: true
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Dapp
|
2
|
+
module Dimg
|
3
|
+
module CLI
|
4
|
+
class Push < Base
|
5
|
+
banner <<BANNER.freeze
|
6
|
+
Usage:
|
7
|
+
|
8
|
+
dapp dimg push [options] [DIMG ...] REPO
|
9
|
+
|
10
|
+
DIMG Dapp image to process [default: *].
|
11
|
+
|
12
|
+
Options:
|
13
|
+
BANNER
|
14
|
+
option :lock_timeout,
|
15
|
+
long: '--lock-timeout TIMEOUT',
|
16
|
+
description: 'Redefine resource locking timeout (in seconds)',
|
17
|
+
proc: ->(v) { v.to_i }
|
18
|
+
|
19
|
+
option :git_artifact_branch,
|
20
|
+
long: '--git-artifact-branch BRANCH',
|
21
|
+
description: 'Default branch to archive artifacts from'
|
22
|
+
|
23
|
+
option :tag,
|
24
|
+
long: '--tag TAG',
|
25
|
+
description: 'Add tag (can be used one or more times)',
|
26
|
+
default: [],
|
27
|
+
proc: proc { |v| composite_options(:tags) << v }
|
28
|
+
|
29
|
+
option :tag_branch,
|
30
|
+
long: '--tag-branch',
|
31
|
+
description: 'Tag by git branch',
|
32
|
+
boolean: true
|
33
|
+
|
34
|
+
option :tag_build_id,
|
35
|
+
long: '--tag-build-id',
|
36
|
+
description: 'Tag by CI build id',
|
37
|
+
boolean: true
|
38
|
+
|
39
|
+
option :tag_ci,
|
40
|
+
long: '--tag-ci',
|
41
|
+
description: 'Tag by CI branch and tag',
|
42
|
+
boolean: true
|
43
|
+
|
44
|
+
option :tag_commit,
|
45
|
+
long: '--tag-commit',
|
46
|
+
description: 'Tag by git commit',
|
47
|
+
boolean: true
|
48
|
+
|
49
|
+
option :with_stages,
|
50
|
+
long: '--with-stages',
|
51
|
+
boolean: true
|
52
|
+
|
53
|
+
def run(argv = ARGV)
|
54
|
+
self.class.parse_options(self, argv)
|
55
|
+
repo = self.class.required_argument(self)
|
56
|
+
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).public_send(class_to_lowercase, repo)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|