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