dapp 0.11.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|