dapp 0.12.8 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dapp +0 -4
- data/config/en/common.yml +1 -0
- data/config/en/net_status.yml +5 -0
- data/lib/dapp.rb +20 -8
- data/lib/dapp/cli.rb +2 -5
- data/lib/dapp/cli/command/base.rb +1 -5
- data/lib/dapp/dapp.rb +0 -22
- data/lib/dapp/dapp/shellout/streaming.rb +2 -2
- data/lib/dapp/deployment/cli/command/deployment.rb +1 -3
- data/lib/dapp/deployment/cli/command/deployment/apply.rb +1 -1
- data/lib/dapp/deployment/dapp/dapp.rb +0 -2
- data/lib/dapp/dimg/cli/command/base.rb +4 -0
- data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +1 -3
- data/lib/dapp/dimg/dimg.rb +1 -0
- data/lib/dapp/dimg/dimg/path.rb +0 -6
- data/lib/dapp/helper/trivia.rb +4 -0
- data/lib/dapp/kube.rb +1 -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.rb +21 -0
- data/lib/dapp/kube/cli/command/kube/deploy.rb +30 -0
- data/lib/dapp/kube/cli/command/kube/dismiss.rb +21 -0
- data/lib/dapp/kube/cli/command/kube/secret_file_encrypt.rb +23 -0
- data/lib/dapp/kube/cli/command/kube/secret_generate.rb +13 -0
- data/lib/dapp/kube/cli/command/kube/secret_key_generate.rb +13 -0
- data/lib/dapp/kube/dapp/command/common.rb +29 -0
- data/lib/dapp/kube/dapp/command/deploy.rb +192 -0
- data/lib/dapp/kube/dapp/command/dismiss.rb +25 -0
- data/lib/dapp/kube/dapp/command/secret_file_encrypt.rb +22 -0
- data/lib/dapp/{deployment → kube}/dapp/command/secret_generate.rb +3 -3
- data/lib/dapp/{deployment → kube}/dapp/command/secret_key_generate.rb +2 -2
- data/lib/dapp/kube/dapp/dapp.rb +16 -0
- data/lib/dapp/kube/error/base.rb +7 -0
- data/lib/dapp/kube/error/command.rb +7 -0
- data/lib/dapp/kube/kubernetes.rb +191 -0
- data/lib/dapp/kube/secret.rb +93 -0
- data/lib/dapp/version.rb +1 -1
- metadata +23 -37
- data/lib/dapp/dapp/sentry.rb +0 -112
- data/lib/dapp/deployment/cli/command/deployment/secret_generate.rb +0 -13
- data/lib/dapp/deployment/cli/command/deployment/secret_key_generate.rb +0 -13
- data/lib/dapp/helper/url.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc7114fd303ed284e6a00e4e35047b43577d346d
|
4
|
+
data.tar.gz: 4a5e24ab8bcbf23b781a97988be0a975188d75db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6581f92f31676b7e98707f2774ca3afed77ba3420cb8ebb5617d40c11a203077f5750c71607d7767e5c94d3b9551ee5413b2ad8a540bc2a71de670b7e9fd9cf4
|
7
|
+
data.tar.gz: bb0284c586d5d24679a55e97c4eeb23e2bf23a847ad5365f595876bca37ecf85ea9e959a79668fbc95fd1ed2f6345645a834a71d0dcc2e4cf277158127fae7f1
|
data/bin/dapp
CHANGED
data/config/en/common.yml
CHANGED
@@ -54,6 +54,7 @@ en:
|
|
54
54
|
stage_artifact_rewritten: "WARNING: Artifact stage rewritten from %{conflict_stage} to %{stage}."
|
55
55
|
recipe_does_not_used: "WARNING: Recipe `%{recipe}` doesn't used in any stage."
|
56
56
|
context_archive_not_found: "WARNING: context archive `%{path}` not found!"
|
57
|
+
dapp_secret_key_not_found: "Secrets haven't decoded: set `DAPP_SECRET_KEY`!"
|
57
58
|
group:
|
58
59
|
install: 'Install group'
|
59
60
|
setup: 'Setup group'
|
data/config/en/net_status.yml
CHANGED
@@ -30,6 +30,11 @@ en:
|
|
30
30
|
secret_key_not_found: "Secret key `DAPP_SECRET_KEY` not found!"
|
31
31
|
minikube_not_found: "Minikube not found: install minikube (https://github.com/kubernetes/minikube/releases)!"
|
32
32
|
minikube_not_started: "Minikube not started!"
|
33
|
+
project_helm_chart_not_found: "Project helm chart `%{path}` not found!"
|
34
|
+
helm_not_found: "Helm not found: install helm (https://github.com/kubernetes/helm/blob/master/docs/install.md)"
|
35
|
+
helm_release_not_exist: "Helm release `%{name}` not exist!"
|
36
|
+
file_not_exist: "File `%{path}` doesn't exist!"
|
37
|
+
helm_directory_not_exist: "Helm directory doesn't exist in project!"
|
33
38
|
dapp:
|
34
39
|
no_such_dimg: "No such dimg: `%{dimgs_patterns}`!"
|
35
40
|
no_such_app: "No such app: `%{apps_patterns}`!"
|
data/lib/dapp.rb
CHANGED
@@ -22,8 +22,6 @@ require 'net_status'
|
|
22
22
|
require 'yaml'
|
23
23
|
require 'openssl'
|
24
24
|
require 'etc'
|
25
|
-
require 'sentry-raven'
|
26
|
-
require 'toml-rb'
|
27
25
|
|
28
26
|
require 'dapp/version'
|
29
27
|
require 'dapp/core_ext/hash'
|
@@ -32,7 +30,6 @@ require 'dapp/helper/cli'
|
|
32
30
|
require 'dapp/helper/trivia'
|
33
31
|
require 'dapp/helper/sha256'
|
34
32
|
require 'dapp/helper/net_status'
|
35
|
-
require 'dapp/helper/url'
|
36
33
|
require 'dapp/prctl'
|
37
34
|
require 'dapp/error/base'
|
38
35
|
require 'dapp/error/dapp'
|
@@ -46,7 +43,6 @@ require 'dapp/config/config'
|
|
46
43
|
require 'dapp/config/error/config'
|
47
44
|
require 'dapp/dapp/lock'
|
48
45
|
require 'dapp/dapp/ssh_agent'
|
49
|
-
require 'dapp/dapp/sentry'
|
50
46
|
require 'dapp/dapp/git_artifact'
|
51
47
|
require 'dapp/dapp/dappfile'
|
52
48
|
require 'dapp/dapp/chef'
|
@@ -93,19 +89,35 @@ require 'dapp/deployment/cli/command/base'
|
|
93
89
|
require 'dapp/deployment/cli/command/deployment'
|
94
90
|
require 'dapp/deployment/cli/command/deployment/apply'
|
95
91
|
require 'dapp/deployment/cli/command/deployment/mrproper'
|
96
|
-
require 'dapp/deployment/cli/command/deployment/secret_key_generate'
|
97
|
-
require 'dapp/deployment/cli/command/deployment/secret_generate'
|
98
92
|
require 'dapp/deployment/cli/command/deployment/minikube_setup'
|
99
93
|
require 'dapp/deployment/cli/cli'
|
100
94
|
require 'dapp/deployment/dapp/command/mrproper'
|
101
95
|
require 'dapp/deployment/dapp/command/apply'
|
102
|
-
require 'dapp/deployment/dapp/command/secret_key_generate'
|
103
|
-
require 'dapp/deployment/dapp/command/secret_generate'
|
104
96
|
require 'dapp/deployment/dapp/command/minikube_setup'
|
105
97
|
require 'dapp/deployment/dapp/command/common'
|
106
98
|
require 'dapp/deployment/dapp/dappfile'
|
107
99
|
require 'dapp/deployment/dapp/dapp'
|
108
100
|
require 'dapp/deployment/secret'
|
101
|
+
require 'dapp/kube'
|
102
|
+
require 'dapp/kube/kubernetes'
|
103
|
+
require 'dapp/kube/cli/command/base'
|
104
|
+
require 'dapp/kube/cli/command/kube'
|
105
|
+
require 'dapp/kube/cli/command/kube/deploy'
|
106
|
+
require 'dapp/kube/cli/command/kube/dismiss'
|
107
|
+
require 'dapp/kube/cli/command/kube/secret_key_generate'
|
108
|
+
require 'dapp/kube/cli/command/kube/secret_generate'
|
109
|
+
require 'dapp/kube/cli/command/kube/secret_file_encrypt'
|
110
|
+
require 'dapp/kube/cli/cli'
|
111
|
+
require 'dapp/kube/dapp/command/common'
|
112
|
+
require 'dapp/kube/dapp/command/deploy'
|
113
|
+
require 'dapp/kube/dapp/command/dismiss'
|
114
|
+
require 'dapp/kube/dapp/command/secret_key_generate'
|
115
|
+
require 'dapp/kube/dapp/command/secret_generate'
|
116
|
+
require 'dapp/kube/dapp/command/secret_file_encrypt'
|
117
|
+
require 'dapp/kube/dapp/dapp'
|
118
|
+
require 'dapp/kube/error/base'
|
119
|
+
require 'dapp/kube/error/command'
|
120
|
+
require 'dapp/kube/secret'
|
109
121
|
require 'dapp/dimg'
|
110
122
|
require 'dapp/dimg/builder'
|
111
123
|
require 'dapp/dimg/builder/base'
|
data/lib/dapp/cli.rb
CHANGED
@@ -5,7 +5,7 @@ module Dapp
|
|
5
5
|
extend Helper::Cli
|
6
6
|
include Helper::Trivia
|
7
7
|
|
8
|
-
SUBCOMMANDS = ['dimg', 'deployment'].freeze
|
8
|
+
SUBCOMMANDS = ['dimg', 'deployment', 'kube'].freeze
|
9
9
|
|
10
10
|
banner <<BANNER.freeze
|
11
11
|
Usage: dapp sub-command [sub-command options]
|
@@ -14,6 +14,7 @@ Available subcommands: (for details, dapp SUB-COMMAND --help)
|
|
14
14
|
|
15
15
|
dapp dimg
|
16
16
|
dapp deployment
|
17
|
+
dapp kube
|
17
18
|
|
18
19
|
Options:
|
19
20
|
BANNER
|
@@ -35,10 +36,6 @@ BANNER
|
|
35
36
|
show_options: true,
|
36
37
|
exit: 0
|
37
38
|
|
38
|
-
class << self
|
39
|
-
attr_accessor :dapp_object
|
40
|
-
end
|
41
|
-
|
42
39
|
def initialize(*args)
|
43
40
|
super(*args)
|
44
41
|
|
@@ -56,16 +56,12 @@ module Dapp
|
|
56
56
|
super()
|
57
57
|
end
|
58
58
|
|
59
|
-
def run_method
|
60
|
-
class_to_lowercase
|
61
|
-
end
|
62
|
-
|
63
59
|
def run(_argv = ARGV)
|
64
60
|
raise
|
65
61
|
end
|
66
62
|
|
67
63
|
def cli_options(**kvargs)
|
68
|
-
config.merge(
|
64
|
+
config.merge(**kvargs)
|
69
65
|
end
|
70
66
|
end
|
71
67
|
end
|
data/lib/dapp/dapp.rb
CHANGED
@@ -11,12 +11,8 @@ module Dapp
|
|
11
11
|
include Logging::Paint
|
12
12
|
|
13
13
|
include SshAgent
|
14
|
-
include Sentry
|
15
|
-
|
16
14
|
include Helper::Sha256
|
17
|
-
extend Helper::Trivia
|
18
15
|
include Helper::Trivia
|
19
|
-
include Helper::Url
|
20
16
|
|
21
17
|
include Deps::Gitartifact
|
22
18
|
include Deps::Base
|
@@ -29,20 +25,6 @@ module Dapp
|
|
29
25
|
@options = options
|
30
26
|
Logging::Paint.initialize(options[:log_color])
|
31
27
|
Logging::I18n.initialize
|
32
|
-
::Dapp::CLI.dapp_object = self
|
33
|
-
sentry_message("Manual usage: `#{options[:dapp_command]}` command") unless ENV['CI']
|
34
|
-
end
|
35
|
-
|
36
|
-
def settings
|
37
|
-
@settings ||= begin
|
38
|
-
settings_path = File.join(self.class.home_dir, "settings.toml")
|
39
|
-
|
40
|
-
if File.exists? settings_path
|
41
|
-
TomlRB.load_file(settings_path)
|
42
|
-
else
|
43
|
-
{}
|
44
|
-
end
|
45
|
-
end
|
46
28
|
end
|
47
29
|
|
48
30
|
def name
|
@@ -106,9 +88,5 @@ module Dapp
|
|
106
88
|
def stage_dapp_label
|
107
89
|
name
|
108
90
|
end
|
109
|
-
|
110
|
-
def self.home_dir
|
111
|
-
File.join(Dir.home, ".dapp")
|
112
|
-
end
|
113
91
|
end # Dapp
|
114
92
|
end # Dapp
|
@@ -28,13 +28,13 @@ module Dapp
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def format_string(str)
|
31
|
-
str.lines.map { |l| "#{Dapp.log_time if @with_time}#{l.
|
31
|
+
str.lines.map { |l| "#{Dapp.log_time if @with_time}#{l.chomp}\n" }.join
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
35
|
class Error < Base
|
36
36
|
def format_string(str)
|
37
|
-
"#{Dapp.paint_string(super.
|
37
|
+
"#{Dapp.paint_string(super.chomp, :warning)}\n"
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Dapp::Deployment::CLI
|
2
2
|
module Command
|
3
3
|
class Deployment < ::Dapp::CLI
|
4
|
-
SUBCOMMANDS = ['apply', 'mrproper', '
|
4
|
+
SUBCOMMANDS = ['apply', 'mrproper', 'minikube setup'].freeze
|
5
5
|
|
6
6
|
banner <<BANNER.freeze
|
7
7
|
Usage: dapp deployment sub-command [sub-command options]
|
@@ -9,8 +9,6 @@ Usage: dapp deployment sub-command [sub-command options]
|
|
9
9
|
Available subcommands: (for details, dapp deployment SUB-COMMAND --help)
|
10
10
|
|
11
11
|
dapp deployment apply [options] [APP ...] REPO
|
12
|
-
dapp deployment secret key generate
|
13
|
-
dapp deployment secret generate
|
14
12
|
dapp deployment minikube setup
|
15
13
|
dapp deployment mrproper [options]
|
16
14
|
|
@@ -3,13 +3,11 @@ module Dapp
|
|
3
3
|
module Config
|
4
4
|
module Directive
|
5
5
|
class GitArtifactRemote < GitArtifactLocal
|
6
|
-
include ::Dapp::Helper::Url
|
7
|
-
|
8
6
|
attr_reader :_url, :_name, :_branch, :_commit
|
9
7
|
|
10
8
|
def initialize(url, **kwargs, &blk)
|
11
9
|
@_url = url
|
12
|
-
@_name =
|
10
|
+
@_name = url.gsub(%r{.*?([^\/ ]+)\.git}, '\\1')
|
13
11
|
|
14
12
|
super(**kwargs, &blk)
|
15
13
|
end
|
data/lib/dapp/dimg/dimg.rb
CHANGED
data/lib/dapp/dimg/dimg/path.rb
CHANGED
data/lib/dapp/helper/trivia.rb
CHANGED
@@ -24,6 +24,10 @@ module Dapp
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
def make_path(base, *path)
|
28
|
+
path.compact.map(&:to_s).inject(Pathname.new(base), &:+)
|
29
|
+
end
|
30
|
+
|
27
31
|
def self.class_to_lowercase(class_name = self)
|
28
32
|
class_name.to_s.split('::').last.split(/(?=[[:upper:]]|[0-9])/).join('_').downcase.to_s
|
29
33
|
end
|
data/lib/dapp/kube.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
module Dapp::Kube; end
|
@@ -0,0 +1 @@
|
|
1
|
+
::Dapp::CLI.send(:include, ::Dapp::Kube::CLI::Command)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Dapp::Kube::CLI
|
2
|
+
module Command
|
3
|
+
class Base < ::Dapp::CLI::Command::Base
|
4
|
+
def run(argv = ARGV)
|
5
|
+
self.class.parse_options(self, argv)
|
6
|
+
::Dapp::Dapp.new(options: cli_options).public_send(run_method)
|
7
|
+
end
|
8
|
+
|
9
|
+
def run_method
|
10
|
+
:"kube_#{class_to_lowercase}"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Dapp::Kube::CLI
|
2
|
+
module Command
|
3
|
+
class Kube < ::Dapp::CLI
|
4
|
+
SUBCOMMANDS = ['secret generate', 'secret key generate', 'secret file encrypt', 'deploy', 'dismiss'].freeze
|
5
|
+
|
6
|
+
banner <<BANNER.freeze
|
7
|
+
Usage: dapp kube sub-command [sub-command options]
|
8
|
+
|
9
|
+
Available subcommands: (for details, dapp kube SUB-COMMAND --help)
|
10
|
+
|
11
|
+
dapp kube deploy [options] REPO
|
12
|
+
dapp kube dismiss [options]
|
13
|
+
dapp kube secret generate [options]
|
14
|
+
dapp kube secret key generate [options]
|
15
|
+
dapp kube secret file encrypt FILE_PATH [options]
|
16
|
+
|
17
|
+
Options:
|
18
|
+
BANNER
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Dapp::Kube::CLI::Command
|
2
|
+
class Kube < ::Dapp::CLI
|
3
|
+
class Deploy < Base
|
4
|
+
banner <<BANNER.freeze
|
5
|
+
Usage:
|
6
|
+
|
7
|
+
dapp deployment deploy [options] REPO
|
8
|
+
|
9
|
+
Options:
|
10
|
+
BANNER
|
11
|
+
option :namespace,
|
12
|
+
long: '--namespace NAME',
|
13
|
+
required: true
|
14
|
+
|
15
|
+
option :image_version,
|
16
|
+
long: '--image-version IMAGE_VERSION',
|
17
|
+
default: 'latest'
|
18
|
+
|
19
|
+
option :tmp_dir_prefix,
|
20
|
+
long: '--tmp-dir-prefix PREFIX',
|
21
|
+
description: 'Tmp directory prefix (/tmp by default). Used for build process service directories.'
|
22
|
+
|
23
|
+
def run(argv = ARGV)
|
24
|
+
self.class.parse_options(self, argv)
|
25
|
+
repo = self.class.required_argument(self, 'repo')
|
26
|
+
::Dapp::Dapp.new(options: cli_options(apps_patterns: cli_arguments, repo: repo)).public_send(run_method)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Dapp::Kube::CLI::Command
|
2
|
+
class Kube < ::Dapp::CLI
|
3
|
+
class Dismiss < Base
|
4
|
+
banner <<BANNER.freeze
|
5
|
+
Usage:
|
6
|
+
|
7
|
+
dapp kube dismiss [options]
|
8
|
+
|
9
|
+
Options:
|
10
|
+
BANNER
|
11
|
+
|
12
|
+
option :namespace,
|
13
|
+
long: '--namespace NAME',
|
14
|
+
required: true
|
15
|
+
|
16
|
+
option :with_namespace,
|
17
|
+
long: '--with-namespace',
|
18
|
+
default: false
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Dapp::Kube::CLI::Command
|
2
|
+
class Kube < ::Dapp::CLI
|
3
|
+
class SecretFileEncrypt < Base
|
4
|
+
banner <<BANNER.freeze
|
5
|
+
Usage:
|
6
|
+
|
7
|
+
dapp kube secret file encrypt FILE [options]
|
8
|
+
|
9
|
+
Options:
|
10
|
+
BANNER
|
11
|
+
|
12
|
+
option :output_file_path,
|
13
|
+
short: '-o OUTPUt_FILE_PATH',
|
14
|
+
required: false
|
15
|
+
|
16
|
+
def run(argv = ARGV)
|
17
|
+
self.class.parse_options(self, argv)
|
18
|
+
file_path = self.class.required_argument(self, 'file')
|
19
|
+
::Dapp::Dapp.new(options: cli_options).public_send(run_method, file_path)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|