kuber_kit 0.1.4 → 0.1.9
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 +4 -4
- data/example/app_data/env_file.yml +10 -0
- 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/infrastructure/templates.rb +5 -0
- data/example/services/env_file.rb +6 -0
- data/kuber_kit.gemspec +1 -0
- data/lib/kuber_kit.rb +50 -23
- data/lib/kuber_kit/actions/configuration_loader.rb +5 -0
- data/lib/kuber_kit/actions/env_file_reader.rb +8 -5
- data/lib/kuber_kit/actions/image_compiler.rb +18 -22
- data/lib/kuber_kit/actions/kubectl_applier.rb +6 -1
- data/lib/kuber_kit/actions/service_deployer.rb +13 -3
- data/lib/kuber_kit/actions/service_reader.rb +9 -6
- data/lib/kuber_kit/actions/template_reader.rb +5 -0
- data/lib/kuber_kit/cli.rb +12 -6
- data/lib/kuber_kit/configs.rb +24 -22
- data/lib/kuber_kit/container.rb +39 -19
- data/lib/kuber_kit/core/artifacts/artifact_store.rb +12 -23
- 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 +14 -4
- data/lib/kuber_kit/core/configuration_definition.rb +22 -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/context_helper/base_helper.rb +12 -7
- data/lib/kuber_kit/core/context_helper/context_helper_factory.rb +11 -8
- data/lib/kuber_kit/core/context_helper/service_helper.rb +9 -4
- 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.rb +19 -3
- data/lib/kuber_kit/core/service_definition.rb +7 -0
- data/lib/kuber_kit/core/service_factory.rb +5 -1
- 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 +12 -23
- data/lib/kuber_kit/env_file_reader/action_handler.rb +12 -0
- data/lib/kuber_kit/env_file_reader/reader.rb +4 -4
- data/lib/kuber_kit/env_file_reader/{abstract_env_file_reader.rb → strategies/abstract.rb} +1 -1
- data/lib/kuber_kit/env_file_reader/{artifact_file_reader.rb → strategies/artifact_file.rb} +1 -1
- data/lib/kuber_kit/image_compiler/action_handler.rb +21 -0
- data/lib/kuber_kit/image_compiler/build_server_pool.rb +30 -0
- data/lib/kuber_kit/image_compiler/build_server_pool_factory.rb +13 -0
- data/lib/kuber_kit/image_compiler/compiler.rb +2 -5
- 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/preprocessing/text_preprocessor.rb +1 -1
- data/lib/kuber_kit/service_deployer/action_handler.rb +16 -0
- data/lib/kuber_kit/service_deployer/deployer.rb +28 -6
- data/lib/kuber_kit/service_deployer/strategies/abstract.rb +1 -1
- data/lib/kuber_kit/service_deployer/strategies/kubernetes.rb +9 -4
- data/lib/kuber_kit/service_deployer/strategy_detector.rb +6 -0
- data/lib/kuber_kit/service_reader/action_handler.rb +13 -0
- data/lib/kuber_kit/{service_deployer/service_reader.rb → service_reader/reader.rb} +1 -1
- 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/{kubectl_commands.rb → commands/kubectl_commands.rb} +1 -1
- data/lib/kuber_kit/shell/{rsync_commands.rb → commands/rsync_commands.rb} +9 -3
- data/lib/kuber_kit/shell/local_shell.rb +24 -5
- data/lib/kuber_kit/shell/ssh_session.rb +60 -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/version.rb +1 -1
- metadata +40 -13
- data/lib/kuber_kit/preprocessing/dir_preprocessor.rb +0 -19
- data/lib/kuber_kit/service_deployer/service_restarter.rb +0 -37
- data/lib/kuber_kit/tools/files_sync.rb +0 -10
@@ -1,17 +1,20 @@
|
|
1
1
|
class KuberKit::Actions::ServiceReader
|
2
2
|
include KuberKit::Import[
|
3
|
-
"core.service_store",
|
4
|
-
"service_deployer.service_reader",
|
5
3
|
"shell.local_shell",
|
6
|
-
"ui"
|
4
|
+
"ui",
|
5
|
+
service_reader: "service_reader.action_handler",
|
7
6
|
]
|
8
7
|
|
9
8
|
Contract Symbol, Hash => Any
|
10
9
|
def call(service_name, options)
|
11
|
-
|
12
|
-
|
13
|
-
result = service_reader.read(local_shell, service)
|
10
|
+
result = service_reader.call(local_shell, service_name)
|
14
11
|
|
15
12
|
ui.print_info(service_name.to_s, result)
|
13
|
+
|
14
|
+
true
|
15
|
+
rescue KuberKit::Error => e
|
16
|
+
ui.print_error("Error", e.message)
|
17
|
+
|
18
|
+
false
|
16
19
|
end
|
17
20
|
end
|
data/lib/kuber_kit/cli.rb
CHANGED
@@ -15,12 +15,18 @@ class KuberKit::CLI < Thor
|
|
15
15
|
image_names = image_names_str.split(",").map(&:strip).map(&:to_sym)
|
16
16
|
|
17
17
|
KuberKit::Container['actions.configuration_loader'].call(options)
|
18
|
-
KuberKit::Container['actions.image_compiler'].call(image_names, options)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
result = KuberKit::Container['actions.image_compiler'].call(image_names, options)
|
19
|
+
|
20
|
+
if result
|
21
|
+
logger = KuberKit::Container['tools.logger']
|
22
|
+
logger.info("---------------------------")
|
23
|
+
logger.info("Image compilation finished!")
|
24
|
+
logger.info("---------------------------")
|
25
|
+
else
|
26
|
+
logger.info("-------------------------".red)
|
27
|
+
logger.info("Image compilation failed!".red)
|
28
|
+
logger.info("-------------------------".red)
|
29
|
+
end
|
24
30
|
end
|
25
31
|
|
26
32
|
desc "env ENV_FILE_NAME", "Return content of Env File ENV_FILE_NAME"
|
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
@@ -69,18 +69,22 @@ class KuberKit::Container
|
|
69
69
|
KuberKit::Core::ConfigurationStore.new
|
70
70
|
end
|
71
71
|
|
72
|
-
register "core.registry_store" do
|
73
|
-
KuberKit::Core::Registries::RegistryStore.new
|
74
|
-
end
|
75
|
-
|
76
72
|
register "core.artifact_store" do
|
77
73
|
KuberKit::Core::Artifacts::ArtifactStore.new
|
78
74
|
end
|
79
75
|
|
76
|
+
register "core.build_server_store" do
|
77
|
+
KuberKit::Core::BuildServers::BuildServerStore.new
|
78
|
+
end
|
79
|
+
|
80
80
|
register "core.env_file_store" do
|
81
81
|
KuberKit::Core::EnvFiles::EnvFileStore.new
|
82
82
|
end
|
83
83
|
|
84
|
+
register "core.registry_store" do
|
85
|
+
KuberKit::Core::Registries::RegistryStore.new
|
86
|
+
end
|
87
|
+
|
84
88
|
register "core.template_store" do
|
85
89
|
KuberKit::Core::Templates::TemplateStore.new
|
86
90
|
end
|
@@ -102,23 +106,23 @@ class KuberKit::Container
|
|
102
106
|
end
|
103
107
|
|
104
108
|
register "shell.bash_commands" do
|
105
|
-
KuberKit::Shell::BashCommands.new
|
109
|
+
KuberKit::Shell::Commands::BashCommands.new
|
106
110
|
end
|
107
111
|
|
108
112
|
register "shell.docker_commands" do
|
109
|
-
KuberKit::Shell::DockerCommands.new
|
113
|
+
KuberKit::Shell::Commands::DockerCommands.new
|
110
114
|
end
|
111
115
|
|
112
116
|
register "shell.git_commands" do
|
113
|
-
KuberKit::Shell::GitCommands.new
|
117
|
+
KuberKit::Shell::Commands::GitCommands.new
|
114
118
|
end
|
115
119
|
|
116
120
|
register "shell.rsync_commands" do
|
117
|
-
KuberKit::Shell::RsyncCommands.new
|
121
|
+
KuberKit::Shell::Commands::RsyncCommands.new
|
118
122
|
end
|
119
123
|
|
120
124
|
register "shell.kubectl_commands" do
|
121
|
-
KuberKit::Shell::KubectlCommands.new
|
125
|
+
KuberKit::Shell::Commands::KubectlCommands.new
|
122
126
|
end
|
123
127
|
|
124
128
|
register "shell.local_shell" do
|
@@ -137,8 +141,12 @@ class KuberKit::Container
|
|
137
141
|
KuberKit::Preprocessing::FilePreprocessor.new
|
138
142
|
end
|
139
143
|
|
140
|
-
register "
|
141
|
-
KuberKit::
|
144
|
+
register "image_compiler.action_handler" do
|
145
|
+
KuberKit::ImageCompiler::ActionHandler.new
|
146
|
+
end
|
147
|
+
|
148
|
+
register "image_compiler.build_server_pool_factory" do
|
149
|
+
KuberKit::ImageCompiler::BuildServerPoolFactory.new
|
142
150
|
end
|
143
151
|
|
144
152
|
register "image_compiler.compiler" do
|
@@ -173,12 +181,16 @@ class KuberKit::Container
|
|
173
181
|
KuberKit::ArtifactsSync::NullArtifactResolver.new
|
174
182
|
end
|
175
183
|
|
184
|
+
register "env_file_reader.action_handler" do
|
185
|
+
KuberKit::EnvFileReader::ActionHandler.new
|
186
|
+
end
|
187
|
+
|
176
188
|
register "env_file_reader.reader" do
|
177
189
|
KuberKit::EnvFileReader::Reader.new
|
178
190
|
end
|
179
191
|
|
180
|
-
register "env_file_reader.
|
181
|
-
KuberKit::EnvFileReader::
|
192
|
+
register "env_file_reader.strategies.artifact_file" do
|
193
|
+
KuberKit::EnvFileReader::Strategies::ArtifactFile.new
|
182
194
|
end
|
183
195
|
|
184
196
|
register "template_reader.reader" do
|
@@ -189,16 +201,16 @@ class KuberKit::Container
|
|
189
201
|
KuberKit::TemplateReader::ArtifactFileReader.new
|
190
202
|
end
|
191
203
|
|
192
|
-
register "service_deployer.
|
193
|
-
KuberKit::ServiceDeployer::
|
204
|
+
register "service_deployer.action_handler" do
|
205
|
+
KuberKit::ServiceDeployer::ActionHandler.new
|
194
206
|
end
|
195
207
|
|
196
|
-
register "service_deployer.
|
197
|
-
KuberKit::ServiceDeployer::
|
208
|
+
register "service_deployer.strategy_detector" do
|
209
|
+
KuberKit::ServiceDeployer::StrategyDetector.new
|
198
210
|
end
|
199
211
|
|
200
|
-
register "service_deployer.
|
201
|
-
KuberKit::ServiceDeployer::
|
212
|
+
register "service_deployer.deployer" do
|
213
|
+
KuberKit::ServiceDeployer::Deployer.new
|
202
214
|
end
|
203
215
|
|
204
216
|
register "service_deployer.service_list_resolver" do
|
@@ -209,6 +221,14 @@ class KuberKit::Container
|
|
209
221
|
KuberKit::ServiceDeployer::Strategies::Kubernetes.new
|
210
222
|
end
|
211
223
|
|
224
|
+
register "service_reader.action_handler" do
|
225
|
+
KuberKit::ServiceReader::ActionHandler.new
|
226
|
+
end
|
227
|
+
|
228
|
+
register "service_reader.reader" do
|
229
|
+
KuberKit::ServiceReader::Reader.new
|
230
|
+
end
|
231
|
+
|
212
232
|
register "ui" do
|
213
233
|
if KuberKit.debug_mode?
|
214
234
|
KuberKit::UI::Simple.new
|
@@ -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,6 +20,15 @@ class KuberKit::Core::Artifacts::ArtifactStore
|
|
40
20
|
end
|
41
21
|
|
42
22
|
def reset!
|
43
|
-
|
23
|
+
store.reset!
|
24
|
+
end
|
25
|
+
|
26
|
+
def exists?(artifact_name)
|
27
|
+
store.exists?(artifact_name)
|
44
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
def store
|
32
|
+
@@store ||= KuberKit::Core::Store.new(KuberKit::Core::Artifacts::AbstractArtifact)
|
33
|
+
end
|
45
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, :services_attributes, :build_servers
|
3
4
|
|
4
5
|
Contract KeywordArgs[
|
5
6
|
name: Symbol,
|
@@ -7,10 +8,13 @@ class KuberKit::Core::Configuration
|
|
7
8
|
registries: Hash,
|
8
9
|
env_files: Hash,
|
9
10
|
templates: Hash,
|
10
|
-
kubeconfig_path:
|
11
|
-
deploy_strategy: Symbol
|
11
|
+
kubeconfig_path: Maybe[String],
|
12
|
+
deploy_strategy: Symbol,
|
13
|
+
services_attributes: HashOf[Symbol => Hash],
|
14
|
+
build_servers: ArrayOf[KuberKit::Core::BuildServers::AbstractBuildServer]
|
12
15
|
] => Any
|
13
|
-
def initialize(name:, artifacts:, registries:, env_files:, templates:, kubeconfig_path:,
|
16
|
+
def initialize(name:, artifacts:, registries:, env_files:, templates:, kubeconfig_path:,
|
17
|
+
deploy_strategy:, services_attributes:, build_servers:)
|
14
18
|
@name = name
|
15
19
|
@artifacts = artifacts
|
16
20
|
@registries = registries
|
@@ -18,5 +22,11 @@ class KuberKit::Core::Configuration
|
|
18
22
|
@templates = templates
|
19
23
|
@kubeconfig_path = kubeconfig_path
|
20
24
|
@deploy_strategy = deploy_strategy
|
25
|
+
@services_attributes = services_attributes
|
26
|
+
@build_servers = build_servers
|
27
|
+
end
|
28
|
+
|
29
|
+
def service_attributes(service_name)
|
30
|
+
services_attributes[service_name.to_sym] || {}
|
21
31
|
end
|
22
32
|
end
|
@@ -10,6 +10,9 @@ class KuberKit::Core::ConfigurationDefinition
|
|
10
10
|
@registries = {}
|
11
11
|
@env_files = {}
|
12
12
|
@templates = {}
|
13
|
+
@build_servers = []
|
14
|
+
@enabled_services = []
|
15
|
+
@services_attributes = {}
|
13
16
|
end
|
14
17
|
|
15
18
|
def to_attrs
|
@@ -20,7 +23,10 @@ class KuberKit::Core::ConfigurationDefinition
|
|
20
23
|
env_files: @env_files,
|
21
24
|
templates: @templates,
|
22
25
|
kubeconfig_path: @kubeconfig_path,
|
23
|
-
deploy_strategy: @deploy_strategy
|
26
|
+
deploy_strategy: @deploy_strategy,
|
27
|
+
enabled_services: @enabled_services,
|
28
|
+
build_servers: @build_servers,
|
29
|
+
services_attributes: @services_attributes
|
24
30
|
)
|
25
31
|
end
|
26
32
|
|
@@ -60,6 +66,14 @@ class KuberKit::Core::ConfigurationDefinition
|
|
60
66
|
self
|
61
67
|
end
|
62
68
|
|
69
|
+
def use_build_server(build_server_name)
|
70
|
+
unless @build_servers.include?(build_server_name)
|
71
|
+
@build_servers.push(build_server_name)
|
72
|
+
end
|
73
|
+
|
74
|
+
self
|
75
|
+
end
|
76
|
+
|
63
77
|
def kubeconfig_path(path)
|
64
78
|
@kubeconfig_path = path
|
65
79
|
|
@@ -71,4 +85,11 @@ class KuberKit::Core::ConfigurationDefinition
|
|
71
85
|
|
72
86
|
self
|
73
87
|
end
|
88
|
+
|
89
|
+
def enabled_services(services_hash)
|
90
|
+
@enabled_services += services_hash.keys.map(&:to_sym)
|
91
|
+
@services_attributes = @services_attributes.merge(services_hash)
|
92
|
+
|
93
|
+
self
|
94
|
+
end
|
74
95
|
end
|