kuber_kit 0.1.8 → 0.2.3
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/Gemfile.lock +4 -2
- data/README.md +16 -3
- data/TODO.md +5 -3
- data/bin/kit +0 -1
- data/example/configurations/review.rb +2 -1
- data/example/images/app_sources/Dockerfile +1 -1
- data/example/images/ruby_app/image.rb +4 -4
- data/example/infrastructure/build_servers.rb +8 -0
- data/example/services/env_file.rb +1 -0
- data/example/services/ruby_app.rb +2 -1
- data/kuber_kit.gemspec +1 -0
- data/lib/kuber_kit.rb +37 -19
- data/lib/kuber_kit/actions/configuration_loader.rb +9 -2
- data/lib/kuber_kit/actions/env_file_reader.rb +3 -0
- data/lib/kuber_kit/actions/image_compiler.rb +14 -10
- data/lib/kuber_kit/actions/kubectl_applier.rb +7 -3
- data/lib/kuber_kit/actions/kubectl_attacher.rb +26 -0
- data/lib/kuber_kit/actions/service_deployer.rb +31 -0
- data/lib/kuber_kit/actions/service_reader.rb +4 -0
- data/lib/kuber_kit/actions/template_reader.rb +3 -0
- data/lib/kuber_kit/cli.rb +54 -20
- data/lib/kuber_kit/configs.rb +24 -22
- data/lib/kuber_kit/container.rb +21 -13
- data/lib/kuber_kit/core/artifacts/artifact_store.rb +9 -28
- data/lib/kuber_kit/core/build_servers/abstract_build_server.rb +21 -0
- data/lib/kuber_kit/core/build_servers/build_server.rb +24 -0
- data/lib/kuber_kit/core/build_servers/build_server_store.rb +18 -0
- data/lib/kuber_kit/core/configuration.rb +10 -4
- data/lib/kuber_kit/core/configuration_definition.rb +18 -1
- data/lib/kuber_kit/core/configuration_factory.rb +11 -1
- data/lib/kuber_kit/core/configuration_store.rb +14 -24
- data/lib/kuber_kit/core/env_files/env_file_store.rb +8 -23
- data/lib/kuber_kit/core/image_store.rb +8 -18
- data/lib/kuber_kit/core/registries/registry_store.rb +8 -23
- data/lib/kuber_kit/core/service_store.rb +13 -23
- data/lib/kuber_kit/core/store.rb +48 -0
- data/lib/kuber_kit/core/templates/template_store.rb +9 -28
- data/lib/kuber_kit/image_compiler/build_server_pool.rb +31 -0
- data/lib/kuber_kit/image_compiler/build_server_pool_factory.rb +13 -0
- data/lib/kuber_kit/image_compiler/image_build_dir_creator.rb +13 -7
- data/lib/kuber_kit/image_compiler/image_dependency_resolver.rb +25 -5
- data/lib/kuber_kit/preprocessing/file_preprocessor.rb +5 -4
- data/lib/kuber_kit/service_deployer/strategies/kubernetes.rb +5 -3
- data/lib/kuber_kit/shell/abstract_shell.rb +4 -0
- data/lib/kuber_kit/shell/{bash_commands.rb → commands/bash_commands.rb} +1 -1
- data/lib/kuber_kit/shell/{docker_commands.rb → commands/docker_commands.rb} +1 -1
- data/lib/kuber_kit/shell/{git_commands.rb → commands/git_commands.rb} +1 -1
- data/lib/kuber_kit/shell/commands/kubectl_commands.rb +65 -0
- data/lib/kuber_kit/shell/commands/rsync_commands.rb +32 -0
- data/lib/kuber_kit/shell/local_shell.rb +24 -5
- data/lib/kuber_kit/shell/ssh_session.rb +62 -0
- data/lib/kuber_kit/shell/ssh_shell.rb +77 -0
- data/lib/kuber_kit/tools/file_presence_checker.rb +6 -2
- data/lib/kuber_kit/ui/interactive.rb +8 -0
- data/lib/kuber_kit/ui/simple.rb +6 -0
- data/lib/kuber_kit/version.rb +2 -2
- metadata +34 -12
- data/lib/kuber_kit/preprocessing/dir_preprocessor.rb +0 -19
- data/lib/kuber_kit/shell/kubectl_commands.rb +0 -42
- data/lib/kuber_kit/shell/rsync_commands.rb +0 -20
- data/lib/kuber_kit/tools/files_sync.rb +0 -10
data/lib/kuber_kit/cli.rb
CHANGED
@@ -14,56 +14,90 @@ class KuberKit::CLI < Thor
|
|
14
14
|
|
15
15
|
image_names = image_names_str.split(",").map(&:strip).map(&:to_sym)
|
16
16
|
|
17
|
-
KuberKit::Container['actions.configuration_loader'].call(options)
|
18
|
-
|
17
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
18
|
+
result = KuberKit::Container['actions.image_compiler'].call(image_names, options)
|
19
|
+
end
|
19
20
|
|
20
21
|
logger = KuberKit::Container['tools.logger']
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
if result
|
23
|
+
logger.info("---------------------------")
|
24
|
+
logger.info("Image compilation finished!")
|
25
|
+
logger.info("---------------------------")
|
26
|
+
else
|
27
|
+
logger.info("-------------------------".red)
|
28
|
+
logger.info("Image compilation failed!".red)
|
29
|
+
logger.info("-------------------------".red)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "deploy CONTEXT_NAME", "Deploy CONTEXT_NAME with kubectl"
|
34
|
+
method_option :services, :type => :array, aliases: ["-s"]
|
35
|
+
method_option :tags, :type => :array, aliases: ["-t"]
|
36
|
+
def deploy
|
37
|
+
KuberKit.set_debug_mode(options[:debug])
|
38
|
+
|
39
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
40
|
+
result = KuberKit::Container['actions.service_deployer'].call(
|
41
|
+
services: options[:services] || [],
|
42
|
+
tags: options[:tags] || []
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
logger = KuberKit::Container['tools.logger']
|
47
|
+
if result
|
48
|
+
logger.info("---------------------------")
|
49
|
+
logger.info("Service deployment finished!")
|
50
|
+
logger.info("---------------------------")
|
51
|
+
else
|
52
|
+
logger.info("-------------------------".red)
|
53
|
+
logger.info("Service deployment failed!".red)
|
54
|
+
logger.info("-------------------------".red)
|
55
|
+
end
|
24
56
|
end
|
25
57
|
|
26
58
|
desc "env ENV_FILE_NAME", "Return content of Env File ENV_FILE_NAME"
|
27
59
|
def env(env_file_name)
|
28
60
|
KuberKit.set_debug_mode(options[:debug])
|
29
61
|
|
30
|
-
KuberKit::Container['actions.configuration_loader'].call(options)
|
31
|
-
|
62
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
63
|
+
KuberKit::Container['actions.env_file_reader'].call(env_file_name.to_sym, options)
|
64
|
+
end
|
32
65
|
end
|
33
66
|
|
34
67
|
desc "template TEMPLATE_NAME", "Return content of Template TEMPLATE_NAME"
|
35
68
|
def template(template_name)
|
36
69
|
KuberKit.set_debug_mode(options[:debug])
|
37
70
|
|
38
|
-
KuberKit::Container['actions.configuration_loader'].call(options)
|
39
|
-
|
71
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
72
|
+
KuberKit::Container['actions.template_reader'].call(template_name.to_sym, options)
|
73
|
+
end
|
40
74
|
end
|
41
75
|
|
42
76
|
desc "service SERVICE_NAME", "Return content of Service SERVICE_NAME"
|
43
77
|
def service(service_name)
|
44
78
|
KuberKit.set_debug_mode(options[:debug])
|
45
79
|
|
46
|
-
KuberKit::Container['actions.configuration_loader'].call(options)
|
47
|
-
|
80
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
81
|
+
KuberKit::Container['actions.service_reader'].call(service_name.to_sym, options)
|
82
|
+
end
|
48
83
|
end
|
49
84
|
|
50
85
|
desc "apply FILE_PATH", "Apply FILE_PATH with kubectl"
|
51
86
|
def apply(file_path)
|
52
87
|
KuberKit.set_debug_mode(options[:debug])
|
53
88
|
|
54
|
-
KuberKit::Container['actions.configuration_loader'].call(options)
|
55
|
-
|
89
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
90
|
+
KuberKit::Container['actions.kubectl_applier'].call(File.expand_path(file_path), options)
|
91
|
+
end
|
56
92
|
end
|
57
93
|
|
58
|
-
desc "
|
59
|
-
|
60
|
-
method_option :tags, :type => :array, aliases: ["-t"]
|
61
|
-
def deploy
|
94
|
+
desc "attach POD_NAME", "Attach to POD_NAME with kubectl"
|
95
|
+
def attach(pod_name)
|
62
96
|
KuberKit.set_debug_mode(options[:debug])
|
63
97
|
|
64
|
-
KuberKit::Container['actions.configuration_loader'].call(options)
|
65
|
-
|
66
|
-
|
98
|
+
if KuberKit::Container['actions.configuration_loader'].call(options)
|
99
|
+
KuberKit::Container['actions.kubectl_attacher'].call(pod_name, options)
|
100
|
+
end
|
67
101
|
end
|
68
102
|
|
69
103
|
def self.exit_on_failure?
|
data/lib/kuber_kit/configs.rb
CHANGED
@@ -14,33 +14,35 @@ class KuberKit::Configs
|
|
14
14
|
'tmp',
|
15
15
|
'logs'
|
16
16
|
]
|
17
|
-
KUBER_KIT_DIRNAME
|
18
|
-
IMAGES_DIRNAME
|
19
|
-
SERVICES_DIRNAME
|
20
|
-
INFRA_DIRNAME
|
21
|
-
CONFIGURATIONS_DIRNAME
|
22
|
-
ARTIFACT_CLONE_DIR
|
23
|
-
SERVICE_CONFIG_DIR
|
24
|
-
DEPLOY_STRATEGY
|
17
|
+
KUBER_KIT_DIRNAME = "kuber_kit".freeze
|
18
|
+
IMAGES_DIRNAME = "images".freeze
|
19
|
+
SERVICES_DIRNAME = "services".freeze
|
20
|
+
INFRA_DIRNAME = "infrastructure".freeze
|
21
|
+
CONFIGURATIONS_DIRNAME = "configurations".freeze
|
22
|
+
ARTIFACT_CLONE_DIR = "/tmp/kuber_kit/artifacts"
|
23
|
+
SERVICE_CONFIG_DIR = "/tmp/kuber_kit/services"
|
24
|
+
DEPLOY_STRATEGY = :kubernetes
|
25
|
+
COMPILE_SIMULTANEOUS_LIMIT = 5
|
25
26
|
|
26
27
|
attr_accessor :image_dockerfile_name, :image_build_context_dir, :image_tag,
|
27
28
|
:docker_ignore_list, :image_compile_dir,
|
28
29
|
:kuber_kit_dirname, :images_dirname, :services_dirname, :infra_dirname, :configurations_dirname,
|
29
|
-
:artifact_clone_dir, :service_config_dir, :deploy_strategy
|
30
|
+
:artifact_clone_dir, :service_config_dir, :deploy_strategy, :compile_simultaneous_limit
|
30
31
|
|
31
32
|
def initialize
|
32
|
-
@image_dockerfile_name
|
33
|
-
@image_build_context_dir
|
34
|
-
@image_tag
|
35
|
-
@image_compile_dir
|
36
|
-
@docker_ignore_list
|
37
|
-
@kuber_kit_dirname
|
38
|
-
@images_dirname
|
39
|
-
@services_dirname
|
40
|
-
@infra_dirname
|
41
|
-
@configurations_dirname
|
42
|
-
@artifact_clone_dir
|
43
|
-
@service_config_dir
|
44
|
-
@deploy_strategy
|
33
|
+
@image_dockerfile_name = IMAGE_DOCKERFILE_NAME
|
34
|
+
@image_build_context_dir = IMAGE_BUILD_CONTEXT_DIR
|
35
|
+
@image_tag = IMAGE_TAG
|
36
|
+
@image_compile_dir = IMAGE_COMPILE_DIR
|
37
|
+
@docker_ignore_list = DOCKER_IGNORE_LIST
|
38
|
+
@kuber_kit_dirname = KUBER_KIT_DIRNAME
|
39
|
+
@images_dirname = IMAGES_DIRNAME
|
40
|
+
@services_dirname = SERVICES_DIRNAME
|
41
|
+
@infra_dirname = INFRA_DIRNAME
|
42
|
+
@configurations_dirname = CONFIGURATIONS_DIRNAME
|
43
|
+
@artifact_clone_dir = ARTIFACT_CLONE_DIR
|
44
|
+
@service_config_dir = SERVICE_CONFIG_DIR
|
45
|
+
@deploy_strategy = DEPLOY_STRATEGY
|
46
|
+
@compile_simultaneous_limit = COMPILE_SIMULTANEOUS_LIMIT
|
45
47
|
end
|
46
48
|
end
|
data/lib/kuber_kit/container.rb
CHANGED
@@ -29,6 +29,10 @@ class KuberKit::Container
|
|
29
29
|
KuberKit::Actions::KubectlApplier.new
|
30
30
|
end
|
31
31
|
|
32
|
+
register "actions.kubectl_attacher" do
|
33
|
+
KuberKit::Actions::KubectlAttacher.new
|
34
|
+
end
|
35
|
+
|
32
36
|
register "configs" do
|
33
37
|
KuberKit::Configs.new
|
34
38
|
end
|
@@ -69,18 +73,22 @@ class KuberKit::Container
|
|
69
73
|
KuberKit::Core::ConfigurationStore.new
|
70
74
|
end
|
71
75
|
|
72
|
-
register "core.registry_store" do
|
73
|
-
KuberKit::Core::Registries::RegistryStore.new
|
74
|
-
end
|
75
|
-
|
76
76
|
register "core.artifact_store" do
|
77
77
|
KuberKit::Core::Artifacts::ArtifactStore.new
|
78
78
|
end
|
79
79
|
|
80
|
+
register "core.build_server_store" do
|
81
|
+
KuberKit::Core::BuildServers::BuildServerStore.new
|
82
|
+
end
|
83
|
+
|
80
84
|
register "core.env_file_store" do
|
81
85
|
KuberKit::Core::EnvFiles::EnvFileStore.new
|
82
86
|
end
|
83
87
|
|
88
|
+
register "core.registry_store" do
|
89
|
+
KuberKit::Core::Registries::RegistryStore.new
|
90
|
+
end
|
91
|
+
|
84
92
|
register "core.template_store" do
|
85
93
|
KuberKit::Core::Templates::TemplateStore.new
|
86
94
|
end
|
@@ -102,23 +110,23 @@ class KuberKit::Container
|
|
102
110
|
end
|
103
111
|
|
104
112
|
register "shell.bash_commands" do
|
105
|
-
KuberKit::Shell::BashCommands.new
|
113
|
+
KuberKit::Shell::Commands::BashCommands.new
|
106
114
|
end
|
107
115
|
|
108
116
|
register "shell.docker_commands" do
|
109
|
-
KuberKit::Shell::DockerCommands.new
|
117
|
+
KuberKit::Shell::Commands::DockerCommands.new
|
110
118
|
end
|
111
119
|
|
112
120
|
register "shell.git_commands" do
|
113
|
-
KuberKit::Shell::GitCommands.new
|
121
|
+
KuberKit::Shell::Commands::GitCommands.new
|
114
122
|
end
|
115
123
|
|
116
124
|
register "shell.rsync_commands" do
|
117
|
-
KuberKit::Shell::RsyncCommands.new
|
125
|
+
KuberKit::Shell::Commands::RsyncCommands.new
|
118
126
|
end
|
119
127
|
|
120
128
|
register "shell.kubectl_commands" do
|
121
|
-
KuberKit::Shell::KubectlCommands.new
|
129
|
+
KuberKit::Shell::Commands::KubectlCommands.new
|
122
130
|
end
|
123
131
|
|
124
132
|
register "shell.local_shell" do
|
@@ -137,14 +145,14 @@ class KuberKit::Container
|
|
137
145
|
KuberKit::Preprocessing::FilePreprocessor.new
|
138
146
|
end
|
139
147
|
|
140
|
-
register "preprocessing.dir_preprocessor" do
|
141
|
-
KuberKit::Preprocessing::DirPreprocessor.new
|
142
|
-
end
|
143
|
-
|
144
148
|
register "image_compiler.action_handler" do
|
145
149
|
KuberKit::ImageCompiler::ActionHandler.new
|
146
150
|
end
|
147
151
|
|
152
|
+
register "image_compiler.build_server_pool_factory" do
|
153
|
+
KuberKit::ImageCompiler::BuildServerPoolFactory.new
|
154
|
+
end
|
155
|
+
|
148
156
|
register "image_compiler.compiler" do
|
149
157
|
KuberKit::ImageCompiler::Compiler.new
|
150
158
|
end
|
@@ -1,19 +1,6 @@
|
|
1
1
|
class KuberKit::Core::Artifacts::ArtifactStore
|
2
|
-
NotFoundError = Class.new(KuberKit::NotFoundError)
|
3
|
-
AlreadyAddedError = Class.new(KuberKit::Error)
|
4
|
-
|
5
2
|
def add(artifact)
|
6
|
-
|
7
|
-
|
8
|
-
if !artifact.is_a?(KuberKit::Core::Artifacts::AbstractArtifact)
|
9
|
-
raise ArgumentError.new("should be an instance of KuberKit::Core::Artifacts::AbstractArtifact, got: #{artifact.inspect}")
|
10
|
-
end
|
11
|
-
|
12
|
-
unless @@artifacts[artifact.name].nil?
|
13
|
-
raise AlreadyAddedError, "artifact #{artifact.name} was already added"
|
14
|
-
end
|
15
|
-
|
16
|
-
@@artifacts[artifact.name] = artifact
|
3
|
+
store.add(artifact.name, artifact)
|
17
4
|
end
|
18
5
|
|
19
6
|
def get(artifact_name)
|
@@ -24,14 +11,7 @@ class KuberKit::Core::Artifacts::ArtifactStore
|
|
24
11
|
end
|
25
12
|
|
26
13
|
def get_global(artifact_name)
|
27
|
-
|
28
|
-
artifact = @@artifacts[artifact_name]
|
29
|
-
|
30
|
-
if artifact.nil?
|
31
|
-
raise NotFoundError, "artifact '#{artifact_name}' not found"
|
32
|
-
end
|
33
|
-
|
34
|
-
artifact
|
14
|
+
store.get(artifact_name)
|
35
15
|
end
|
36
16
|
|
37
17
|
def get_from_configuration(artifact_name)
|
@@ -40,14 +20,15 @@ class KuberKit::Core::Artifacts::ArtifactStore
|
|
40
20
|
end
|
41
21
|
|
42
22
|
def reset!
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
def all_definitions
|
47
|
-
@@artifacts ||= {}
|
23
|
+
store.reset!
|
48
24
|
end
|
49
25
|
|
50
26
|
def exists?(artifact_name)
|
51
|
-
|
27
|
+
store.exists?(artifact_name)
|
52
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
def store
|
32
|
+
@@store ||= KuberKit::Core::Store.new(KuberKit::Core::Artifacts::AbstractArtifact)
|
33
|
+
end
|
53
34
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class KuberKit::Core::BuildServers::AbstractBuildServer
|
2
|
+
include KuberKit::Extensions::Inspectable
|
3
|
+
|
4
|
+
attr_reader :name
|
5
|
+
|
6
|
+
def initialize(build_server_name)
|
7
|
+
@name = build_server_name
|
8
|
+
end
|
9
|
+
|
10
|
+
def host
|
11
|
+
raise KuberKit::NotImplementedError, "must be implemented"
|
12
|
+
end
|
13
|
+
|
14
|
+
def user
|
15
|
+
raise KuberKit::NotImplementedError, "must be implemented"
|
16
|
+
end
|
17
|
+
|
18
|
+
def port
|
19
|
+
raise KuberKit::NotImplementedError, "must be implemented"
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class KuberKit::Core::BuildServers::BuildServer < KuberKit::Core::BuildServers::AbstractBuildServer
|
2
|
+
def setup(host:, user:, port:)
|
3
|
+
@host = host
|
4
|
+
@user = user
|
5
|
+
@port = port
|
6
|
+
|
7
|
+
self
|
8
|
+
end
|
9
|
+
|
10
|
+
def host
|
11
|
+
raise ArgumentError, "host is not set, please use #setup method" if @host.nil?
|
12
|
+
@host
|
13
|
+
end
|
14
|
+
|
15
|
+
def user
|
16
|
+
raise ArgumentError, "user is not set, please use #setup method" if @user.nil?
|
17
|
+
@user
|
18
|
+
end
|
19
|
+
|
20
|
+
def port
|
21
|
+
raise ArgumentError, "port is not set, please use #setup method" if @port.nil?
|
22
|
+
@port
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class KuberKit::Core::BuildServers::BuildServerStore
|
2
|
+
def add(build_server)
|
3
|
+
store.add(build_server.name, build_server)
|
4
|
+
end
|
5
|
+
|
6
|
+
def get(build_server_name)
|
7
|
+
store.get(build_server_name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def reset!
|
11
|
+
store.reset!
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
def store
|
16
|
+
@@store ||= KuberKit::Core::Store.new(KuberKit::Core::BuildServers::AbstractBuildServer)
|
17
|
+
end
|
18
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
class KuberKit::Core::Configuration
|
2
|
-
attr_reader :name, :artifacts, :registries, :env_files, :templates, :kubeconfig_path,
|
2
|
+
attr_reader :name, :artifacts, :registries, :env_files, :templates, :kubeconfig_path,
|
3
|
+
:deploy_strategy, :deploy_namespace, :services_attributes, :build_servers
|
3
4
|
|
4
5
|
Contract KeywordArgs[
|
5
6
|
name: Symbol,
|
@@ -8,10 +9,13 @@ class KuberKit::Core::Configuration
|
|
8
9
|
env_files: Hash,
|
9
10
|
templates: Hash,
|
10
11
|
kubeconfig_path: Maybe[String],
|
11
|
-
deploy_strategy:
|
12
|
-
|
12
|
+
deploy_strategy: Symbol,
|
13
|
+
deploy_namespace: Maybe[Symbol],
|
14
|
+
services_attributes: HashOf[Symbol => Hash],
|
15
|
+
build_servers: ArrayOf[KuberKit::Core::BuildServers::AbstractBuildServer]
|
13
16
|
] => Any
|
14
|
-
def initialize(name:, artifacts:, registries:, env_files:, templates:, kubeconfig_path:,
|
17
|
+
def initialize(name:, artifacts:, registries:, env_files:, templates:, kubeconfig_path:,
|
18
|
+
deploy_strategy:, deploy_namespace:, services_attributes:, build_servers:)
|
15
19
|
@name = name
|
16
20
|
@artifacts = artifacts
|
17
21
|
@registries = registries
|
@@ -19,7 +23,9 @@ class KuberKit::Core::Configuration
|
|
19
23
|
@templates = templates
|
20
24
|
@kubeconfig_path = kubeconfig_path
|
21
25
|
@deploy_strategy = deploy_strategy
|
26
|
+
@deploy_namespace = deploy_namespace
|
22
27
|
@services_attributes = services_attributes
|
28
|
+
@build_servers = build_servers
|
23
29
|
end
|
24
30
|
|
25
31
|
def service_attributes(service_name)
|
@@ -10,6 +10,7 @@ class KuberKit::Core::ConfigurationDefinition
|
|
10
10
|
@registries = {}
|
11
11
|
@env_files = {}
|
12
12
|
@templates = {}
|
13
|
+
@build_servers = []
|
13
14
|
@enabled_services = []
|
14
15
|
@services_attributes = {}
|
15
16
|
end
|
@@ -23,8 +24,10 @@ class KuberKit::Core::ConfigurationDefinition
|
|
23
24
|
templates: @templates,
|
24
25
|
kubeconfig_path: @kubeconfig_path,
|
25
26
|
deploy_strategy: @deploy_strategy,
|
27
|
+
deploy_namespace: @deploy_namespace,
|
26
28
|
enabled_services: @enabled_services,
|
27
|
-
|
29
|
+
build_servers: @build_servers,
|
30
|
+
services_attributes: @services_attributes,
|
28
31
|
)
|
29
32
|
end
|
30
33
|
|
@@ -64,12 +67,26 @@ class KuberKit::Core::ConfigurationDefinition
|
|
64
67
|
self
|
65
68
|
end
|
66
69
|
|
70
|
+
def use_build_server(build_server_name)
|
71
|
+
unless @build_servers.include?(build_server_name)
|
72
|
+
@build_servers.push(build_server_name)
|
73
|
+
end
|
74
|
+
|
75
|
+
self
|
76
|
+
end
|
77
|
+
|
67
78
|
def kubeconfig_path(path)
|
68
79
|
@kubeconfig_path = path
|
69
80
|
|
70
81
|
self
|
71
82
|
end
|
72
83
|
|
84
|
+
def deploy_namespace(namespace)
|
85
|
+
@deploy_namespace = namespace
|
86
|
+
|
87
|
+
self
|
88
|
+
end
|
89
|
+
|
73
90
|
def deploy_strategy(path)
|
74
91
|
@deploy_strategy = path
|
75
92
|
|