kuber_kit 0.8.3 → 0.8.7
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/CHANGELOG.md +6 -0
- data/lib/kuber_kit/actions/service_deployer.rb +18 -5
- data/lib/kuber_kit/core/configuration.rb +7 -5
- data/lib/kuber_kit/core/configuration_definition.rb +7 -0
- data/lib/kuber_kit/core/configuration_factory.rb +1 -0
- data/lib/kuber_kit/shell/commands/kubectl_commands.rb +1 -1
- data/lib/kuber_kit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54b6ecd710d6c26abfa3120d45ee37c4c48591279399f7dc7283ed280484e469
|
4
|
+
data.tar.gz: 18402da273d9994f2933469e84138f3ad262b3315126a6578e86a8d742b505af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3b25ccf45339aada7b5a4bd03593b95aac04daf85ebd65789a3a8670b31286be1445cf6b4c4b42b12e076c08b7df46660bb0d6655acdadc50fb8806d9aa8e0a
|
7
|
+
data.tar.gz: c19d7bbd25d912d0c8cb786fb0e5ef947887a9f27eb9866a609bd3aa96dfaf4b31120001da3b72f4d4808bf52dc78a3998f0746b602eff8c02fa17336695e9c9
|
data/CHANGELOG.md
CHANGED
@@ -28,9 +28,11 @@ class KuberKit::Actions::ServiceDeployer
|
|
28
28
|
services, tags = deployment_options_selector.call()
|
29
29
|
end
|
30
30
|
|
31
|
-
default_services = current_configuration.default_services.map(&:to_s)
|
32
31
|
disabled_services = current_configuration.disabled_services.map(&:to_s)
|
33
32
|
disabled_services += skip_services if skip_services
|
33
|
+
default_services = current_configuration.default_services.map(&:to_s) - disabled_services
|
34
|
+
initial_services = current_configuration.initial_services.map(&:to_s) - disabled_services
|
35
|
+
initial_service_names = initial_services.map(&:to_sym)
|
34
36
|
|
35
37
|
service_names = service_list_resolver.resolve(
|
36
38
|
services: services || [],
|
@@ -52,21 +54,32 @@ class KuberKit::Actions::ServiceDeployer
|
|
52
54
|
return false
|
53
55
|
end
|
54
56
|
|
55
|
-
unless allow_deployment?(require_confirmation: require_confirmation, service_names: all_service_names)
|
57
|
+
unless allow_deployment?(require_confirmation: require_confirmation, service_names: (initial_service_names + all_service_names).uniq)
|
56
58
|
return false
|
57
59
|
end
|
58
60
|
|
59
61
|
# Compile images for all services and dependencies
|
60
|
-
images_names = get_image_names(service_names: all_service_names)
|
62
|
+
images_names = get_image_names(service_names: (initial_service_names + all_service_names).uniq)
|
61
63
|
unless skip_compile
|
62
64
|
compilation_result = compile_images(images_names)
|
63
65
|
|
64
66
|
return false unless compilation_result && compilation_result.succeeded?
|
65
67
|
end
|
66
68
|
|
69
|
+
# First deploy initial services.
|
70
|
+
# This feature is used to deploy some services, required for deployment of other services, e.g. env files
|
71
|
+
# Note: Initial services are deployed without dependencies
|
72
|
+
initial_services.map(&:to_sym).each_slice(configs.deploy_simultaneous_limit) do |batch_service_names|
|
73
|
+
ui.print_debug("ServiceDeployer", "Scheduling to compile: #{batch_service_names.inspect}. Limit: #{configs.deploy_simultaneous_limit}")
|
74
|
+
|
75
|
+
if deployment_result.succeeded?
|
76
|
+
deploy_simultaneously(batch_service_names, deployment_result)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
67
80
|
if skip_dependencies
|
68
81
|
service_names.each_slice(configs.deploy_simultaneous_limit) do |batch_service_names|
|
69
|
-
ui.print_debug("ServiceDeployer", "Scheduling to
|
82
|
+
ui.print_debug("ServiceDeployer", "Scheduling to deploy: #{batch_service_names.inspect}. Limit: #{configs.deploy_simultaneous_limit}")
|
70
83
|
|
71
84
|
if deployment_result.succeeded?
|
72
85
|
deploy_simultaneously(batch_service_names, deployment_result)
|
@@ -74,7 +87,7 @@ class KuberKit::Actions::ServiceDeployer
|
|
74
87
|
end
|
75
88
|
else
|
76
89
|
service_dependency_resolver.each_with_deps(service_names) do |dep_service_names|
|
77
|
-
ui.print_debug("ServiceDeployer", "Scheduling to
|
90
|
+
ui.print_debug("ServiceDeployer", "Scheduling to deploy: #{dep_service_names.inspect}. Limit: #{configs.deploy_simultaneous_limit}")
|
78
91
|
|
79
92
|
if deployment_result.succeeded?
|
80
93
|
deploy_simultaneously(dep_service_names, deployment_result)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class KuberKit::Core::Configuration
|
2
2
|
attr_reader :name, :artifacts, :registries, :env_files, :templates, :kubeconfig_path,
|
3
|
-
:services_attributes, :enabled_services, :disabled_services, :default_services,
|
4
|
-
:build_servers, :global_build_vars,
|
3
|
+
:services_attributes, :enabled_services, :disabled_services, :default_services,
|
4
|
+
:initial_services, :build_servers, :global_build_vars,
|
5
5
|
:deployer_strategy, :deployer_namespace, :deployer_require_confirmation
|
6
6
|
|
7
7
|
Contract KeywordArgs[
|
@@ -15,15 +15,16 @@ class KuberKit::Core::Configuration
|
|
15
15
|
enabled_services: ArrayOf[Symbol],
|
16
16
|
disabled_services: ArrayOf[Symbol],
|
17
17
|
default_services: ArrayOf[Symbol],
|
18
|
+
initial_services: ArrayOf[Symbol],
|
18
19
|
build_servers: ArrayOf[KuberKit::Core::BuildServers::AbstractBuildServer],
|
19
20
|
global_build_vars: HashOf[Symbol => Any],
|
20
21
|
deployer_strategy: Symbol,
|
21
|
-
deployer_namespace: Maybe[Symbol],
|
22
|
+
deployer_namespace: Maybe[Or[Symbol, String]],
|
22
23
|
deployer_require_confirmation: Bool,
|
23
24
|
] => Any
|
24
25
|
def initialize(name:, artifacts:, registries:, env_files:, templates:, kubeconfig_path:,
|
25
26
|
services_attributes:, enabled_services:, disabled_services:, default_services:,
|
26
|
-
build_servers:, global_build_vars:,
|
27
|
+
initial_services:, build_servers:, global_build_vars:,
|
27
28
|
deployer_strategy:, deployer_namespace:, deployer_require_confirmation:)
|
28
29
|
@name = name
|
29
30
|
@artifacts = artifacts
|
@@ -36,6 +37,7 @@ class KuberKit::Core::Configuration
|
|
36
37
|
@enabled_services = enabled_services
|
37
38
|
@disabled_services = disabled_services
|
38
39
|
@default_services = default_services
|
40
|
+
@initial_services = initial_services
|
39
41
|
@global_build_vars = global_build_vars
|
40
42
|
@deployer_strategy = deployer_strategy
|
41
43
|
@deployer_namespace = deployer_namespace
|
@@ -52,4 +54,4 @@ class KuberKit::Core::Configuration
|
|
52
54
|
end
|
53
55
|
global_build_vars
|
54
56
|
end
|
55
|
-
end
|
57
|
+
end
|
@@ -14,6 +14,7 @@ class KuberKit::Core::ConfigurationDefinition
|
|
14
14
|
@enabled_services = []
|
15
15
|
@disabled_services = []
|
16
16
|
@default_services = []
|
17
|
+
@initial_services = []
|
17
18
|
@services_attributes = {}
|
18
19
|
end
|
19
20
|
|
@@ -28,6 +29,7 @@ class KuberKit::Core::ConfigurationDefinition
|
|
28
29
|
enabled_services: @enabled_services,
|
29
30
|
disabled_services: @disabled_services,
|
30
31
|
default_services: @default_services,
|
32
|
+
initial_services: @initial_services,
|
31
33
|
build_servers: @build_servers,
|
32
34
|
services_attributes: @services_attributes,
|
33
35
|
global_build_vars: @global_build_vars,
|
@@ -126,6 +128,11 @@ class KuberKit::Core::ConfigurationDefinition
|
|
126
128
|
return self
|
127
129
|
end
|
128
130
|
|
131
|
+
def initial_services(services)
|
132
|
+
@initial_services += services.map(&:to_sym)
|
133
|
+
return self
|
134
|
+
end
|
135
|
+
|
129
136
|
def disabled_services(services)
|
130
137
|
@disabled_services += services.map(&:to_sym)
|
131
138
|
return self
|
@@ -31,6 +31,7 @@ class KuberKit::Core::ConfigurationFactory
|
|
31
31
|
enabled_services: configuration_attrs.enabled_services,
|
32
32
|
disabled_services: configuration_attrs.disabled_services,
|
33
33
|
default_services: configuration_attrs.default_services,
|
34
|
+
initial_services: configuration_attrs.initial_services,
|
34
35
|
global_build_vars: configuration_attrs.global_build_vars || {},
|
35
36
|
deployer_strategy: configuration_attrs.deployer_strategy || configs.deployer_strategy,
|
36
37
|
deployer_namespace: configuration_attrs.deployer_namespace,
|
@@ -10,7 +10,7 @@ class KuberKit::Shell::Commands::KubectlCommands
|
|
10
10
|
kubeconfig_path: Maybe[Or[
|
11
11
|
String, KuberKit::Core::ArtifactPath
|
12
12
|
]],
|
13
|
-
namespace: Maybe[String],
|
13
|
+
namespace: Maybe[Or[Symbol, String]],
|
14
14
|
interactive: Optional[Bool],
|
15
15
|
] => Any
|
16
16
|
def kubectl_run(shell, command_list, kubeconfig_path: nil, namespace: nil, interactive: false)
|
data/lib/kuber_kit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuber_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Iskander Khaziev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: contracts
|