dapp 0.29.2 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/dapp +1 -23
- data/config/en/net_status.yml +5 -4
- data/lib/dapp.rb +1 -1
- data/lib/dapp/dapp/sentry.rb +11 -8
- data/lib/dapp/dimg/dapp/command/cleanup_repo.rb +33 -21
- data/lib/dapp/dimg/dimg/git_artifact.rb +2 -5
- data/lib/dapp/dimg/git_artifact.rb +41 -23
- data/lib/dapp/dimg/git_repo/base.rb +19 -39
- data/lib/dapp/dimg/git_repo/local.rb +15 -14
- data/lib/dapp/dimg/git_repo/remote.rb +32 -19
- data/lib/dapp/kube/cli/command/kube/deploy.rb +4 -0
- data/lib/dapp/kube/cli/command/kube/dismiss.rb +4 -0
- data/lib/dapp/kube/cli/command/kube/lint.rb +4 -0
- data/lib/dapp/kube/cli/command/kube/render.rb +4 -0
- data/lib/dapp/kube/cli/command/kube/value_get.rb +4 -0
- data/lib/dapp/kube/dapp/command/common.rb +21 -18
- data/lib/dapp/kube/dapp/command/minikube_setup.rb +6 -2
- data/lib/dapp/kube/helm/release.rb +1 -1
- data/lib/dapp/kube/helm/values.rb +3 -3
- data/lib/dapp/kube/kubernetes/client.rb +21 -90
- data/lib/dapp/kube/kubernetes/config.rb +129 -0
- data/lib/dapp/version.rb +1 -1
- metadata +6 -44
- data/lib/dapp/deployment/app.rb +0 -120
- data/lib/dapp/deployment/cli/cli.rb +0 -1
- data/lib/dapp/deployment/cli/command/base.rb +0 -14
- data/lib/dapp/deployment/cli/command/deployment.rb +0 -18
- data/lib/dapp/deployment/cli/command/deployment/apply.rb +0 -26
- data/lib/dapp/deployment/cli/command/deployment/mrproper.rb +0 -13
- data/lib/dapp/deployment/config/config.rb +0 -46
- data/lib/dapp/deployment/config/directive/app.rb +0 -28
- data/lib/dapp/deployment/config/directive/app/instance_methods.rb +0 -51
- data/lib/dapp/deployment/config/directive/base.rb +0 -13
- data/lib/dapp/deployment/config/directive/deployment.rb +0 -11
- data/lib/dapp/deployment/config/directive/expose.rb +0 -68
- data/lib/dapp/deployment/config/directive/group.rb +0 -27
- data/lib/dapp/deployment/config/directive/job.rb +0 -28
- data/lib/dapp/deployment/config/directive/mod/group.rb +0 -22
- data/lib/dapp/deployment/config/directive/mod/jobs.rb +0 -26
- data/lib/dapp/deployment/config/directive/namespace.rb +0 -26
- data/lib/dapp/deployment/config/directive/namespace/instance_methods.rb +0 -37
- data/lib/dapp/deployment/core_ext/hash.rb +0 -19
- data/lib/dapp/deployment/dapp/command/apply.rb +0 -71
- data/lib/dapp/deployment/dapp/command/common.rb +0 -17
- data/lib/dapp/deployment/dapp/command/mrproper.rb +0 -12
- data/lib/dapp/deployment/dapp/dapp.rb +0 -15
- data/lib/dapp/deployment/dapp/dappfile.rb +0 -23
- data/lib/dapp/deployment/deployment.rb +0 -46
- data/lib/dapp/deployment/error/app.rb +0 -7
- data/lib/dapp/deployment/error/default.rb +0 -7
- data/lib/dapp/deployment/error/deployment.rb +0 -7
- data/lib/dapp/deployment/error/kubernetes.rb +0 -7
- data/lib/dapp/deployment/kube_app.rb +0 -146
- data/lib/dapp/deployment/kube_base.rb +0 -97
- data/lib/dapp/deployment/kube_deployment.rb +0 -51
- data/lib/dapp/deployment/kubernetes.rb +0 -174
- data/lib/dapp/deployment/kubernetes/error.rb +0 -20
- data/lib/dapp/deployment/mod/jobs.rb +0 -37
- data/lib/dapp/deployment/mod/namespace.rb +0 -58
- data/lib/dapp/deployment/mod/system_environments.rb +0 -30
- data/lib/dapp/deployment/secret.rb +0 -93
- data/lib/dapp/kube/error/kubernetes.rb +0 -7
data/lib/dapp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dapp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.30.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Stolyarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
@@ -144,14 +144,14 @@ dependencies:
|
|
144
144
|
requirements:
|
145
145
|
- - "~>"
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version: 0.
|
147
|
+
version: 0.27.0
|
148
148
|
type: :runtime
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
152
|
- - "~>"
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version: 0.
|
154
|
+
version: 0.27.0
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
156
|
name: murmurhash3
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
@@ -497,44 +497,6 @@ files:
|
|
497
497
|
- lib/dapp/dapp/slug.rb
|
498
498
|
- lib/dapp/dapp/ssh_agent.rb
|
499
499
|
- lib/dapp/deployment.rb
|
500
|
-
- lib/dapp/deployment/app.rb
|
501
|
-
- lib/dapp/deployment/cli/cli.rb
|
502
|
-
- lib/dapp/deployment/cli/command/base.rb
|
503
|
-
- lib/dapp/deployment/cli/command/deployment.rb
|
504
|
-
- lib/dapp/deployment/cli/command/deployment/apply.rb
|
505
|
-
- lib/dapp/deployment/cli/command/deployment/mrproper.rb
|
506
|
-
- lib/dapp/deployment/config/config.rb
|
507
|
-
- lib/dapp/deployment/config/directive/app.rb
|
508
|
-
- lib/dapp/deployment/config/directive/app/instance_methods.rb
|
509
|
-
- lib/dapp/deployment/config/directive/base.rb
|
510
|
-
- lib/dapp/deployment/config/directive/deployment.rb
|
511
|
-
- lib/dapp/deployment/config/directive/expose.rb
|
512
|
-
- lib/dapp/deployment/config/directive/group.rb
|
513
|
-
- lib/dapp/deployment/config/directive/job.rb
|
514
|
-
- lib/dapp/deployment/config/directive/mod/group.rb
|
515
|
-
- lib/dapp/deployment/config/directive/mod/jobs.rb
|
516
|
-
- lib/dapp/deployment/config/directive/namespace.rb
|
517
|
-
- lib/dapp/deployment/config/directive/namespace/instance_methods.rb
|
518
|
-
- lib/dapp/deployment/core_ext/hash.rb
|
519
|
-
- lib/dapp/deployment/dapp/command/apply.rb
|
520
|
-
- lib/dapp/deployment/dapp/command/common.rb
|
521
|
-
- lib/dapp/deployment/dapp/command/mrproper.rb
|
522
|
-
- lib/dapp/deployment/dapp/dapp.rb
|
523
|
-
- lib/dapp/deployment/dapp/dappfile.rb
|
524
|
-
- lib/dapp/deployment/deployment.rb
|
525
|
-
- lib/dapp/deployment/error/app.rb
|
526
|
-
- lib/dapp/deployment/error/default.rb
|
527
|
-
- lib/dapp/deployment/error/deployment.rb
|
528
|
-
- lib/dapp/deployment/error/kubernetes.rb
|
529
|
-
- lib/dapp/deployment/kube_app.rb
|
530
|
-
- lib/dapp/deployment/kube_base.rb
|
531
|
-
- lib/dapp/deployment/kube_deployment.rb
|
532
|
-
- lib/dapp/deployment/kubernetes.rb
|
533
|
-
- lib/dapp/deployment/kubernetes/error.rb
|
534
|
-
- lib/dapp/deployment/mod/jobs.rb
|
535
|
-
- lib/dapp/deployment/mod/namespace.rb
|
536
|
-
- lib/dapp/deployment/mod/system_environments.rb
|
537
|
-
- lib/dapp/deployment/secret.rb
|
538
500
|
- lib/dapp/dimg.rb
|
539
501
|
- lib/dapp/dimg/artifact.rb
|
540
502
|
- lib/dapp/dimg/build/stage/after_install_artifact.rb
|
@@ -731,7 +693,6 @@ files:
|
|
731
693
|
- lib/dapp/kube/dapp/command/value_get.rb
|
732
694
|
- lib/dapp/kube/dapp/dapp.rb
|
733
695
|
- lib/dapp/kube/error/default.rb
|
734
|
-
- lib/dapp/kube/error/kubernetes.rb
|
735
696
|
- lib/dapp/kube/helm.rb
|
736
697
|
- lib/dapp/kube/helm/release.rb
|
737
698
|
- lib/dapp/kube/helm/values.rb
|
@@ -744,6 +705,7 @@ files:
|
|
744
705
|
- lib/dapp/kube/kubernetes/client/resource/job.rb
|
745
706
|
- lib/dapp/kube/kubernetes/client/resource/pod.rb
|
746
707
|
- lib/dapp/kube/kubernetes/client/resource/replicaset.rb
|
708
|
+
- lib/dapp/kube/kubernetes/config.rb
|
747
709
|
- lib/dapp/kube/kubernetes/error.rb
|
748
710
|
- lib/dapp/kube/kubernetes/manager/base.rb
|
749
711
|
- lib/dapp/kube/kubernetes/manager/container.rb
|
@@ -773,7 +735,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
773
735
|
version: 2.5.0
|
774
736
|
requirements: []
|
775
737
|
rubyforge_project:
|
776
|
-
rubygems_version: 2.
|
738
|
+
rubygems_version: 2.5.1
|
777
739
|
signing_key:
|
778
740
|
specification_version: 4
|
779
741
|
summary: Build docker packaged apps using chef or shell
|
data/lib/dapp/deployment/app.rb
DELETED
@@ -1,120 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Deployment
|
3
|
-
class App
|
4
|
-
include Mod::Namespace
|
5
|
-
include Mod::SystemEnvironments
|
6
|
-
include Mod::Jobs
|
7
|
-
|
8
|
-
attr_reader :deployment
|
9
|
-
attr_reader :app_config
|
10
|
-
alias config app_config
|
11
|
-
|
12
|
-
def initialize(app_config:, deployment:)
|
13
|
-
@app_config = app_config
|
14
|
-
@deployment = deployment
|
15
|
-
end
|
16
|
-
|
17
|
-
def name(*args)
|
18
|
-
deployment.name(app_config._name, *args)
|
19
|
-
end
|
20
|
-
|
21
|
-
def kube
|
22
|
-
@kube ||= KubeApp.new(self)
|
23
|
-
end
|
24
|
-
|
25
|
-
[:dimg, :expose, :bootstrap, :migrate].each do |directive|
|
26
|
-
define_method directive do
|
27
|
-
app_config.public_send("_#{directive}")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def to_kube_deployments(repo, image_version)
|
32
|
-
{}.tap do |hash|
|
33
|
-
hash[name] = {}.tap do |deployment|
|
34
|
-
deployment['metadata'] = {}.tap do |metadata|
|
35
|
-
metadata['name'] = name
|
36
|
-
metadata['labels'] = kube.labels
|
37
|
-
end
|
38
|
-
deployment['spec'] = {}.tap do |spec|
|
39
|
-
spec['replicas'] = scale
|
40
|
-
spec['template'] = {}
|
41
|
-
spec['template']['metadata'] = deployment['metadata']
|
42
|
-
spec['template']['spec'] = {}.tap do |template_spec|
|
43
|
-
template_spec['containers'] = [].tap do |containers|
|
44
|
-
containers << {}.tap do |container|
|
45
|
-
ports = expose._port.map do |port|
|
46
|
-
{
|
47
|
-
'containerPort' => port._number,
|
48
|
-
'name' => ['app', port._number].join('-'),
|
49
|
-
'protocol' => port._protocol
|
50
|
-
}
|
51
|
-
end
|
52
|
-
volume_mounts = [{'mountPath' => '/.data', 'name' => "volume-#{self.name}"}]
|
53
|
-
|
54
|
-
container['imagePullPolicy'] = 'Always'
|
55
|
-
container['image'] = [repo, [dimg, image_version].compact.join('-')].join(':')
|
56
|
-
container['name'] = dimg_name
|
57
|
-
container['env'] = environments unless environments.empty?
|
58
|
-
container['ports'] = ports unless expose._port.empty?
|
59
|
-
container['volumeMounts'] = volume_mounts
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
template_spec['volumes'] = [
|
64
|
-
{
|
65
|
-
'name' => "volume-#{name}",
|
66
|
-
'hostPath' => {'path' => "/var/lib/dapp/deployment/volumes/#{self.deployment.name}/#{self.name}"}
|
67
|
-
}
|
68
|
-
]
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def to_kube_services
|
76
|
-
return {} if expose._port.empty?
|
77
|
-
|
78
|
-
{}.tap do |hash|
|
79
|
-
hash[service_name] = {}.tap do |service|
|
80
|
-
service['metadata'] = {}.tap do |metadata|
|
81
|
-
metadata['name'] = service_name
|
82
|
-
metadata['labels'] = kube.labels
|
83
|
-
end
|
84
|
-
service['spec'] = {}.tap do |spec|
|
85
|
-
spec['selector'] = kube.labels
|
86
|
-
spec['ports'] = expose._port.map do |port|
|
87
|
-
{
|
88
|
-
'port' => port._number,
|
89
|
-
'name' => ['service', port._number].join('-'),
|
90
|
-
'protocol' => port._protocol
|
91
|
-
}.tap do |h|
|
92
|
-
h['targetPort'] = port._target unless port._target.nil?
|
93
|
-
end
|
94
|
-
end
|
95
|
-
spec['type'] = expose._type
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
protected
|
102
|
-
|
103
|
-
def dimg_name
|
104
|
-
name(dimg)
|
105
|
-
end
|
106
|
-
|
107
|
-
def service_name
|
108
|
-
name('service')
|
109
|
-
end
|
110
|
-
|
111
|
-
def namespace
|
112
|
-
deployment.namespace
|
113
|
-
end
|
114
|
-
|
115
|
-
def secret
|
116
|
-
deployment.dapp.secret
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
::Dapp::CLI.send(:include, ::Dapp::Deployment::CLI::Command)
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module Dapp::Deployment::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
|
-
:"deployment_#{class_to_lowercase}"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Dapp::Deployment::CLI
|
2
|
-
module Command
|
3
|
-
class Deployment < ::Dapp::CLI
|
4
|
-
SUBCOMMANDS = ['apply', 'mrproper'].freeze
|
5
|
-
|
6
|
-
banner <<BANNER.freeze
|
7
|
-
Usage: dapp deployment subcommand [subcommand options]
|
8
|
-
|
9
|
-
Available subcommands: (for details, dapp deployment SUB-COMMAND --help)
|
10
|
-
|
11
|
-
dapp deployment apply [options] [APP ...] REPO
|
12
|
-
dapp deployment mrproper [options]
|
13
|
-
|
14
|
-
Options:
|
15
|
-
BANNER
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Dapp::Deployment::CLI::Command
|
2
|
-
class Deployment < ::Dapp::CLI
|
3
|
-
class Apply < Base
|
4
|
-
banner <<BANNER.freeze
|
5
|
-
Usage:
|
6
|
-
|
7
|
-
dapp deployment apply [options] [APP ...] REPO
|
8
|
-
|
9
|
-
Options:
|
10
|
-
BANNER
|
11
|
-
|
12
|
-
option :namespace,
|
13
|
-
long: '--namespace NAME'
|
14
|
-
|
15
|
-
option :image_version,
|
16
|
-
long: '--image-version IMAGE_VERSION',
|
17
|
-
default: 'latest'
|
18
|
-
|
19
|
-
def run(argv = ARGV)
|
20
|
-
self.class.parse_options(self, argv)
|
21
|
-
repo = self.class.required_argument(self, 'repo')
|
22
|
-
::Dapp::Dapp.new(options: cli_options(apps_patterns: cli_arguments, repo: repo)).deployment_apply
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Deployment
|
3
|
-
module Config
|
4
|
-
module Config
|
5
|
-
include Directive::Mod::Group
|
6
|
-
|
7
|
-
def deployment(&blk)
|
8
|
-
directive_eval(_deployment, &blk)
|
9
|
-
end
|
10
|
-
|
11
|
-
def _deployment
|
12
|
-
@_deployment ||= Directive::Deployment.new(dapp: dapp).tap { |group| @_group << group }
|
13
|
-
end
|
14
|
-
|
15
|
-
protected
|
16
|
-
|
17
|
-
def deployment_config_validate!
|
18
|
-
raise ::Dapp::Error::Config, code: :app_name_required if _app.any? { |app| app._name.nil? } && _app.size > 1
|
19
|
-
_app.each do |app|
|
20
|
-
raise ::Dapp::Error::Config, code: :app_dimg_not_defined, data: { app: app._name } if app._dimg.nil? && !_dimg.map(&:_name).compact.empty?
|
21
|
-
unless _dimg.map(&:_name).include?(app._dimg)
|
22
|
-
raise ::Dapp::Error::Config, code: :app_dimg_not_found, data: { app: app._name, dimg: app._dimg }
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
[:deployment, :app].each do |directive|
|
27
|
-
Array(public_send(:"_#{directive}")).each do |obj|
|
28
|
-
[:bootstrap, :before_apply_job].each do |job|
|
29
|
-
next if (job_config = obj.public_send("_#{job}")).empty?
|
30
|
-
job_dimg = job_config._dimg || obj._dimg
|
31
|
-
if job_dimg.nil? && !_dimg.map(&:_name).compact.empty?
|
32
|
-
raise ::Dapp::Error::Config, code: :"#{directive}_#{job}_dimg_not_defined"
|
33
|
-
end
|
34
|
-
unless _dimg.map(&:_name).include?(job_dimg)
|
35
|
-
raise ::Dapp::Error::Config, code: :"#{directive}_#{job}_dimg_not_found", data: { dimg: job_dimg }
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
::Dapp::Config::Config.send(:include, ::Dapp::Deployment::Config::Config)
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Deployment
|
3
|
-
module Config
|
4
|
-
module Directive
|
5
|
-
class App < Base
|
6
|
-
include InstanceMethods
|
7
|
-
include Mod::Jobs
|
8
|
-
|
9
|
-
attr_reader :_name
|
10
|
-
|
11
|
-
def initialize(name, dapp:)
|
12
|
-
self._name = name
|
13
|
-
super(dapp: dapp)
|
14
|
-
end
|
15
|
-
|
16
|
-
def _name=(name)
|
17
|
-
sub_directive_eval do
|
18
|
-
return self if name.nil?
|
19
|
-
name = name.to_s
|
20
|
-
validate_compliance!(hostname_pattern, name, :app_name_incorrect)
|
21
|
-
@_name = name
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
module Dapp
|
2
|
-
module Deployment
|
3
|
-
module Config
|
4
|
-
module Directive
|
5
|
-
class App < Base
|
6
|
-
module InstanceMethods
|
7
|
-
attr_reader :_dimg, :_namespace, :_expose, :_migrate
|
8
|
-
|
9
|
-
def self.included(base)
|
10
|
-
base.include(Namespace::InstanceMethods)
|
11
|
-
end
|
12
|
-
|
13
|
-
def dimg(name)
|
14
|
-
@_dimg = name
|
15
|
-
end
|
16
|
-
|
17
|
-
def namespace(name, &blk)
|
18
|
-
(_namespace[name] ||= begin
|
19
|
-
Namespace.new(name, dapp: dapp).tap do |namespace|
|
20
|
-
_namespace[name] = namespace
|
21
|
-
end
|
22
|
-
end).tap do |namespace|
|
23
|
-
directive_eval(namespace, &blk)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def expose(&blk)
|
28
|
-
directive_eval(_expose, &blk)
|
29
|
-
end
|
30
|
-
|
31
|
-
def migrate(cmd)
|
32
|
-
sub_directive_eval { @_migrate = cmd }
|
33
|
-
end
|
34
|
-
|
35
|
-
protected
|
36
|
-
|
37
|
-
def app_init_variables!
|
38
|
-
@_migrate = []
|
39
|
-
@_namespace = {}
|
40
|
-
@_expose = Expose.new(dapp: dapp)
|
41
|
-
end
|
42
|
-
|
43
|
-
def passed_directives
|
44
|
-
[:@_dimg, :@_namespace, :@_expose, :@_migrate, :@_environment, :@_secret_environment, :@_scale]
|
45
|
-
end
|
46
|
-
end # InstanceMethods
|
47
|
-
end # App
|
48
|
-
end # Directive
|
49
|
-
end # Config
|
50
|
-
end # Deployment
|
51
|
-
end # Dapp
|