dapp 0.11.0 → 0.12.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/config/en/net_status.yml +36 -4
- data/lib/dapp.rb +84 -36
- data/lib/dapp/cli.rb +3 -2
- data/lib/dapp/cli/command/base.rb +69 -0
- data/lib/dapp/config/config.rb +17 -0
- data/lib/dapp/config/directive/base.rb +90 -3
- data/lib/dapp/dapp.rb +6 -14
- data/lib/dapp/dapp/dappfile.rb +20 -27
- data/lib/dapp/dapp/deps/base.rb +2 -2
- data/lib/dapp/dapp/lock.rb +1 -1
- data/lib/dapp/dapp/logging/base.rb +11 -7
- data/lib/dapp/dapp/logging/process.rb +4 -2
- data/lib/dapp/dapp/shellout/base.rb +2 -2
- data/lib/dapp/dapp/ssh_agent.rb +2 -2
- data/lib/dapp/deployment.rb +1 -0
- data/lib/dapp/deployment/app.rb +120 -0
- data/lib/dapp/deployment/cli/cli.rb +1 -0
- data/lib/dapp/deployment/cli/command/base.rb +14 -0
- data/lib/dapp/deployment/cli/command/deployment.rb +21 -0
- data/lib/dapp/deployment/cli/command/deployment/apply.rb +26 -0
- data/lib/dapp/deployment/cli/command/deployment/minikube_setup.rb +13 -0
- data/lib/dapp/deployment/cli/command/deployment/mrproper.rb +13 -0
- data/lib/dapp/deployment/cli/command/deployment/secret_generate.rb +13 -0
- data/lib/dapp/deployment/cli/command/deployment/secret_key_generate.rb +13 -0
- data/lib/dapp/deployment/config/config.rb +46 -0
- data/lib/dapp/deployment/config/directive/app.rb +28 -0
- data/lib/dapp/deployment/config/directive/app/instance_methods.rb +51 -0
- data/lib/dapp/deployment/config/directive/base.rb +13 -0
- data/lib/dapp/deployment/config/directive/deployment.rb +11 -0
- data/lib/dapp/deployment/config/directive/expose.rb +68 -0
- data/lib/dapp/deployment/config/directive/group.rb +27 -0
- data/lib/dapp/deployment/config/directive/job.rb +28 -0
- data/lib/dapp/deployment/config/directive/mod/group.rb +22 -0
- data/lib/dapp/deployment/config/directive/mod/jobs.rb +26 -0
- data/lib/dapp/deployment/config/directive/namespace.rb +26 -0
- data/lib/dapp/deployment/config/directive/namespace/instance_methods.rb +37 -0
- data/lib/dapp/deployment/core_ext/hash.rb +19 -0
- data/lib/dapp/deployment/dapp/command/apply.rb +83 -0
- data/lib/dapp/deployment/dapp/command/common.rb +17 -0
- data/lib/dapp/deployment/dapp/command/minikube_setup.rb +393 -0
- data/lib/dapp/deployment/dapp/command/mrproper.rb +12 -0
- data/lib/dapp/deployment/dapp/command/secret_generate.rb +17 -0
- data/lib/dapp/deployment/dapp/command/secret_key_generate.rb +13 -0
- data/lib/dapp/deployment/dapp/dapp.rb +18 -0
- data/lib/dapp/deployment/dapp/dappfile.rb +23 -0
- data/lib/dapp/deployment/deployment.rb +46 -0
- data/lib/dapp/deployment/error/app.rb +7 -0
- data/lib/dapp/deployment/error/base.rb +7 -0
- data/lib/dapp/deployment/error/command.rb +7 -0
- data/lib/dapp/deployment/error/config.rb +7 -0
- data/lib/dapp/deployment/error/deployment.rb +7 -0
- data/lib/dapp/deployment/error/kubernetes.rb +7 -0
- data/lib/dapp/deployment/kube_app.rb +277 -0
- data/lib/dapp/deployment/kube_base.rb +97 -0
- data/lib/dapp/deployment/kube_deployment.rb +51 -0
- data/lib/dapp/deployment/kubernetes.rb +174 -0
- data/lib/dapp/deployment/kubernetes/error.rb +20 -0
- data/lib/dapp/deployment/mod/jobs.rb +37 -0
- data/lib/dapp/deployment/mod/namespace.rb +58 -0
- data/lib/dapp/deployment/mod/system_environments.rb +30 -0
- data/lib/dapp/deployment/secret.rb +93 -0
- data/lib/dapp/dimg/artifact.rb +1 -1
- data/lib/dapp/dimg/build/stage/artifact_default.rb +35 -23
- data/lib/dapp/dimg/build/stage/base.rb +1 -1
- data/lib/dapp/dimg/build/stage/before_setup.rb +0 -2
- data/lib/dapp/dimg/build/stage/build_artifact.rb +0 -2
- data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +2 -2
- data/lib/dapp/dimg/build/stage/install/install.rb +0 -1
- data/lib/dapp/dimg/build/stage/setup/setup.rb +0 -1
- data/lib/dapp/dimg/cli/cli.rb +1 -1
- data/lib/dapp/dimg/cli/command/base.rb +14 -0
- data/lib/dapp/dimg/cli/{dimg.rb → command/dimg.rb} +5 -7
- data/lib/dapp/dimg/cli/{bp.rb → command/dimg/bp.rb} +3 -3
- data/lib/dapp/dimg/cli/{build.rb → command/dimg/build.rb} +3 -3
- data/lib/dapp/dimg/cli/{build_context.rb → command/dimg/build_context.rb} +3 -3
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/export.rb +4 -4
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/import.rb +4 -4
- data/lib/dapp/dimg/cli/{cleanup.rb → command/dimg/cleanup.rb} +3 -3
- data/lib/dapp/dimg/cli/{list.rb → command/dimg/list.rb} +3 -3
- data/lib/dapp/dimg/cli/{mrproper.rb → command/dimg/mrproper.rb} +4 -4
- data/lib/dapp/dimg/cli/{push.rb → command/dimg/push.rb} +5 -5
- data/lib/dapp/dimg/cli/{run.rb → command/dimg/run.rb} +8 -8
- 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} +3 -3
- data/lib/dapp/dimg/cli/{stages.rb → command/dimg/stages.rb} +3 -3
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_local.rb +6 -6
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_repo.rb +5 -5
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_local.rb +5 -5
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/flush_repo.rb +6 -6
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/pull.rb +6 -6
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/push.rb +6 -6
- data/lib/dapp/dimg/cli/{tag.rb → command/dimg/tag.rb} +6 -6
- data/lib/dapp/dimg/config/config.rb +20 -0
- data/lib/dapp/dimg/config/directive/artifact_dimg.rb +19 -0
- data/lib/dapp/dimg/config/directive/artifact_group.rb +45 -0
- data/lib/dapp/dimg/config/directive/dimg.rb +36 -0
- data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +149 -0
- data/lib/dapp/dimg/config/directive/dimg/validation.rb +128 -0
- data/lib/dapp/dimg/config/directive/dimg_group.rb +64 -0
- data/lib/dapp/dimg/config/directive/dimg_group_base.rb +46 -0
- data/lib/dapp/dimg/config/directive/docker/dimg.rb +4 -4
- data/lib/dapp/dimg/config/directive/shell/dimg.rb +1 -1
- data/lib/dapp/dimg/dapp/command/bp.rb +4 -4
- data/lib/dapp/dimg/dapp/command/build.rb +2 -2
- data/lib/dapp/dimg/dapp/command/build_context/common.rb +2 -2
- data/lib/dapp/dimg/dapp/command/build_context/export.rb +1 -1
- data/lib/dapp/dimg/dapp/command/build_context/import.rb +1 -1
- data/lib/dapp/dimg/dapp/command/cleanup.rb +1 -1
- data/lib/dapp/dimg/dapp/command/common.rb +19 -4
- data/lib/dapp/dimg/dapp/command/list.rb +1 -1
- data/lib/dapp/dimg/dapp/command/mrproper.rb +3 -3
- data/lib/dapp/dimg/dapp/command/push.rb +6 -5
- data/lib/dapp/dimg/dapp/command/run.rb +1 -1
- data/lib/dapp/dimg/dapp/command/spush.rb +4 -3
- data/lib/dapp/dimg/dapp/command/stage_image.rb +2 -2
- data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +1 -1
- data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +3 -3
- data/lib/dapp/dimg/dapp/command/stages/common.rb +4 -4
- data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +1 -1
- data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +1 -1
- data/lib/dapp/dimg/dapp/command/stages/pull.rb +5 -4
- data/lib/dapp/dimg/dapp/command/stages/push.rb +4 -3
- data/lib/dapp/dimg/dapp/command/tag.rb +3 -2
- data/lib/dapp/dimg/dapp/dapp.rb +33 -0
- data/lib/dapp/dimg/dapp/dappfile.rb +25 -0
- data/lib/dapp/dimg/dimg.rb +3 -3
- data/lib/dapp/dimg/dimg/path.rb +1 -1
- data/lib/dapp/dimg/dimg/stages.rb +1 -1
- data/lib/dapp/dimg/dimg/tags.rb +5 -5
- data/lib/dapp/dimg/docker_registry.rb +3 -7
- data/lib/dapp/dimg/git_artifact.rb +30 -14
- data/lib/dapp/dimg/git_repo/base.rb +13 -1
- data/lib/dapp/dimg/git_repo/own.rb +9 -1
- data/lib/dapp/dimg/image/docker.rb +9 -3
- data/lib/dapp/helper/cli.rb +3 -1
- data/lib/dapp/helper/net_status.rb +5 -1
- data/lib/dapp/helper/trivia.rb +1 -1
- data/lib/dapp/version.rb +2 -2
- metadata +84 -38
- data/lib/dapp/cli/base.rb +0 -63
- data/lib/dapp/config/base.rb +0 -54
- data/lib/dapp/dimg/build/stage/mod/git_artifact_dependencies.rb +0 -23
- data/lib/dapp/dimg/cli/base.rb +0 -16
- 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.rb +0 -24
- 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_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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75c3a3047f2f78af31a7a33c972454b929a165f2
|
4
|
+
data.tar.gz: 9047d134234568ac750fd1ba4726e6628a9e515d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0d3db56d2c2035b3a4c4a1e4f9f71c72874201110de648f880ad3b853d794f316438b8f8e5988b5941a9cacf0ee32ffd08ba02a98783a524b3629fa455fb947
|
7
|
+
data.tar.gz: 0e03117d5a43c2c1285ad2c77e3be37ce6c3a4d0d58b2a9c2da4652508694cca346b6cc1aac49e4d87442c62295baf23af19ab4fbb28da3bfa484f3f7407c0d7
|
data/config/en/net_status.yml
CHANGED
@@ -22,18 +22,23 @@ en:
|
|
22
22
|
command_unexpected_dimgs_number: "Command can process only one dimg!\nAmbiguous dimg pattern: `%{dimgs_names}`!"
|
23
23
|
mrproper_required_option: "Expected command option `--improper-dev-mode-cache`, `--improper-cache-version-stages` or `--all`!"
|
24
24
|
stages_cleanup_required_option: "Expected command option `--improper-cache-version`, `--improper-git-commit` or `--improper-repo-cache`!"
|
25
|
-
|
26
|
-
|
25
|
+
repo_name_incorrect: "Incorrect repo name `%{name}` given!"
|
26
|
+
image_name_incorrect: "Incorrect image name `%{name}` given!"
|
27
|
+
tag_name_incorrect: "Incorrect tag name `%{name}` given!"
|
27
28
|
context_directory_not_found: "Context directory `%{path}` not found!"
|
28
29
|
stored_build_dir_already_exist: "Cannot store current build_dir `%{path}`: restore or delete old build_dir!"
|
30
|
+
secret_key_not_found: "Secret key `DAPP_SECRET_KEY` not found!"
|
31
|
+
minikube_not_found: "Minikube not found: install minikube (https://github.com/kubernetes/minikube/releases)!"
|
32
|
+
minikube_not_started: "Minikube not started!"
|
29
33
|
dapp:
|
30
34
|
no_such_dimg: "No such dimg: `%{dimgs_patterns}`!"
|
35
|
+
no_such_app: "No such app: `%{apps_patterns}`!"
|
31
36
|
dappfile_not_found: "Dappfile not found!"
|
32
37
|
cannot_run_ssh_agent: "Cannot run ssh-agent"
|
33
38
|
ssh_key_not_found: "Ssh key `%{path}` not exist!"
|
34
39
|
config:
|
35
40
|
dimg_name_required: 'Dimg name required!'
|
36
|
-
dimg_name_incorrect: "Dimg has incorrect name `%{
|
41
|
+
dimg_name_incorrect: "Dimg has incorrect name `%{value}`: doesn't match regex `%{pattern}`!"
|
37
42
|
mount_from_required: "Mount: `from` directive required!"
|
38
43
|
export_to_required: "Export: `to` directive required!"
|
39
44
|
add_to_required: "Add: `to` directive required!"
|
@@ -45,7 +50,6 @@ en:
|
|
45
50
|
mount_from_absolute_path_required: "Mount: given `from` path must be absolute!"
|
46
51
|
mount_from_type_required: "Mount: `from` directive expect `build_dir` or `tmp_dir` type!"
|
47
52
|
builder_type_conflict: 'Conflict between builder types!'
|
48
|
-
builder_type_unsupported: "Defined unsupported builder type `%{type}`!"
|
49
53
|
docker_from_incorrect: "`docker.from` has incorrect value `%{name}`!"
|
50
54
|
docker_from_without_tag: "`docker.from`: image `%{name}` without tag!"
|
51
55
|
stage_artifact_not_associated: "Artifact not associated with any stage: expected `before` or `after` attribute!"
|
@@ -58,6 +62,22 @@ en:
|
|
58
62
|
scratch_artifact_required: "Scratch dimg without artifacts!"
|
59
63
|
scratch_artifact_associated: "Scratch artifact cannot be associated: not expected `before`/`after` attribute!"
|
60
64
|
scratch_artifact_docker_from: "Scratch artifact must have directive `docker.from`!"
|
65
|
+
unsupported_scale_value: "Define unsupported scale value `%{value}`!"
|
66
|
+
app_name_required: 'App name required!'
|
67
|
+
app_dimg_not_found: 'Not found dimg `%{dimg}` for app `%{app}`!'
|
68
|
+
app_dimg_not_defined: 'Not defined dimg for app `%{app}`!'
|
69
|
+
app_bootstrap_dimg_not_defined: "Not defined dimg for app.bootstrap!"
|
70
|
+
app_bootstrap_dimg_not_found: "Not found dimg `%{dimg}` for app.bootstrap!"
|
71
|
+
app_before_apply_job_dimg_not_defined: "Not defined dimg for app.before_apply_job!"
|
72
|
+
app_before_apply_job_dimg_not_found: "Not found dimg `%{dimg}` for app.before_apply_job!"
|
73
|
+
unsupported_port_number: 'Port number `%{number}` doesn`t support!'
|
74
|
+
unsupported_target_number: 'Target number `%{number}` doesn`t support!'
|
75
|
+
app_name_incorrect: "App has incorrect name `%{value}`: doesn't match regex `%{pattern}`!"
|
76
|
+
namespace_name_incorrect: "Namespace has incorrect name `%{value}`: doesn't match regex `%{pattern}`!"
|
77
|
+
deployment_bootstrap_dimg_not_defined: "Not defined dimg for deployment.bootstrap!"
|
78
|
+
deployment_bootstrap_dimg_not_found: "Not found dimg `%{dimg}` for deployment.bootstrap!"
|
79
|
+
deployment_before_apply_job_dimg_not_defined: "Not defined dimg for deployment.before_apply_job!"
|
80
|
+
deployment_before_apply_job_dimg_not_found: "Not found dimg `%{dimg}` for deployment.before_apply_job!"
|
61
81
|
chef:
|
62
82
|
stage_checksum_not_calculated: "Chef stage `%{stage}` checksum is not calculated yet, run build first"
|
63
83
|
stage_path_overlap: "Cannot install `%{cookbook}` cookbook's path %{from} into %{to}: already exists"
|
@@ -77,3 +97,15 @@ en:
|
|
77
97
|
branch_not_exist_in_remote_git_repository: "Remote git repo `%{url}`: branch `%{branch}` not exist!"
|
78
98
|
lock:
|
79
99
|
timeout: "Could not obtain lock for `%{name}` within %{timeout} seconds"
|
100
|
+
app:
|
101
|
+
namespace_not_found: "App `%{name}`: namespace `%{namespace}` not found!"
|
102
|
+
namespace_not_defined: "App `%{name}`: namespace not defined!"
|
103
|
+
deployment:
|
104
|
+
namespace_not_found: "Deployment `%{name}`: namespace `%{namespace}` not found!"
|
105
|
+
namespace_not_defined: "Deployment `%{name}`: namespace not defined!"
|
106
|
+
bootstrap_failed: "Bootstrap failed:\n phase: `%{phase}`\n message: `%{message}`"
|
107
|
+
bootstrap_command_failed: "Bootstrap failed:\n reason: `%{reason}`\n message: `%{message}`\n exit_code: `%{exit_code}`"
|
108
|
+
bootstrap_image_not_found: "Bootstrap failed because `%{reason}`: `%{message}`"
|
109
|
+
kubernetes:
|
110
|
+
kube_config_not_found: "Kube config `%{path}` not found!"
|
111
|
+
kube_server_connection_refused: "Kube server `%{url}` connection refused!"
|
data/lib/dapp.rb
CHANGED
@@ -18,8 +18,10 @@ require 'inifile'
|
|
18
18
|
require 'rugged'
|
19
19
|
require 'rubygems/package'
|
20
20
|
require 'murmurhash3'
|
21
|
-
|
22
21
|
require 'net_status'
|
22
|
+
require 'yaml'
|
23
|
+
require 'openssl'
|
24
|
+
require 'etc'
|
23
25
|
|
24
26
|
require 'dapp/version'
|
25
27
|
require 'dapp/core_ext/hash'
|
@@ -35,9 +37,9 @@ require 'dapp/error/dappfile'
|
|
35
37
|
require 'dapp/error/shellout'
|
36
38
|
require 'dapp/exception/base'
|
37
39
|
require 'dapp/cli'
|
38
|
-
require 'dapp/cli/base'
|
39
|
-
require 'dapp/config/base'
|
40
|
+
require 'dapp/cli/command/base'
|
40
41
|
require 'dapp/config/directive/base'
|
42
|
+
require 'dapp/config/config'
|
41
43
|
require 'dapp/config/error/config'
|
42
44
|
require 'dapp/dapp/lock'
|
43
45
|
require 'dapp/dapp/ssh_agent'
|
@@ -53,6 +55,53 @@ require 'dapp/dapp/deps/gitartifact'
|
|
53
55
|
require 'dapp/dapp/shellout/streaming'
|
54
56
|
require 'dapp/dapp/shellout/base'
|
55
57
|
require 'dapp/dapp'
|
58
|
+
require 'dapp/deployment'
|
59
|
+
require 'dapp/deployment/config/directive/mod/group'
|
60
|
+
require 'dapp/deployment/config/directive/mod/jobs'
|
61
|
+
require 'dapp/deployment/error/base'
|
62
|
+
require 'dapp/deployment/error/config'
|
63
|
+
require 'dapp/deployment/error/app'
|
64
|
+
require 'dapp/deployment/error/command'
|
65
|
+
require 'dapp/deployment/error/kubernetes'
|
66
|
+
require 'dapp/deployment/error/deployment'
|
67
|
+
require 'dapp/deployment/config/directive/base'
|
68
|
+
require 'dapp/deployment/config/directive/expose'
|
69
|
+
require 'dapp/deployment/config/directive/namespace/instance_methods'
|
70
|
+
require 'dapp/deployment/config/directive/namespace'
|
71
|
+
require 'dapp/deployment/config/directive/app/instance_methods'
|
72
|
+
require 'dapp/deployment/config/directive/app'
|
73
|
+
require 'dapp/deployment/config/directive/group'
|
74
|
+
require 'dapp/deployment/config/directive/deployment'
|
75
|
+
require 'dapp/deployment/config/directive/job'
|
76
|
+
require 'dapp/deployment/config/config'
|
77
|
+
require 'dapp/deployment/core_ext/hash'
|
78
|
+
require 'dapp/deployment/mod/namespace'
|
79
|
+
require 'dapp/deployment/mod/system_environments'
|
80
|
+
require 'dapp/deployment/mod/jobs'
|
81
|
+
require 'dapp/deployment/app'
|
82
|
+
require 'dapp/deployment/deployment'
|
83
|
+
require 'dapp/deployment/kube_base'
|
84
|
+
require 'dapp/deployment/kube_app'
|
85
|
+
require 'dapp/deployment/kube_deployment'
|
86
|
+
require 'dapp/deployment/kubernetes'
|
87
|
+
require 'dapp/deployment/kubernetes/error'
|
88
|
+
require 'dapp/deployment/cli/command/base'
|
89
|
+
require 'dapp/deployment/cli/command/deployment'
|
90
|
+
require 'dapp/deployment/cli/command/deployment/apply'
|
91
|
+
require 'dapp/deployment/cli/command/deployment/mrproper'
|
92
|
+
require 'dapp/deployment/cli/command/deployment/secret_key_generate'
|
93
|
+
require 'dapp/deployment/cli/command/deployment/secret_generate'
|
94
|
+
require 'dapp/deployment/cli/command/deployment/minikube_setup'
|
95
|
+
require 'dapp/deployment/cli/cli'
|
96
|
+
require 'dapp/deployment/dapp/command/mrproper'
|
97
|
+
require 'dapp/deployment/dapp/command/apply'
|
98
|
+
require 'dapp/deployment/dapp/command/secret_key_generate'
|
99
|
+
require 'dapp/deployment/dapp/command/secret_generate'
|
100
|
+
require 'dapp/deployment/dapp/command/minikube_setup'
|
101
|
+
require 'dapp/deployment/dapp/command/common'
|
102
|
+
require 'dapp/deployment/dapp/dappfile'
|
103
|
+
require 'dapp/deployment/dapp/dapp'
|
104
|
+
require 'dapp/deployment/secret'
|
56
105
|
require 'dapp/dimg'
|
57
106
|
require 'dapp/dimg/builder'
|
58
107
|
require 'dapp/dimg/builder/base'
|
@@ -64,7 +113,6 @@ require 'dapp/dimg/builder/shell'
|
|
64
113
|
require 'dapp/dimg/builder/none'
|
65
114
|
require 'dapp/dimg/build/stage/mod/logging'
|
66
115
|
require 'dapp/dimg/build/stage/mod/group'
|
67
|
-
require 'dapp/dimg/build/stage/mod/git_artifact_dependencies'
|
68
116
|
require 'dapp/dimg/build/stage/base'
|
69
117
|
require 'dapp/dimg/build/stage/ga_base'
|
70
118
|
require 'dapp/dimg/build/stage/ga_dependencies_base'
|
@@ -94,39 +142,37 @@ require 'dapp/dimg/build/stage/ga_latest_patch'
|
|
94
142
|
require 'dapp/dimg/build/stage/docker_instructions'
|
95
143
|
require 'dapp/dimg/build/stage/ga_artifact_patch'
|
96
144
|
require 'dapp/dimg/build/stage/build_artifact'
|
97
|
-
require 'dapp/dimg/cli/base'
|
98
|
-
require 'dapp/dimg/cli/dimg'
|
99
|
-
require 'dapp/dimg/cli/build'
|
100
|
-
require 'dapp/dimg/cli/push'
|
101
|
-
require 'dapp/dimg/cli/spush'
|
102
|
-
require 'dapp/dimg/cli/tag'
|
103
|
-
require 'dapp/dimg/cli/list'
|
104
|
-
require 'dapp/dimg/cli/build_context'
|
105
|
-
require 'dapp/dimg/cli/build_context/export'
|
106
|
-
require 'dapp/dimg/cli/build_context/import'
|
107
|
-
require 'dapp/dimg/cli/stages'
|
108
|
-
require 'dapp/dimg/cli/stages/flush_local'
|
109
|
-
require 'dapp/dimg/cli/stages/flush_repo'
|
110
|
-
require 'dapp/dimg/cli/stages/cleanup_local'
|
111
|
-
require 'dapp/dimg/cli/stages/cleanup_repo'
|
112
|
-
require 'dapp/dimg/cli/stages/push'
|
113
|
-
require 'dapp/dimg/cli/stages/pull'
|
114
|
-
require 'dapp/dimg/cli/run'
|
115
|
-
require 'dapp/dimg/cli/cleanup'
|
116
|
-
require 'dapp/dimg/cli/bp'
|
117
|
-
require 'dapp/dimg/cli/mrproper'
|
118
|
-
require 'dapp/dimg/cli/stage_image'
|
145
|
+
require 'dapp/dimg/cli/command/base'
|
146
|
+
require 'dapp/dimg/cli/command/dimg'
|
147
|
+
require 'dapp/dimg/cli/command/dimg/build'
|
148
|
+
require 'dapp/dimg/cli/command/dimg/push'
|
149
|
+
require 'dapp/dimg/cli/command/dimg/spush'
|
150
|
+
require 'dapp/dimg/cli/command/dimg/tag'
|
151
|
+
require 'dapp/dimg/cli/command/dimg/list'
|
152
|
+
require 'dapp/dimg/cli/command/dimg/build_context'
|
153
|
+
require 'dapp/dimg/cli/command/dimg/build_context/export'
|
154
|
+
require 'dapp/dimg/cli/command/dimg/build_context/import'
|
155
|
+
require 'dapp/dimg/cli/command/dimg/stages'
|
156
|
+
require 'dapp/dimg/cli/command/dimg/stages/flush_local'
|
157
|
+
require 'dapp/dimg/cli/command/dimg/stages/flush_repo'
|
158
|
+
require 'dapp/dimg/cli/command/dimg/stages/cleanup_local'
|
159
|
+
require 'dapp/dimg/cli/command/dimg/stages/cleanup_repo'
|
160
|
+
require 'dapp/dimg/cli/command/dimg/stages/push'
|
161
|
+
require 'dapp/dimg/cli/command/dimg/stages/pull'
|
162
|
+
require 'dapp/dimg/cli/command/dimg/run'
|
163
|
+
require 'dapp/dimg/cli/command/dimg/cleanup'
|
164
|
+
require 'dapp/dimg/cli/command/dimg/bp'
|
165
|
+
require 'dapp/dimg/cli/command/dimg/mrproper'
|
166
|
+
require 'dapp/dimg/cli/command/dimg/stage_image'
|
119
167
|
require 'dapp/dimg/cli/cli'
|
120
|
-
require 'dapp/dimg/config/base'
|
121
168
|
require 'dapp/dimg/config/directive/base'
|
122
|
-
require 'dapp/dimg/config/dimg/instance_methods'
|
123
|
-
require 'dapp/dimg/config/dimg/validation'
|
124
|
-
require 'dapp/dimg/config/dimg'
|
125
|
-
require 'dapp/dimg/config/artifact_dimg'
|
126
|
-
require 'dapp/dimg/config/dimg_group_base'
|
127
|
-
require 'dapp/dimg/config/
|
128
|
-
require 'dapp/dimg/config/
|
129
|
-
require 'dapp/dimg/config/artifact_group'
|
169
|
+
require 'dapp/dimg/config/directive/dimg/instance_methods'
|
170
|
+
require 'dapp/dimg/config/directive/dimg/validation'
|
171
|
+
require 'dapp/dimg/config/directive/dimg'
|
172
|
+
require 'dapp/dimg/config/directive/artifact_dimg'
|
173
|
+
require 'dapp/dimg/config/directive/dimg_group_base'
|
174
|
+
require 'dapp/dimg/config/directive/dimg_group'
|
175
|
+
require 'dapp/dimg/config/directive/artifact_group'
|
130
176
|
require 'dapp/dimg/config/directive/artifact_base'
|
131
177
|
require 'dapp/dimg/config/directive/git_artifact_local'
|
132
178
|
require 'dapp/dimg/config/directive/git_artifact_remote'
|
@@ -138,6 +184,7 @@ require 'dapp/dimg/config/directive/docker/base'
|
|
138
184
|
require 'dapp/dimg/config/directive/docker/dimg'
|
139
185
|
require 'dapp/dimg/config/directive/docker/artifact'
|
140
186
|
require 'dapp/dimg/config/directive/mount'
|
187
|
+
require 'dapp/dimg/config/config'
|
141
188
|
require 'dapp/dimg/dapp/command/common'
|
142
189
|
require 'dapp/dimg/dapp/command/build'
|
143
190
|
require 'dapp/dimg/dapp/command/bp'
|
@@ -159,7 +206,8 @@ require 'dapp/dimg/dapp/command/stages/pull'
|
|
159
206
|
require 'dapp/dimg/dapp/command/build_context/export'
|
160
207
|
require 'dapp/dimg/dapp/command/build_context/import'
|
161
208
|
require 'dapp/dimg/dapp/command/build_context/common'
|
162
|
-
require 'dapp/dimg/dapp/
|
209
|
+
require 'dapp/dimg/dapp/dappfile'
|
210
|
+
require 'dapp/dimg/dapp/dapp'
|
163
211
|
require 'dapp/dimg/docker_registry'
|
164
212
|
require 'dapp/dimg/docker_registry/base/request'
|
165
213
|
require 'dapp/dimg/docker_registry/base/authorization'
|
data/lib/dapp/cli.rb
CHANGED
@@ -5,14 +5,15 @@ module Dapp
|
|
5
5
|
extend Helper::Cli
|
6
6
|
include Helper::Trivia
|
7
7
|
|
8
|
-
SUBCOMMANDS = ['dimg'].freeze
|
8
|
+
SUBCOMMANDS = ['dimg', 'deployment'].freeze
|
9
9
|
|
10
10
|
banner <<BANNER.freeze
|
11
|
-
Usage: dapp
|
11
|
+
Usage: dapp sub-command [sub-command options]
|
12
12
|
|
13
13
|
Available subcommands: (for details, dapp SUB-COMMAND --help)
|
14
14
|
|
15
15
|
dapp dimg
|
16
|
+
dapp deployment
|
16
17
|
|
17
18
|
Options:
|
18
19
|
BANNER
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module Dapp
|
2
|
+
class CLI
|
3
|
+
module Command
|
4
|
+
class Base < ::Dapp::CLI
|
5
|
+
option :dir,
|
6
|
+
long: '--dir PATH',
|
7
|
+
description: 'Change to directory',
|
8
|
+
on: :head
|
9
|
+
|
10
|
+
option :build_dir,
|
11
|
+
long: '--build-dir PATH',
|
12
|
+
description: 'Directory where build cache stored (DIR/.dapp_build by default)'
|
13
|
+
|
14
|
+
option :log_quiet,
|
15
|
+
short: '-q',
|
16
|
+
long: '--quiet',
|
17
|
+
description: 'Suppress logging',
|
18
|
+
default: false,
|
19
|
+
boolean: true
|
20
|
+
|
21
|
+
option :log_verbose,
|
22
|
+
long: '--verbose',
|
23
|
+
description: 'Enable verbose output',
|
24
|
+
default: false,
|
25
|
+
boolean: true
|
26
|
+
|
27
|
+
option :log_time,
|
28
|
+
long: '--time',
|
29
|
+
description: 'Enable output with time',
|
30
|
+
default: false,
|
31
|
+
boolean: true
|
32
|
+
|
33
|
+
option :ignore_config_warning,
|
34
|
+
long: '--ignore-config-sequential-processing-warnings',
|
35
|
+
default: false,
|
36
|
+
boolean: true
|
37
|
+
|
38
|
+
option :log_color,
|
39
|
+
long: '--color MODE',
|
40
|
+
description: 'Display output in color on the terminal',
|
41
|
+
in: %w(auto on off),
|
42
|
+
default: 'auto'
|
43
|
+
|
44
|
+
option :dry_run,
|
45
|
+
long: '--dry-run',
|
46
|
+
default: false,
|
47
|
+
boolean: true
|
48
|
+
|
49
|
+
option :dev,
|
50
|
+
long: '--dev',
|
51
|
+
default: false,
|
52
|
+
boolean: true
|
53
|
+
|
54
|
+
def initialize
|
55
|
+
self.class.options.merge!(Base.options)
|
56
|
+
super()
|
57
|
+
end
|
58
|
+
|
59
|
+
def run(_argv = ARGV)
|
60
|
+
raise
|
61
|
+
end
|
62
|
+
|
63
|
+
def cli_options(**kvargs)
|
64
|
+
config.merge(**kvargs)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -1,20 +1,107 @@
|
|
1
1
|
module Dapp
|
2
2
|
module Config
|
3
3
|
module Directive
|
4
|
-
class Base
|
4
|
+
class Base
|
5
|
+
def initialize(dapp:, &blk)
|
6
|
+
@dapp = dapp
|
7
|
+
initialize_variables
|
8
|
+
instance_eval(&blk) if block_given?
|
9
|
+
end
|
10
|
+
|
5
11
|
def clone
|
6
12
|
_clone
|
7
13
|
end
|
8
14
|
|
9
15
|
protected
|
10
16
|
|
17
|
+
attr_reader :dapp
|
18
|
+
|
19
|
+
def path_format(path)
|
20
|
+
path.to_s.chomp('/')
|
21
|
+
end
|
22
|
+
|
23
|
+
def validate_compliance!(pattern, value, error_code)
|
24
|
+
raise Error::Config, code: error_code, data: { value: value, pattern: pattern } unless /^#{pattern}$/ =~ value
|
25
|
+
end
|
26
|
+
|
27
|
+
def initialize_variables
|
28
|
+
do_all!('_init_variables!')
|
29
|
+
end
|
30
|
+
|
31
|
+
def do_all!(postfix)
|
32
|
+
methods
|
33
|
+
.select { |m| m.to_s.end_with? postfix }
|
34
|
+
.each(&method(:send))
|
35
|
+
end
|
36
|
+
|
37
|
+
def directive_eval(directive, &blk)
|
38
|
+
directive.instance_eval(&blk) if block_given?
|
39
|
+
directive
|
40
|
+
end
|
41
|
+
|
11
42
|
def sub_directive_eval
|
12
43
|
yield if block_given?
|
13
44
|
self
|
14
45
|
end
|
15
46
|
|
16
|
-
def
|
17
|
-
|
47
|
+
def pass_to(obj, clone_method = :clone)
|
48
|
+
passed_directives.each do |directive|
|
49
|
+
next if (variable = instance_variable_get(directive)).nil?
|
50
|
+
|
51
|
+
obj.instance_variable_set(directive, begin
|
52
|
+
case variable
|
53
|
+
when Base then variable.public_send(clone_method)
|
54
|
+
when String, Symbol, Integer, TrueClass, FalseClass then variable
|
55
|
+
when Array, Hash then marshal_clone(variable)
|
56
|
+
else
|
57
|
+
raise
|
58
|
+
end
|
59
|
+
end)
|
60
|
+
end
|
61
|
+
obj
|
62
|
+
end
|
63
|
+
|
64
|
+
def passed_directives
|
65
|
+
[]
|
66
|
+
end
|
67
|
+
|
68
|
+
def ref_variables
|
69
|
+
[:@dapp]
|
70
|
+
end
|
71
|
+
|
72
|
+
def marshal_dump
|
73
|
+
instance_variables
|
74
|
+
.reject {|variable| ref_variables.include? variable}
|
75
|
+
.map {|variable| [variable, instance_variable_get(variable)]}
|
76
|
+
end
|
77
|
+
|
78
|
+
def marshal_load(variable_values)
|
79
|
+
variable_values.each do |variable, value|
|
80
|
+
instance_variable_set(variable, value)
|
81
|
+
end
|
82
|
+
|
83
|
+
self
|
84
|
+
end
|
85
|
+
|
86
|
+
def _clone
|
87
|
+
marshal_clone(self).tap do |obj|
|
88
|
+
_set_ref_variables_to(obj)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def _clone_to(obj)
|
93
|
+
obj.marshal_load(marshal_dump)
|
94
|
+
_set_ref_variables_to(obj)
|
95
|
+
end
|
96
|
+
|
97
|
+
def _set_ref_variables_to(obj)
|
98
|
+
ref_variables.each do |ref_variable|
|
99
|
+
obj.instance_variable_set(ref_variable, instance_variable_get(ref_variable))
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
def marshal_clone(obj)
|
104
|
+
Marshal.load(Marshal.dump(obj))
|
18
105
|
end
|
19
106
|
end
|
20
107
|
end
|