dapp 0.10.2 → 0.36.24
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 +5 -5
- data/bin/dapp +77 -15
- data/config/en/common.yml +20 -11
- data/config/en/net_status.yml +108 -27
- data/lib/dapp/cli/cli.rb +1 -0
- data/lib/dapp/cli/command/base.rb +111 -0
- data/lib/dapp/cli/command/sample/base.rb +28 -0
- data/lib/dapp/cli/command/sample/create.rb +24 -0
- data/lib/dapp/cli/command/sample/list.rb +25 -0
- data/lib/dapp/cli/command/sample.rb +20 -0
- data/lib/dapp/cli/command/slug.rb +26 -0
- data/lib/dapp/cli/command/update.rb +65 -0
- data/lib/dapp/cli/options/ssh.rb +18 -0
- data/lib/dapp/cli/options/tag.rb +51 -0
- data/lib/dapp/cli.rb +11 -3
- data/lib/dapp/config/config.rb +21 -0
- data/lib/dapp/config/directive/base.rb +100 -3
- data/lib/dapp/core_ext/hash.rb +14 -0
- data/lib/dapp/core_ext/pathname.rb +6 -4
- data/lib/dapp/dapp/chef.rb +1 -9
- data/lib/dapp/dapp/command/common.rb +24 -0
- data/lib/dapp/dapp/command/sample/common.rb +54 -0
- data/lib/dapp/dapp/command/sample/create.rb +57 -0
- data/lib/dapp/dapp/command/sample/list.rb +13 -0
- data/lib/dapp/dapp/command/slug.rb +11 -0
- data/lib/dapp/dapp/dapp_config.rb +85 -0
- data/lib/dapp/dapp/dappfile.rb +108 -27
- data/lib/dapp/dapp/deps/base.rb +9 -32
- data/lib/dapp/dapp/deps/common.rb +26 -0
- data/lib/dapp/dapp/deps/gitartifact.rb +2 -20
- data/lib/dapp/dapp/deps/toolchain.rb +11 -0
- data/lib/dapp/dapp/git_artifact.rb +6 -4
- data/lib/dapp/dapp/lock.rb +6 -5
- data/lib/dapp/dapp/logging/base.rb +32 -20
- data/lib/dapp/dapp/logging/i18n.rb +5 -1
- data/lib/dapp/dapp/logging/process.rb +6 -6
- data/lib/dapp/dapp/option_tags.rb +98 -0
- data/lib/dapp/dapp/ruby2go.rb +130 -0
- data/lib/dapp/dapp/sentry.rb +97 -0
- data/lib/dapp/dapp/shellout/base.rb +26 -18
- data/lib/dapp/dapp/shellout/streaming.rb +2 -2
- data/lib/dapp/dapp/slug.rb +12 -0
- data/lib/dapp/dapp/ssh_agent.rb +25 -7
- data/lib/dapp/dapp.rb +192 -41
- data/lib/dapp/deployment.rb +1 -0
- data/lib/dapp/dimg/artifact.rb +12 -4
- data/lib/dapp/dimg/build/stage/artifact_base.rb +26 -30
- data/lib/dapp/dimg/build/stage/artifact_default.rb +50 -28
- data/lib/dapp/dimg/build/stage/base.rb +187 -52
- data/lib/dapp/dimg/build/stage/before_install.rb +4 -15
- data/lib/dapp/dimg/build/stage/before_install_artifact.rb +4 -0
- data/lib/dapp/dimg/build/stage/before_setup.rb +1 -20
- data/lib/dapp/dimg/build/stage/build_artifact.rb +1 -20
- data/lib/dapp/dimg/build/stage/docker_instructions.rb +5 -4
- data/lib/dapp/dimg/build/stage/from.rb +62 -9
- data/lib/dapp/dimg/build/stage/ga_archive.rb +14 -1
- data/lib/dapp/dimg/build/stage/ga_artifact_patch.rb +1 -5
- data/lib/dapp/dimg/build/stage/ga_base.rb +5 -35
- data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +15 -34
- data/lib/dapp/dimg/build/stage/ga_related_base.rb +21 -0
- data/lib/dapp/dimg/build/stage/import_artifact.rb +22 -11
- data/lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb +6 -2
- data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb +6 -2
- data/lib/dapp/dimg/build/stage/install/install.rb +1 -19
- data/lib/dapp/dimg/build/stage/instructions.rb +27 -0
- data/lib/dapp/dimg/build/stage/mod/group.rb +19 -7
- data/lib/dapp/dimg/build/stage/mod/logging.rb +15 -19
- data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb +24 -1
- data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch.rb +6 -2
- data/lib/dapp/dimg/build/stage/setup/setup.rb +1 -19
- data/lib/dapp/dimg/builder/ansible.rb +5 -0
- data/lib/dapp/dimg/builder/chef/cookbook.rb +8 -8
- data/lib/dapp/dimg/builder/chef.rb +29 -16
- data/lib/dapp/dimg/builder/none.rb +1 -34
- data/lib/dapp/dimg/builder/ruby2go.rb +57 -0
- data/lib/dapp/dimg/builder/shell.rb +1 -20
- data/lib/dapp/dimg/cli/cli.rb +2 -1
- data/lib/dapp/dimg/cli/command/base.rb +24 -0
- data/lib/dapp/dimg/cli/command/dimg/bp.rb +60 -0
- data/lib/dapp/dimg/cli/command/dimg/build.rb +43 -0
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/export.rb +9 -4
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/import.rb +4 -4
- data/lib/dapp/dimg/cli/{build_context.rb → command/dimg/build_context.rb} +5 -5
- data/lib/dapp/dimg/cli/{cleanup.rb → command/dimg/cleanup.rb} +4 -6
- data/lib/dapp/dimg/cli/command/dimg/cleanup_repo.rb +47 -0
- data/lib/dapp/dimg/cli/command/dimg/flush_local.rb +24 -0
- data/lib/dapp/dimg/cli/command/dimg/flush_repo.rb +36 -0
- data/lib/dapp/dimg/cli/{list.rb → command/dimg/list.rb} +6 -3
- data/lib/dapp/dimg/cli/{mrproper.rb → command/dimg/mrproper.rb} +4 -4
- data/lib/dapp/dimg/cli/command/dimg/push.rb +39 -0
- data/lib/dapp/dimg/cli/{run.rb → command/dimg/run.rb} +30 -15
- data/lib/dapp/dimg/cli/{spush.rb → command/dimg/spush.rb} +4 -4
- data/lib/dapp/dimg/cli/{stage_image.rb → command/dimg/stage_image.rb} +12 -3
- data/lib/dapp/dimg/cli/command/dimg/stages/base.rb +13 -0
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_local.rb +13 -9
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_repo.rb +6 -8
- data/lib/dapp/dimg/cli/command/dimg/stages/flush_local.rb +21 -0
- data/lib/dapp/dimg/cli/command/dimg/stages/flush_repo.rb +28 -0
- data/lib/dapp/dimg/cli/command/dimg/stages/pull.rb +34 -0
- data/lib/dapp/dimg/cli/command/dimg/stages/push.rb +30 -0
- data/lib/dapp/dimg/cli/command/dimg/stages.rb +22 -0
- data/lib/dapp/dimg/cli/command/dimg/tag.rb +24 -0
- data/lib/dapp/dimg/cli/command/dimg.rb +31 -0
- data/lib/dapp/dimg/cli/options/introspection.rb +45 -0
- data/lib/dapp/dimg/config/config.rb +24 -0
- data/lib/dapp/dimg/config/directive/artifact.rb +13 -15
- data/lib/dapp/dimg/config/directive/artifact_base.rb +13 -8
- data/lib/dapp/dimg/config/directive/artifact_dimg.rb +12 -0
- data/lib/dapp/dimg/config/directive/artifact_group.rb +60 -0
- data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +203 -0
- data/lib/dapp/dimg/config/directive/dimg/validation.rb +217 -0
- data/lib/dapp/dimg/config/directive/dimg.rb +36 -0
- data/lib/dapp/dimg/config/directive/dimg_group.rb +73 -0
- data/lib/dapp/dimg/config/directive/dimg_group_base.rb +46 -0
- data/lib/dapp/dimg/config/directive/docker/artifact.rb +5 -0
- data/lib/dapp/dimg/config/directive/docker/base.rb +2 -3
- data/lib/dapp/dimg/config/directive/docker/dimg.rb +4 -4
- data/lib/dapp/dimg/config/directive/git_artifact_local.rb +24 -5
- data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +23 -12
- data/lib/dapp/dimg/config/directive/mount.rb +11 -3
- data/lib/dapp/dimg/config/directive/shell/dimg.rb +2 -2
- data/lib/dapp/dimg/dapp/command/bp.rb +3 -5
- data/lib/dapp/dimg/dapp/command/build.rb +4 -6
- data/lib/dapp/dimg/dapp/command/build_context/common.rb +2 -2
- data/lib/dapp/dimg/dapp/command/build_context/export.rb +14 -14
- data/lib/dapp/dimg/dapp/command/build_context/import.rb +28 -23
- data/lib/dapp/dimg/dapp/command/cleanup.rb +4 -11
- data/lib/dapp/dimg/dapp/command/cleanup_repo.rb +143 -0
- data/lib/dapp/dimg/dapp/command/common.rb +148 -38
- data/lib/dapp/dimg/dapp/command/flush_local.rb +25 -0
- data/lib/dapp/dimg/dapp/command/flush_repo.rb +25 -0
- data/lib/dapp/dimg/dapp/command/list.rb +1 -1
- data/lib/dapp/dimg/dapp/command/mrproper.rb +16 -63
- data/lib/dapp/dimg/dapp/command/push.rb +11 -16
- data/lib/dapp/dimg/dapp/command/ruby2go_cleanup.rb +48 -0
- data/lib/dapp/dimg/dapp/command/run.rb +4 -4
- data/lib/dapp/dimg/dapp/command/spush.rb +4 -5
- data/lib/dapp/dimg/dapp/command/stage_image.rb +2 -2
- data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +13 -115
- data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +23 -102
- data/lib/dapp/dimg/dapp/command/stages/common.rb +57 -39
- data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +13 -7
- data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +14 -8
- data/lib/dapp/dimg/dapp/command/stages/pull.rb +4 -13
- data/lib/dapp/dimg/dapp/command/stages/push.rb +4 -9
- data/lib/dapp/dimg/dapp/command/tag.rb +4 -6
- data/lib/dapp/dimg/dapp/config_artifact_group.rb +20 -0
- data/lib/dapp/dimg/dapp/dapp.rb +40 -0
- data/lib/dapp/dimg/dapp/dappfile.rb +43 -0
- data/lib/dapp/dimg/dapp/dimg.rb +41 -0
- data/lib/dapp/dimg/dimg/git_artifact.rb +25 -11
- data/lib/dapp/dimg/dimg/path.rb +7 -9
- data/lib/dapp/dimg/dimg/stages.rb +27 -15
- data/lib/dapp/dimg/dimg.rb +172 -69
- data/lib/dapp/dimg/docker_registry/base.rb +31 -74
- data/lib/dapp/dimg/docker_registry/dimg.rb +55 -0
- data/lib/dapp/dimg/docker_registry.rb +5 -23
- data/lib/dapp/dimg/error/build.rb +1 -1
- data/lib/dapp/dimg/error/chef.rb +1 -5
- data/lib/dapp/dimg/error/{command.rb → default.rb} +1 -1
- data/lib/dapp/dimg/error/dimg.rb +1 -1
- data/lib/dapp/dimg/error/lock.rb +1 -1
- data/lib/dapp/dimg/error/registry.rb +1 -1
- data/lib/dapp/dimg/error/rugged.rb +1 -1
- data/lib/dapp/dimg/error/tar_writer.rb +1 -1
- data/lib/dapp/dimg/git_artifact.rb +195 -179
- data/lib/dapp/dimg/git_repo/base.rb +49 -45
- data/lib/dapp/dimg/git_repo/local.rb +45 -0
- data/lib/dapp/dimg/git_repo/own.rb +3 -31
- data/lib/dapp/dimg/git_repo/remote.rb +65 -26
- data/lib/dapp/dimg/image/argument.rb +15 -50
- data/lib/dapp/dimg/image/dimg.rb +15 -0
- data/lib/dapp/dimg/image/scratch.rb +35 -9
- data/lib/dapp/dimg/image/stage.rb +223 -44
- data/lib/dapp/dimg/lock/file.rb +4 -4
- data/lib/dapp/downloader.rb +117 -0
- data/lib/dapp/error/base.rb +1 -5
- data/lib/dapp/error/command.rb +5 -0
- data/lib/dapp/error/config.rb +5 -0
- data/lib/dapp/error/dapp.rb +1 -1
- data/lib/dapp/error/dappfile.rb +1 -1
- data/lib/dapp/error/default.rb +11 -0
- data/lib/dapp/error/mod/user.rb +11 -0
- data/lib/dapp/error/shellout.rb +1 -1
- data/lib/dapp/exception/base.rb +1 -1
- data/lib/dapp/helper/case_conversion.rb +17 -0
- data/lib/dapp/helper/cli.rb +18 -7
- data/lib/dapp/helper/net_status.rb +5 -1
- data/lib/dapp/helper/sha256.rb +1 -1
- data/lib/dapp/helper/tar.rb +31 -0
- data/lib/dapp/helper/trivia.rb +40 -1
- data/lib/dapp/helper/url.rb +23 -0
- data/lib/dapp/helper/yaml.rb +24 -0
- data/lib/dapp/kube/cli/cli.rb +1 -0
- data/lib/dapp/kube/cli/command/base.rb +14 -0
- data/lib/dapp/kube/cli/command/kube/chart_create.rb +19 -0
- data/lib/dapp/kube/cli/command/kube/deploy.rb +80 -0
- data/lib/dapp/kube/cli/command/kube/dismiss.rb +31 -0
- data/lib/dapp/kube/cli/command/kube/lint.rb +53 -0
- data/lib/dapp/kube/cli/command/kube/minikube_setup.rb +19 -0
- data/lib/dapp/kube/cli/command/kube/render.rb +63 -0
- data/lib/dapp/kube/cli/command/kube/secret_edit.rb +30 -0
- data/lib/dapp/kube/cli/command/kube/secret_extract.rb +39 -0
- data/lib/dapp/kube/cli/command/kube/secret_generate.rb +34 -0
- data/lib/dapp/kube/cli/command/kube/secret_key_generate.rb +16 -0
- data/lib/dapp/kube/cli/command/kube/secret_regenerate.rb +29 -0
- data/lib/dapp/kube/cli/command/kube/value_get.rb +47 -0
- data/lib/dapp/kube/cli/command/kube.rb +28 -0
- data/lib/dapp/kube/dapp/command/chart_create.rb +103 -0
- data/lib/dapp/kube/dapp/command/common.rb +379 -0
- data/lib/dapp/kube/dapp/command/deploy.rb +351 -0
- data/lib/dapp/kube/dapp/command/dismiss.rb +50 -0
- data/lib/dapp/kube/dapp/command/lint.rb +69 -0
- data/lib/dapp/kube/dapp/command/minikube_setup.rb +402 -0
- data/lib/dapp/kube/dapp/command/render.rb +54 -0
- data/lib/dapp/kube/dapp/command/ruby2go.rb +17 -0
- data/lib/dapp/kube/dapp/command/secret_edit.rb +21 -0
- data/lib/dapp/kube/dapp/command/secret_extract.rb +17 -0
- data/lib/dapp/kube/dapp/command/secret_generate.rb +21 -0
- data/lib/dapp/kube/dapp/command/secret_key_generate.rb +13 -0
- data/lib/dapp/kube/dapp/command/secret_regenerate.rb +13 -0
- data/lib/dapp/kube/dapp/command/value_get.rb +32 -0
- data/lib/dapp/kube/dapp/dapp.rb +26 -0
- data/lib/dapp/kube/error/default.rb +7 -0
- data/lib/dapp/kube/helm/release.rb +189 -0
- data/lib/dapp/kube/helm/values.rb +148 -0
- data/lib/dapp/kube/helm.rb +5 -0
- data/lib/dapp/kube/kubernetes/client/error.rb +43 -0
- data/lib/dapp/kube/kubernetes/client/resource/base.rb +33 -0
- data/lib/dapp/kube/kubernetes/client/resource/deployment.rb +11 -0
- data/lib/dapp/kube/kubernetes/client/resource/event.rb +8 -0
- data/lib/dapp/kube/kubernetes/client/resource/job.rb +27 -0
- data/lib/dapp/kube/kubernetes/client/resource/pod.rb +62 -0
- data/lib/dapp/kube/kubernetes/client/resource/replicaset.rb +8 -0
- data/lib/dapp/kube/kubernetes/client.rb +314 -0
- data/lib/dapp/kube/kubernetes/config.rb +132 -0
- data/lib/dapp/kube/kubernetes/error.rb +15 -0
- data/lib/dapp/kube/kubernetes/manager/base.rb +15 -0
- data/lib/dapp/kube/kubernetes/manager/container.rb +103 -0
- data/lib/dapp/kube/kubernetes/manager/deployment.rb +212 -0
- data/lib/dapp/kube/kubernetes/manager/job.rb +65 -0
- data/lib/dapp/kube/kubernetes/manager/pod.rb +69 -0
- data/lib/dapp/kube/kubernetes.rb +6 -0
- data/lib/dapp/kube/secret.rb +93 -0
- data/lib/dapp/kube.rb +1 -0
- data/lib/dapp/version.rb +2 -2
- data/lib/dapp.rb +155 -61
- metadata +208 -61
- data/lib/dapp/cli/base.rb +0 -63
- data/lib/dapp/config/base.rb +0 -54
- data/lib/dapp/config/error/config.rb +0 -7
- data/lib/dapp/dimg/build/stage/ga_archive_dependencies.rb +0 -27
- data/lib/dapp/dimg/build/stage/ga_dependencies_base.rb +0 -20
- data/lib/dapp/dimg/build/stage/install/ga_post_install_patch_dependencies.rb +0 -22
- data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch_dependencies.rb +0 -22
- data/lib/dapp/dimg/build/stage/mod/git_artifact_dependencies.rb +0 -23
- data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch_dependencies.rb +0 -32
- data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch_dependencies.rb +0 -22
- data/lib/dapp/dimg/cli/base.rb +0 -16
- data/lib/dapp/dimg/cli/bp.rb +0 -37
- data/lib/dapp/dimg/cli/build.rb +0 -64
- data/lib/dapp/dimg/cli/dimg.rb +0 -30
- data/lib/dapp/dimg/cli/push.rb +0 -61
- data/lib/dapp/dimg/cli/stages/flush_local.rb +0 -23
- data/lib/dapp/dimg/cli/stages/flush_repo.rb +0 -24
- data/lib/dapp/dimg/cli/stages/pull.rb +0 -28
- data/lib/dapp/dimg/cli/stages/push.rb +0 -24
- data/lib/dapp/dimg/cli/stages.rb +0 -22
- data/lib/dapp/dimg/cli/tag.rb +0 -24
- data/lib/dapp/dimg/config/artifact_dimg.rb +0 -17
- data/lib/dapp/dimg/config/artifact_group.rb +0 -43
- data/lib/dapp/dimg/config/base.rb +0 -7
- data/lib/dapp/dimg/config/dimg/instance_methods.rb +0 -179
- data/lib/dapp/dimg/config/dimg/validation.rb +0 -126
- data/lib/dapp/dimg/config/dimg.rb +0 -24
- data/lib/dapp/dimg/config/dimg_group.rb +0 -61
- data/lib/dapp/dimg/config/dimg_group_base.rb +0 -54
- data/lib/dapp/dimg/config/dimg_group_main.rb +0 -22
- data/lib/dapp/dimg/dapp/command.rb +0 -21
- data/lib/dapp/dimg/dimg/tags.rb +0 -65
- data/lib/dapp/dimg/docker_registry/base/authorization.rb +0 -63
- data/lib/dapp/dimg/docker_registry/base/request.rb +0 -34
- data/lib/dapp/dimg/docker_registry/default.rb +0 -18
- data/lib/dapp/dimg/error/base.rb +0 -7
- data/lib/dapp/dimg/error/config.rb +0 -7
- data/lib/dapp/dimg/exception/introspect_image.rb +0 -7
- data/lib/dapp/dimg/image/docker.rb +0 -134
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module Build
|
|
4
|
-
module Stage
|
|
5
|
-
module Mod
|
|
6
|
-
module GitArtifactsDependencies
|
|
7
|
-
def local_git_artifacts_dependencies
|
|
8
|
-
dimg.local_git_artifacts.map do |git_artifact|
|
|
9
|
-
args = []
|
|
10
|
-
args << self
|
|
11
|
-
if dimg.dev_mode?
|
|
12
|
-
args << git_artifact.latest_commit
|
|
13
|
-
args << nil
|
|
14
|
-
end
|
|
15
|
-
git_artifact.stage_dependencies_checksums(*args)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end # Mod
|
|
20
|
-
end # Stage
|
|
21
|
-
end # Build
|
|
22
|
-
end # Dimg
|
|
23
|
-
end # Dapp
|
|
@@ -1,32 +0,0 @@
|
|
|
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_g_a_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
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
dimg.stage_by_name(:setup).context
|
|
16
|
-
end
|
|
17
|
-
end # GAPreSetupPatchDependencies
|
|
18
|
-
end
|
|
19
|
-
end # Stage
|
|
20
|
-
end # Build
|
|
21
|
-
end # Dimg
|
|
22
|
-
end # Dapp
|
data/lib/dapp/dimg/cli/base.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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
|
data/lib/dapp/dimg/cli/bp.rb
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
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
|
data/lib/dapp/dimg/cli/build.rb
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
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
|
data/lib/dapp/dimg/cli/dimg.rb
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
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
|
data/lib/dapp/dimg/cli/push.rb
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module CLI
|
|
4
|
-
class Stages
|
|
5
|
-
class FlushLocal < Base
|
|
6
|
-
banner <<BANNER.freeze
|
|
7
|
-
Usage:
|
|
8
|
-
|
|
9
|
-
dapp dimg stages flush local [options] [DIMG ...]
|
|
10
|
-
|
|
11
|
-
DIMG Dapp image to process [default: *].
|
|
12
|
-
|
|
13
|
-
Options:
|
|
14
|
-
BANNER
|
|
15
|
-
def run(argv = ARGV)
|
|
16
|
-
self.class.parse_options(self, argv)
|
|
17
|
-
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).stages_flush_local
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module CLI
|
|
4
|
-
class Stages
|
|
5
|
-
class FlushRepo < Base
|
|
6
|
-
banner <<BANNER.freeze
|
|
7
|
-
Usage:
|
|
8
|
-
|
|
9
|
-
dapp dimg stages flush repo [options] [DIMG ...] REPO
|
|
10
|
-
|
|
11
|
-
DIMG Dapp image to process [default: *].
|
|
12
|
-
|
|
13
|
-
Options:
|
|
14
|
-
BANNER
|
|
15
|
-
def run(argv = ARGV)
|
|
16
|
-
self.class.parse_options(self, argv)
|
|
17
|
-
repo = self.class.required_argument(self)
|
|
18
|
-
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).stages_flush_repo(repo)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module CLI
|
|
4
|
-
class Stages
|
|
5
|
-
class Pull < Base
|
|
6
|
-
banner <<BANNER.freeze
|
|
7
|
-
Usage:
|
|
8
|
-
|
|
9
|
-
dapp dimg stages pull [options] [DIMG ...] REPO
|
|
10
|
-
|
|
11
|
-
DIMG Dapp image to process [default: *].
|
|
12
|
-
|
|
13
|
-
Options:
|
|
14
|
-
BANNER
|
|
15
|
-
option :pull_all_stages,
|
|
16
|
-
long: '--all',
|
|
17
|
-
boolean: true
|
|
18
|
-
|
|
19
|
-
def run(argv = ARGV)
|
|
20
|
-
self.class.parse_options(self, argv)
|
|
21
|
-
repo = self.class.required_argument(self)
|
|
22
|
-
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).stages_pull(repo)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module CLI
|
|
4
|
-
class Stages
|
|
5
|
-
class Push < Base
|
|
6
|
-
banner <<BANNER.freeze
|
|
7
|
-
Usage:
|
|
8
|
-
|
|
9
|
-
dapp dimg stages push [options] [DIMG ...] REPO
|
|
10
|
-
|
|
11
|
-
DIMG Dapp image to process [default: *].
|
|
12
|
-
|
|
13
|
-
Options:
|
|
14
|
-
BANNER
|
|
15
|
-
def run(argv = ARGV)
|
|
16
|
-
self.class.parse_options(self, argv)
|
|
17
|
-
repo = self.class.required_argument(self)
|
|
18
|
-
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).stages_push(repo)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
data/lib/dapp/dimg/cli/stages.rb
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module CLI
|
|
4
|
-
class Stages < ::Dapp::CLI
|
|
5
|
-
SUBCOMMANDS = ['flush local', 'flush repo', 'cleanup local', 'cleanup repo', 'push', 'pull'].freeze
|
|
6
|
-
|
|
7
|
-
banner <<BANNER.freeze
|
|
8
|
-
Available subcommands: (for details, dapp dimg stages SUB-COMMAND --help)
|
|
9
|
-
|
|
10
|
-
dapp dimg stages cleanup local [options] [DIMG ...] [REPO]
|
|
11
|
-
dapp dimg stages cleanup repo [options] [DIMG ...] REPO
|
|
12
|
-
dapp dimg stages flush local [options] [DIMG ...]
|
|
13
|
-
dapp dimg stages flush repo [options] [DIMG ...] REPO
|
|
14
|
-
dapp dimg stages push [options] [DIMG ...] REPO
|
|
15
|
-
dapp dimg stages pull [options] [DIMG ...] REPO
|
|
16
|
-
|
|
17
|
-
Options:
|
|
18
|
-
BANNER
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
data/lib/dapp/dimg/cli/tag.rb
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module CLI
|
|
4
|
-
class Tag < Base
|
|
5
|
-
banner <<BANNER.freeze
|
|
6
|
-
Usage:
|
|
7
|
-
|
|
8
|
-
dapp dimg tag [options] [DIMG] TAG
|
|
9
|
-
|
|
10
|
-
DIMG Dapp image to process [default: *].
|
|
11
|
-
REPO Pushed image name.
|
|
12
|
-
|
|
13
|
-
Options:
|
|
14
|
-
BANNER
|
|
15
|
-
|
|
16
|
-
def run(argv = ARGV)
|
|
17
|
-
self.class.parse_options(self, argv)
|
|
18
|
-
tag = self.class.required_argument(self)
|
|
19
|
-
::Dapp::Dapp.new(cli_options: config, dimgs_patterns: cli_arguments).public_send(class_to_lowercase, tag)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module Config
|
|
4
|
-
class ArtifactDimg < Dimg
|
|
5
|
-
def validate_scratch!
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def validate_artifacts_artifacts!
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def validated_artifacts
|
|
12
|
-
_git_artifact._local + _git_artifact._remote
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module Config
|
|
4
|
-
class ArtifactGroup < DimgGroup
|
|
5
|
-
def export(*args, &blk)
|
|
6
|
-
artifact_config = pass_to_default(ArtifactDimg.new("artifact-#{SecureRandom.hex(2)}", dapp: dapp))
|
|
7
|
-
artifact = Directive::Artifact.new(dapp: dapp, config: artifact_config)
|
|
8
|
-
artifact.export(*args, &blk).tap do
|
|
9
|
-
_export.concat artifact._export
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def _shell(&blk)
|
|
14
|
-
@_shell ||= Directive::Shell::Artifact.new(dapp: dapp, &blk)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def _docker(&blk)
|
|
18
|
-
@_docker ||= Directive::Docker::Artifact.new(dapp: dapp, &blk)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def _export
|
|
22
|
-
@_export ||= []
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def validate!
|
|
26
|
-
_export.each(&:validate!)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
undef :artifact
|
|
30
|
-
undef :dimg
|
|
31
|
-
undef :dimg_group
|
|
32
|
-
|
|
33
|
-
protected
|
|
34
|
-
|
|
35
|
-
def check_dimg_directive_order(_directive)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def check_dimg_group_directive_order(_directive)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
module Dapp
|
|
2
|
-
module Dimg
|
|
3
|
-
module Config
|
|
4
|
-
class Dimg < Base
|
|
5
|
-
module InstanceMethods
|
|
6
|
-
attr_reader :_builder
|
|
7
|
-
attr_reader :_chef, :_shell, :_docker, :_git_artifact, :_mount, :_artifact
|
|
8
|
-
attr_reader :_artifact_groups
|
|
9
|
-
|
|
10
|
-
def dev_mode
|
|
11
|
-
@_dev_mode = true
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def chef(&blk)
|
|
15
|
-
builder(:chef)
|
|
16
|
-
directive_eval(_chef, &blk)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def shell(&blk)
|
|
20
|
-
builder(:shell)
|
|
21
|
-
directive_eval(_shell, &blk)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def docker(&blk)
|
|
25
|
-
directive_eval(_docker, &blk)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def artifact(&blk)
|
|
29
|
-
pass_to_custom(ArtifactGroup.new(dapp: dapp), :clone_to_artifact).tap do |artifact_group|
|
|
30
|
-
_artifact_groups << directive_eval(artifact_group, &blk)
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def git(url = nil, &blk)
|
|
35
|
-
type = url.nil? ? :local : :remote
|
|
36
|
-
_git_artifact.public_send(type, url.to_s, &blk)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def mount(to, &blk)
|
|
40
|
-
Directive::Mount.new(to, dapp: dapp, &blk).tap do |mount|
|
|
41
|
-
_mount << mount
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def _dev_mode
|
|
46
|
-
!!@_dev_mode
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def _builder
|
|
50
|
-
@_builder || :none
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def _chef
|
|
54
|
-
@_chef ||= Directive::Chef.new(dapp: dapp)
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def _shell
|
|
58
|
-
@_shell ||= Directive::Shell::Dimg.new(dapp: dapp)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def _docker
|
|
62
|
-
@_docker ||= Directive::Docker::Dimg.new(dapp: dapp)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def _mount
|
|
66
|
-
@_mount ||= []
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def _git_artifact
|
|
70
|
-
@_git_artifact ||= GitArtifact.new(dapp: dapp)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
[:build_dir, :tmp_dir].each do |mount_type|
|
|
74
|
-
define_method "_#{mount_type}_mount" do
|
|
75
|
-
_mount.select { |m| m._type == mount_type }
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def _artifact_groups
|
|
80
|
-
@_artifact_groups ||= []
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
def _artifact
|
|
84
|
-
_artifact_groups.map(&:_export).flatten
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
[:before, :after].each do |order|
|
|
88
|
-
[:setup, :install].each do |stage|
|
|
89
|
-
define_method "_#{order}_#{stage}_artifact" do
|
|
90
|
-
_artifact.select do |art|
|
|
91
|
-
art.public_send("_#{order}") == stage
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def _import_artifact
|
|
98
|
-
_artifact.select(&:not_associated?)
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
class GitArtifact < Directive::Base
|
|
102
|
-
attr_reader :_local, :_remote
|
|
103
|
-
|
|
104
|
-
def initialize(**kwargs, &blk)
|
|
105
|
-
@_local = []
|
|
106
|
-
@_remote = []
|
|
107
|
-
|
|
108
|
-
super(**kwargs, &blk)
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def local(_, &blk)
|
|
112
|
-
Directive::GitArtifactLocal.new(dapp: dapp, &blk).tap do |git|
|
|
113
|
-
@_local << git
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
def remote(repo_url, &blk)
|
|
118
|
-
Directive::GitArtifactRemote.new(repo_url, dapp: dapp, &blk).tap do |git|
|
|
119
|
-
@_remote << git
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
def _local
|
|
124
|
-
@_local.map(&:_export).flatten
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def _remote
|
|
128
|
-
@_remote.map(&:_export).flatten
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
def empty?
|
|
132
|
-
(_local + _remote).empty?
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
def validate!
|
|
136
|
-
(_local + _remote).each(&:validate!)
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
protected
|
|
141
|
-
|
|
142
|
-
def builder(type)
|
|
143
|
-
@_builder = type if _builder == :none
|
|
144
|
-
raise Error::Config, code: :builder_type_conflict unless @_builder == type
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
def pass_to_default(dimg)
|
|
148
|
-
pass_to_custom(dimg, :clone)
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
def pass_to_custom(obj, clone_method)
|
|
152
|
-
passed_directives.each do |directive|
|
|
153
|
-
next if (variable = instance_variable_get(directive)).nil?
|
|
154
|
-
|
|
155
|
-
obj.instance_variable_set(directive, begin
|
|
156
|
-
case variable
|
|
157
|
-
when Directive::Base, GitArtifact then variable.public_send(clone_method)
|
|
158
|
-
when Symbol then variable
|
|
159
|
-
when Array then variable.dup
|
|
160
|
-
when TrueClass, FalseClass then variable
|
|
161
|
-
else
|
|
162
|
-
raise
|
|
163
|
-
end
|
|
164
|
-
end)
|
|
165
|
-
end
|
|
166
|
-
obj
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
def passed_directives
|
|
170
|
-
[:@_chef, :@_shell, :@_docker,
|
|
171
|
-
:@_git_artifact, :@_mount,
|
|
172
|
-
:@_artifact_groups, :@_builder, :@_dev_mode]
|
|
173
|
-
end
|
|
174
|
-
end # InstanceMethods
|
|
175
|
-
# rubocop:enable Metrics/ModuleLength
|
|
176
|
-
end # Dimg
|
|
177
|
-
end # Config
|
|
178
|
-
end # Dimg
|
|
179
|
-
end # Dapp
|