kuber_kit 0.7.0 → 0.8.2
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 +9 -1
- data/README.md +23 -0
- data/kuber_kit.gemspec +3 -2
- data/lib/kuber_kit/actions/kubectl_env.rb +6 -0
- data/lib/kuber_kit/actions/service_deployer.rb +21 -7
- data/lib/kuber_kit/artifacts_sync/artifact_updater.rb +0 -14
- data/lib/kuber_kit/cli.rb +2 -0
- data/lib/kuber_kit/container.rb +4 -0
- data/lib/kuber_kit/core/artifact_path.rb +8 -0
- data/lib/kuber_kit/core/artifact_path_resolver.rb +13 -0
- data/lib/kuber_kit/core/configuration.rb +1 -1
- data/lib/kuber_kit/defaults.rb +32 -0
- data/lib/kuber_kit/env_file_reader/reader.rb +1 -21
- data/lib/kuber_kit/service_deployer/service_list_resolver.rb +1 -1
- data/lib/kuber_kit/shell/commands/kubectl_commands.rb +17 -2
- data/lib/kuber_kit/template_reader/reader.rb +0 -18
- data/lib/kuber_kit/version.rb +1 -1
- data/lib/kuber_kit.rb +6 -0
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d37959e170cf0ae0f88daa765fed03f52d3df930a05f8130fccbd2d6b68468d
|
4
|
+
data.tar.gz: 89610ec982168e4bad20d1688b792d60f95174e9a3d8d420bc7a257db6889b86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6d6dbe6c69bb428b7b528bcfed76d1619abd1b8253bd2a2c069a657e487db6444cdfa65a6ec8e896bb691b688dcb4a5dfcd1a024bf657c29ad77b0eb40b5cc5
|
7
|
+
data.tar.gz: 758e908ce338e9effb8d9e1740e200ee69b64b22154436c6548635eca3ffcd39c1ee634c94850741cecb629558a875055afc85434ba45adeccecc29e209a8f3e
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
**0.
|
1
|
+
**0.8.2**
|
2
|
+
- Update Kit Env command to support kubeconfig path as artifact
|
3
|
+
|
4
|
+
**0.8.1**
|
5
|
+
- Allow deploying services without dependecies
|
6
|
+
- Default services should be first in the list
|
7
|
+
- KubeConfig should be able to take file from artifact
|
8
|
+
|
9
|
+
**0.7.1**
|
2
10
|
- Added Ruby 3.0 support
|
3
11
|
|
4
12
|
**0.6.4**
|
data/README.md
CHANGED
@@ -12,6 +12,29 @@ Add this line to your application's Gemfile:
|
|
12
12
|
gem 'kuber_kit'
|
13
13
|
```
|
14
14
|
|
15
|
+
## Usage
|
16
|
+
|
17
|
+
### Available commands
|
18
|
+
|
19
|
+
* `kit apply FILE_PATH` - Apply FILE_PATH with kubectl. Doesn't guarantee service restart. E.g. `kit apply -C community ~/.kuber_kit/services/main_app_sidekiq.yml`.
|
20
|
+
* `kit attach` - Attach to POD_NAME. E.g. `kit attach -C community main-app-sidekiq-797646db88-7s4g7`
|
21
|
+
* `kit compile IMAGE_NAMES` - Compile image with IMAGE_NAMES (comma-separated), and pushes to registry. Does not launch service. E.g. `kit compile -C community main_app_sidekiq`
|
22
|
+
* `kit console POD_NAME` - Attach to POD_NAME & launch bin/console. E.g. `kit console -C community main-app-sidekiq-797646db88-7s4g7`
|
23
|
+
* `kit deploy` - Deploy all services
|
24
|
+
* `kit env ENV_FILE_NAME` - Return content of Env File ENV_FILE_NAME, where ENV_FILE_NAME artifact added by `KuberKit.add_env_file` in config files. E.g. `kit env -C community env_rke_community`
|
25
|
+
* `kit help [COMMAND]` - Describe available commands or one specific command
|
26
|
+
* `kit logs POD_NAME` - Show logs for POD_NAME. E.g. `kit logs -C community main-app-sidekiq-797646db88-7s4g7`
|
27
|
+
* `kit service SERVICE_NAME` - Return content of Service. E.g. `kit service -C community main_app_sidekiq`
|
28
|
+
* `kit template TEMPLATE_NAME` - Return content of Template. E.g. `kit template -C community web_app`
|
29
|
+
* `kit version` - Print current version
|
30
|
+
|
31
|
+
### Deploy Specific services
|
32
|
+
|
33
|
+
* `kit deploy -t blogging` - Deploy all services with tag blogging
|
34
|
+
* `kit deploy -s blogging_app` - Deploy service with name blogging_app
|
35
|
+
* `kit deploy -s *_app` - Deploy all services with name ending `_app`
|
36
|
+
* `kit deploy -t blogging -s ^*_app` - Deploy all services with tag blogging, except ones ending with `_app`
|
37
|
+
|
15
38
|
## Development
|
16
39
|
|
17
40
|
### Launch compilation
|
data/kuber_kit.gemspec
CHANGED
@@ -23,13 +23,13 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
-
if RUBY_VERSION >= '3.0.0'
|
26
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
27
27
|
spec.add_dependency "contracts", '0.17.0'
|
28
28
|
else
|
29
29
|
spec.add_dependency "contracts", '0.16.0'
|
30
30
|
end
|
31
31
|
|
32
|
-
if RUBY_VERSION >= '2.6.0'
|
32
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6.0')
|
33
33
|
spec.add_dependency "dry-auto_inject", "~> 0.8.0"
|
34
34
|
else
|
35
35
|
spec.add_dependency "dry-auto_inject", "~> 0.7.0"
|
@@ -40,6 +40,7 @@ Gem::Specification.new do |spec|
|
|
40
40
|
spec.add_dependency "net-ssh"
|
41
41
|
spec.add_dependency "tty-prompt"
|
42
42
|
spec.add_dependency "dry-container", "~> 0.7.2"
|
43
|
+
spec.add_dependency "dry-configurable", "~> 0.12.1"
|
43
44
|
|
44
45
|
spec.add_development_dependency "bundler", "~> 2.2"
|
45
46
|
spec.add_development_dependency "rake", "~> 10.0"
|
@@ -1,5 +1,6 @@
|
|
1
1
|
class KuberKit::Actions::KubectlEnv
|
2
2
|
include KuberKit::Import[
|
3
|
+
"core.artifact_path_resolver",
|
3
4
|
"shell.local_shell",
|
4
5
|
"ui"
|
5
6
|
]
|
@@ -8,6 +9,11 @@ class KuberKit::Actions::KubectlEnv
|
|
8
9
|
def call(options)
|
9
10
|
configuration = KuberKit.current_configuration
|
10
11
|
kubeconfig_path = configuration.kubeconfig_path
|
12
|
+
|
13
|
+
if kubeconfig_path.is_a?(KuberKit::Core::ArtifactPath)
|
14
|
+
kubeconfig_path = artifact_path_resolver.call(kubeconfig_path)
|
15
|
+
end
|
16
|
+
|
11
17
|
ui.print_info("ENV", "export KUBECONFIG=#{kubeconfig_path}")
|
12
18
|
|
13
19
|
true
|
@@ -17,9 +17,10 @@ class KuberKit::Actions::ServiceDeployer
|
|
17
17
|
tags: Maybe[ArrayOf[String]],
|
18
18
|
skip_services: Maybe[ArrayOf[String]],
|
19
19
|
skip_compile: Maybe[Bool],
|
20
|
+
skip_dependencies: Maybe[Bool],
|
20
21
|
require_confirmation: Maybe[Bool],
|
21
22
|
] => Any
|
22
|
-
def call(services:, tags:, skip_services: nil, skip_compile: false, require_confirmation: false)
|
23
|
+
def call(services:, tags:, skip_services: nil, skip_compile: false, skip_dependencies: false, require_confirmation: false)
|
23
24
|
deployment_result = KuberKit::Actions::ActionResult.new()
|
24
25
|
current_configuration = KuberKit.current_configuration
|
25
26
|
|
@@ -30,7 +31,6 @@ class KuberKit::Actions::ServiceDeployer
|
|
30
31
|
default_services = current_configuration.default_services.map(&:to_s)
|
31
32
|
disabled_services = current_configuration.disabled_services.map(&:to_s)
|
32
33
|
disabled_services += skip_services if skip_services
|
33
|
-
|
34
34
|
|
35
35
|
service_names = service_list_resolver.resolve(
|
36
36
|
services: services || [],
|
@@ -41,7 +41,11 @@ class KuberKit::Actions::ServiceDeployer
|
|
41
41
|
).map(&:to_sym)
|
42
42
|
|
43
43
|
# Return the list of services with all dependencies.
|
44
|
-
|
44
|
+
if skip_dependencies
|
45
|
+
all_service_names = service_names
|
46
|
+
else
|
47
|
+
all_service_names = service_dependency_resolver.get_all(service_names)
|
48
|
+
end
|
45
49
|
|
46
50
|
unless all_service_names.any?
|
47
51
|
ui.print_warning "ServiceDeployer", "No service found with given options, nothing will be deployed."
|
@@ -60,11 +64,21 @@ class KuberKit::Actions::ServiceDeployer
|
|
60
64
|
return false unless compilation_result && compilation_result.succeeded?
|
61
65
|
end
|
62
66
|
|
63
|
-
|
64
|
-
|
67
|
+
if skip_dependencies
|
68
|
+
service_names.each_slice(configs.deploy_simultaneous_limit) do |batch_service_names|
|
69
|
+
ui.print_debug("ServiceDeployer", "Scheduling to compile: #{batch_service_names.inspect}. Limit: #{configs.deploy_simultaneous_limit}")
|
70
|
+
|
71
|
+
if deployment_result.succeeded?
|
72
|
+
deploy_simultaneously(batch_service_names, deployment_result)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
else
|
76
|
+
service_dependency_resolver.each_with_deps(service_names) do |dep_service_names|
|
77
|
+
ui.print_debug("ServiceDeployer", "Scheduling to compile: #{dep_service_names.inspect}. Limit: #{configs.deploy_simultaneous_limit}")
|
65
78
|
|
66
|
-
|
67
|
-
|
79
|
+
if deployment_result.succeeded?
|
80
|
+
deploy_simultaneously(dep_service_names, deployment_result)
|
81
|
+
end
|
68
82
|
end
|
69
83
|
end
|
70
84
|
|
@@ -2,9 +2,6 @@ class KuberKit::ArtifactsSync::ArtifactUpdater
|
|
2
2
|
ResolverNotFoundError = Class.new(KuberKit::NotFoundError)
|
3
3
|
|
4
4
|
include KuberKit::Import[
|
5
|
-
"artifacts_sync.git_artifact_resolver",
|
6
|
-
"artifacts_sync.null_artifact_resolver",
|
7
|
-
|
8
5
|
"ui"
|
9
6
|
]
|
10
7
|
|
@@ -19,8 +16,6 @@ class KuberKit::ArtifactsSync::ArtifactUpdater
|
|
19
16
|
end
|
20
17
|
|
21
18
|
def update(shell, artifact)
|
22
|
-
add_default_resolvers
|
23
|
-
|
24
19
|
resolver = @@resolvers[artifact.class]
|
25
20
|
|
26
21
|
ui.print_debug "ArtifactUpdater", "Updating artifact #{artifact.name.to_s.green}"
|
@@ -29,13 +24,4 @@ class KuberKit::ArtifactsSync::ArtifactUpdater
|
|
29
24
|
|
30
25
|
resolver.resolve(shell, artifact)
|
31
26
|
end
|
32
|
-
|
33
|
-
def add_default_resolvers
|
34
|
-
use_resolver(git_artifact_resolver, artifact_class: KuberKit::Core::Artifacts::Git)
|
35
|
-
use_resolver(null_artifact_resolver, artifact_class: KuberKit::Core::Artifacts::Local)
|
36
|
-
end
|
37
|
-
|
38
|
-
def reset!
|
39
|
-
@@resolvers = {}
|
40
|
-
end
|
41
27
|
end
|
data/lib/kuber_kit/cli.rb
CHANGED
@@ -39,6 +39,7 @@ class KuberKit::CLI < Thor
|
|
39
39
|
method_option :tags, :type => :array, aliases: ["-t"], repeatable: true
|
40
40
|
method_option :skip_services, :type => :array, aliases: ["-S"], repeatable: true
|
41
41
|
method_option :skip_compile, :type => :boolean, aliases: ["-B"]
|
42
|
+
method_option :skip_dependencies, :type => :boolean, aliases: ["-D"]
|
42
43
|
method_option :require_confirmation, :type => :boolean, aliases: ["-r"]
|
43
44
|
def deploy
|
44
45
|
setup(options)
|
@@ -53,6 +54,7 @@ class KuberKit::CLI < Thor
|
|
53
54
|
tags: (options[:tags] || []).flatten.uniq,
|
54
55
|
skip_services: (options[:skip_services] || []).flatten.uniq,
|
55
56
|
skip_compile: options[:skip_compile] || false,
|
57
|
+
skip_dependencies: options[:skip_dependencies] || false,
|
56
58
|
require_confirmation: require_confirmation
|
57
59
|
)
|
58
60
|
end
|
data/lib/kuber_kit/container.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
class KuberKit::Core::ArtifactPathResolver < KuberKit::EnvFileReader::Strategies::Abstract
|
2
|
+
include KuberKit::Import[
|
3
|
+
"core.artifact_store"
|
4
|
+
]
|
5
|
+
|
6
|
+
Contract KuberKit::Core::ArtifactPath => String
|
7
|
+
def call(artifact_path)
|
8
|
+
artifact = artifact_store.get(artifact_path.artifact_name)
|
9
|
+
|
10
|
+
file_parts = [artifact.cloned_path, artifact_path.file_path].compact
|
11
|
+
File.join(*file_parts)
|
12
|
+
end
|
13
|
+
end
|
@@ -10,7 +10,7 @@ class KuberKit::Core::Configuration
|
|
10
10
|
registries: Hash,
|
11
11
|
env_files: Hash,
|
12
12
|
templates: Hash,
|
13
|
-
kubeconfig_path: Maybe[String],
|
13
|
+
kubeconfig_path: Maybe[Or[String, KuberKit::Core::ArtifactPath]],
|
14
14
|
services_attributes: HashOf[Symbol => Hash],
|
15
15
|
enabled_services: ArrayOf[Symbol],
|
16
16
|
disabled_services: ArrayOf[Symbol],
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class KuberKit::Defaults
|
2
|
+
class << self
|
3
|
+
def init
|
4
|
+
return if @_initialized
|
5
|
+
@_initialized = true
|
6
|
+
init!
|
7
|
+
end
|
8
|
+
|
9
|
+
def init!
|
10
|
+
KuberKit::Container["artifacts_sync.artifact_updater"].use_resolver(
|
11
|
+
KuberKit::Container["artifacts_sync.git_artifact_resolver"],
|
12
|
+
artifact_class: KuberKit::Core::Artifacts::Git
|
13
|
+
)
|
14
|
+
KuberKit::Container["artifacts_sync.artifact_updater"].use_resolver(
|
15
|
+
KuberKit::Container["artifacts_sync.null_artifact_resolver"],
|
16
|
+
artifact_class: KuberKit::Core::Artifacts::Local
|
17
|
+
)
|
18
|
+
KuberKit::Container["env_file_reader.reader"].use_reader(
|
19
|
+
KuberKit::Container["env_file_reader.strategies.artifact_file"],
|
20
|
+
env_file_class: KuberKit::Core::EnvFiles::ArtifactFile
|
21
|
+
)
|
22
|
+
KuberKit::Container["env_file_reader.reader"].use_reader(
|
23
|
+
KuberKit::Container["env_file_reader.strategies.env_group"],
|
24
|
+
env_file_class: KuberKit::Core::EnvFiles::EnvGroup
|
25
|
+
)
|
26
|
+
KuberKit::Container["template_reader.reader"].use_reader(
|
27
|
+
KuberKit::Container["template_reader.strategies.artifact_file"],
|
28
|
+
template_class: KuberKit::Core::Templates::ArtifactFile
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,16 +1,6 @@
|
|
1
1
|
class KuberKit::EnvFileReader::Reader
|
2
2
|
ReaderNotFoundError = Class.new(KuberKit::NotFoundError)
|
3
|
-
|
4
|
-
include KuberKit::Import[
|
5
|
-
"env_file_reader.strategies.artifact_file",
|
6
|
-
"env_file_reader.strategies.env_group",
|
7
|
-
]
|
8
|
-
|
9
|
-
def initialize(**injected_deps, &block)
|
10
|
-
super(**injected_deps)
|
11
|
-
add_default_strategies
|
12
|
-
end
|
13
|
-
|
3
|
+
|
14
4
|
def use_reader(env_file_reader, env_file_class:)
|
15
5
|
@@readers ||= {}
|
16
6
|
|
@@ -28,14 +18,4 @@ class KuberKit::EnvFileReader::Reader
|
|
28
18
|
|
29
19
|
reader.read(shell, env_file)
|
30
20
|
end
|
31
|
-
|
32
|
-
def reset!
|
33
|
-
@@readers = {}
|
34
|
-
end
|
35
|
-
|
36
|
-
private
|
37
|
-
def add_default_strategies
|
38
|
-
use_reader(artifact_file, env_file_class: KuberKit::Core::EnvFiles::ArtifactFile)
|
39
|
-
use_reader(env_group, env_file_class: KuberKit::Core::EnvFiles::EnvGroup)
|
40
|
-
end
|
41
21
|
end
|
@@ -2,9 +2,24 @@ require 'json'
|
|
2
2
|
require 'shellwords'
|
3
3
|
|
4
4
|
class KuberKit::Shell::Commands::KubectlCommands
|
5
|
+
include KuberKit::Import[
|
6
|
+
"core.artifact_path_resolver"
|
7
|
+
]
|
8
|
+
|
9
|
+
Contract KuberKit::Shell::AbstractShell, Or[String, ArrayOf[String]], KeywordArgs[
|
10
|
+
kubeconfig_path: Maybe[Or[
|
11
|
+
String, KuberKit::Core::ArtifactPath
|
12
|
+
]],
|
13
|
+
namespace: Maybe[String],
|
14
|
+
interactive: Optional[Bool],
|
15
|
+
] => Any
|
5
16
|
def kubectl_run(shell, command_list, kubeconfig_path: nil, namespace: nil, interactive: false)
|
6
17
|
command_parts = []
|
18
|
+
|
7
19
|
if kubeconfig_path
|
20
|
+
if kubeconfig_path.is_a?(KuberKit::Core::ArtifactPath)
|
21
|
+
kubeconfig_path = artifact_path_resolver.call(kubeconfig_path)
|
22
|
+
end
|
8
23
|
command_parts << "KUBECONFIG=#{kubeconfig_path}"
|
9
24
|
end
|
10
25
|
|
@@ -41,11 +56,11 @@ class KuberKit::Shell::Commands::KubectlCommands
|
|
41
56
|
end
|
42
57
|
|
43
58
|
def logs(shell, pod_name, args: nil, kubeconfig_path: nil, namespace: nil)
|
44
|
-
kubectl_run(shell, ["logs", args, pod_name], kubeconfig_path: kubeconfig_path, interactive: true, namespace: namespace)
|
59
|
+
kubectl_run(shell, ["logs", args, pod_name].compact, kubeconfig_path: kubeconfig_path, interactive: true, namespace: namespace)
|
45
60
|
end
|
46
61
|
|
47
62
|
def describe(shell, resource_name, args: nil, kubeconfig_path: nil, namespace: nil)
|
48
|
-
kubectl_run(shell, ["describe", args, resource_name], kubeconfig_path: kubeconfig_path, interactive: true, namespace: namespace)
|
63
|
+
kubectl_run(shell, ["describe", args, resource_name].compact, kubeconfig_path: kubeconfig_path, interactive: true, namespace: namespace)
|
49
64
|
end
|
50
65
|
|
51
66
|
def get_resources(shell, resource_type, field_selector: nil, jsonpath: ".items[*].metadata.name", kubeconfig_path: nil, namespace: nil)
|
@@ -1,15 +1,6 @@
|
|
1
1
|
class KuberKit::TemplateReader::Reader
|
2
2
|
ReaderNotFoundError = Class.new(KuberKit::NotFoundError)
|
3
3
|
|
4
|
-
include KuberKit::Import[
|
5
|
-
"template_reader.strategies.artifact_file",
|
6
|
-
]
|
7
|
-
|
8
|
-
def initialize(**injected_deps, &block)
|
9
|
-
super(**injected_deps)
|
10
|
-
add_default_strategies
|
11
|
-
end
|
12
|
-
|
13
4
|
def use_reader(template_reader, template_class:)
|
14
5
|
@@readers ||= {}
|
15
6
|
|
@@ -27,13 +18,4 @@ class KuberKit::TemplateReader::Reader
|
|
27
18
|
|
28
19
|
reader.read(shell, template)
|
29
20
|
end
|
30
|
-
|
31
|
-
def reset!
|
32
|
-
@@readers = {}
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
def add_default_strategies
|
37
|
-
use_reader(artifact_file, template_class: KuberKit::Core::Templates::ArtifactFile)
|
38
|
-
end
|
39
21
|
end
|
data/lib/kuber_kit/version.rb
CHANGED
data/lib/kuber_kit.rb
CHANGED
@@ -13,6 +13,9 @@ module KuberKit
|
|
13
13
|
NotFoundError = Class.new(Error)
|
14
14
|
|
15
15
|
module Core
|
16
|
+
autoload :ArtifactPath, 'core/artifact_path'
|
17
|
+
autoload :ArtifactPathResolver, 'core/artifact_path_resolver'
|
18
|
+
|
16
19
|
autoload :ImageDefinition, 'core/image_definition'
|
17
20
|
autoload :ImageDefinitionFactory, 'core/image_definition_factory'
|
18
21
|
autoload :ImageStore, 'core/image_store'
|
@@ -208,6 +211,7 @@ module KuberKit
|
|
208
211
|
autoload :CLI, 'cli'
|
209
212
|
autoload :Container, 'container'
|
210
213
|
autoload :Configs, 'configs'
|
214
|
+
autoload :Defaults, 'defaults'
|
211
215
|
|
212
216
|
Import = Dry::AutoInject(Container)
|
213
217
|
|
@@ -297,4 +301,6 @@ module KuberKit
|
|
297
301
|
end
|
298
302
|
end
|
299
303
|
|
304
|
+
KuberKit::Defaults.init
|
305
|
+
|
300
306
|
require 'kuber_kit/extensions/indocker_compat'
|
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.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Iskander Khaziev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: contracts
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.7.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: dry-configurable
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.12.1
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.12.1
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: bundler
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -241,6 +255,8 @@ files:
|
|
241
255
|
- lib/kuber_kit/cli.rb
|
242
256
|
- lib/kuber_kit/configs.rb
|
243
257
|
- lib/kuber_kit/container.rb
|
258
|
+
- lib/kuber_kit/core/artifact_path.rb
|
259
|
+
- lib/kuber_kit/core/artifact_path_resolver.rb
|
244
260
|
- lib/kuber_kit/core/artifacts/abstract_artifact.rb
|
245
261
|
- lib/kuber_kit/core/artifacts/artifact_store.rb
|
246
262
|
- lib/kuber_kit/core/artifacts/git.rb
|
@@ -280,6 +296,7 @@ files:
|
|
280
296
|
- lib/kuber_kit/core/templates/abstract_template.rb
|
281
297
|
- lib/kuber_kit/core/templates/artifact_file.rb
|
282
298
|
- lib/kuber_kit/core/templates/template_store.rb
|
299
|
+
- lib/kuber_kit/defaults.rb
|
283
300
|
- lib/kuber_kit/env_file_reader/action_handler.rb
|
284
301
|
- lib/kuber_kit/env_file_reader/env_file_parser.rb
|
285
302
|
- lib/kuber_kit/env_file_reader/env_file_tempfile_creator.rb
|