kuber_kit 0.6.4 → 0.8.1
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/.github/workflows/rspec.yml +1 -1
- data/.gitignore +2 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +8 -0
- data/README.md +23 -0
- data/kuber_kit.gemspec +14 -3
- 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/defaults.rb +32 -0
- data/lib/kuber_kit/env_file_reader/reader.rb +1 -21
- data/lib/kuber_kit/service_deployer/deployer.rb +2 -2
- 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 +29 -13
- data/Gemfile.lock +0 -84
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 665f3cb54625585e4c186776ca0bdf3d3a230636c637b8b5c969c46a47e2680d
|
4
|
+
data.tar.gz: 789b513ad128c9b31e05896638a5da988a3eccfb672f4535718e3f07c0c63585
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cb6912033a27da36b85872b39d14f8a1bf7081b546c80f29f2fe69f86ecfb0dc84ea77f2771a0f2cdd237cf1a1e6c0a993f2f74acbeac5ec3078ed1fd1d26ca
|
7
|
+
data.tar.gz: de099ce2d2c96b566942ef7440f8d09afc81ce3f0a9a693862ab6d710e4706abad5114fb02ab2400cd42e00a261eab5c0cfd778fe707b486f14cbaf7f872e717
|
data/.github/workflows/rspec.yml
CHANGED
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.6.8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
**0.8.1**
|
2
|
+
- Allow deploying services without dependecies
|
3
|
+
- Default services should be first in the list
|
4
|
+
- KubeConfig should be able to take file from artifact
|
5
|
+
|
6
|
+
**0.7.1**
|
7
|
+
- Added Ruby 3.0 support
|
8
|
+
|
1
9
|
**0.6.4**
|
2
10
|
- Improve context vars, allow checking if variable is defined
|
3
11
|
|
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,15 +23,26 @@ 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
|
-
|
27
|
-
|
26
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
27
|
+
spec.add_dependency "contracts", '0.17.0'
|
28
|
+
else
|
29
|
+
spec.add_dependency "contracts", '0.16.0'
|
30
|
+
end
|
31
|
+
|
32
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6.0')
|
33
|
+
spec.add_dependency "dry-auto_inject", "~> 0.8.0"
|
34
|
+
else
|
35
|
+
spec.add_dependency "dry-auto_inject", "~> 0.7.0"
|
36
|
+
end
|
37
|
+
|
28
38
|
spec.add_dependency "thor"
|
29
39
|
spec.add_dependency "cli-ui"
|
30
40
|
spec.add_dependency "net-ssh"
|
31
41
|
spec.add_dependency "tty-prompt"
|
32
42
|
spec.add_dependency "dry-container", "~> 0.7.2"
|
43
|
+
spec.add_dependency "dry-configurable", "~> 0.12.1"
|
33
44
|
|
34
|
-
spec.add_development_dependency "bundler", "~>
|
45
|
+
spec.add_development_dependency "bundler", "~> 2.2"
|
35
46
|
spec.add_development_dependency "rake", "~> 10.0"
|
36
47
|
spec.add_development_dependency "rspec", "~> 3.0"
|
37
48
|
spec.add_development_dependency "pry"
|
@@ -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
|
@@ -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)
|
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)
|
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,43 +1,43 @@
|
|
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.1
|
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
|
-
name: contracts
|
14
|
+
name: contracts
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.16.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.16.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dry-auto_inject
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.8.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: thor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,20 +108,34 @@ 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
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
131
|
+
version: '2.2'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
138
|
+
version: '2.2'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: rake
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,7 +195,6 @@ files:
|
|
181
195
|
- ".travis.yml"
|
182
196
|
- CHANGELOG.md
|
183
197
|
- Gemfile
|
184
|
-
- Gemfile.lock
|
185
198
|
- LICENSE.txt
|
186
199
|
- README.md
|
187
200
|
- Rakefile
|
@@ -242,6 +255,8 @@ files:
|
|
242
255
|
- lib/kuber_kit/cli.rb
|
243
256
|
- lib/kuber_kit/configs.rb
|
244
257
|
- lib/kuber_kit/container.rb
|
258
|
+
- lib/kuber_kit/core/artifact_path.rb
|
259
|
+
- lib/kuber_kit/core/artifact_path_resolver.rb
|
245
260
|
- lib/kuber_kit/core/artifacts/abstract_artifact.rb
|
246
261
|
- lib/kuber_kit/core/artifacts/artifact_store.rb
|
247
262
|
- lib/kuber_kit/core/artifacts/git.rb
|
@@ -281,6 +296,7 @@ files:
|
|
281
296
|
- lib/kuber_kit/core/templates/abstract_template.rb
|
282
297
|
- lib/kuber_kit/core/templates/artifact_file.rb
|
283
298
|
- lib/kuber_kit/core/templates/template_store.rb
|
299
|
+
- lib/kuber_kit/defaults.rb
|
284
300
|
- lib/kuber_kit/env_file_reader/action_handler.rb
|
285
301
|
- lib/kuber_kit/env_file_reader/env_file_parser.rb
|
286
302
|
- lib/kuber_kit/env_file_reader/env_file_tempfile_creator.rb
|
@@ -362,7 +378,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
362
378
|
- !ruby/object:Gem::Version
|
363
379
|
version: '0'
|
364
380
|
requirements: []
|
365
|
-
rubygems_version: 3.0.
|
381
|
+
rubygems_version: 3.0.3.1
|
366
382
|
signing_key:
|
367
383
|
specification_version: 4
|
368
384
|
summary: Docker Containers Build & Deployment
|
data/Gemfile.lock
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
kuber_kit (0.6.4)
|
5
|
-
cli-ui
|
6
|
-
contracts-lite
|
7
|
-
dry-auto_inject (~> 0.7.0)
|
8
|
-
dry-container (~> 0.7.2)
|
9
|
-
net-ssh
|
10
|
-
thor
|
11
|
-
tty-prompt
|
12
|
-
|
13
|
-
GEM
|
14
|
-
remote: https://rubygems.org/
|
15
|
-
specs:
|
16
|
-
cli-ui (1.5.1)
|
17
|
-
coderay (1.1.3)
|
18
|
-
concurrent-ruby (1.1.9)
|
19
|
-
contracts-lite (0.15.0)
|
20
|
-
diff-lcs (1.4.4)
|
21
|
-
docile (1.4.0)
|
22
|
-
dry-auto_inject (0.7.0)
|
23
|
-
dry-container (>= 0.3.4)
|
24
|
-
dry-configurable (0.12.1)
|
25
|
-
concurrent-ruby (~> 1.0)
|
26
|
-
dry-core (~> 0.5, >= 0.5.0)
|
27
|
-
dry-container (0.7.2)
|
28
|
-
concurrent-ruby (~> 1.0)
|
29
|
-
dry-configurable (~> 0.1, >= 0.1.3)
|
30
|
-
dry-core (0.6.0)
|
31
|
-
concurrent-ruby (~> 1.0)
|
32
|
-
method_source (1.0.0)
|
33
|
-
net-ssh (6.1.0)
|
34
|
-
pastel (0.8.0)
|
35
|
-
tty-color (~> 0.5)
|
36
|
-
pry (0.14.1)
|
37
|
-
coderay (~> 1.1)
|
38
|
-
method_source (~> 1.0)
|
39
|
-
rake (10.5.0)
|
40
|
-
rspec (3.10.0)
|
41
|
-
rspec-core (~> 3.10.0)
|
42
|
-
rspec-expectations (~> 3.10.0)
|
43
|
-
rspec-mocks (~> 3.10.0)
|
44
|
-
rspec-core (3.10.1)
|
45
|
-
rspec-support (~> 3.10.0)
|
46
|
-
rspec-expectations (3.10.1)
|
47
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
48
|
-
rspec-support (~> 3.10.0)
|
49
|
-
rspec-mocks (3.10.2)
|
50
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
51
|
-
rspec-support (~> 3.10.0)
|
52
|
-
rspec-support (3.10.2)
|
53
|
-
simplecov (0.21.2)
|
54
|
-
docile (~> 1.1)
|
55
|
-
simplecov-html (~> 0.11)
|
56
|
-
simplecov_json_formatter (~> 0.1)
|
57
|
-
simplecov-html (0.12.3)
|
58
|
-
simplecov_json_formatter (0.1.3)
|
59
|
-
thor (1.1.0)
|
60
|
-
tty-color (0.6.0)
|
61
|
-
tty-cursor (0.7.1)
|
62
|
-
tty-prompt (0.23.1)
|
63
|
-
pastel (~> 0.8)
|
64
|
-
tty-reader (~> 0.8)
|
65
|
-
tty-reader (0.9.0)
|
66
|
-
tty-cursor (~> 0.7)
|
67
|
-
tty-screen (~> 0.8)
|
68
|
-
wisper (~> 2.0)
|
69
|
-
tty-screen (0.8.1)
|
70
|
-
wisper (2.0.1)
|
71
|
-
|
72
|
-
PLATFORMS
|
73
|
-
ruby
|
74
|
-
|
75
|
-
DEPENDENCIES
|
76
|
-
bundler (~> 1.17)
|
77
|
-
kuber_kit!
|
78
|
-
pry
|
79
|
-
rake (~> 10.0)
|
80
|
-
rspec (~> 3.0)
|
81
|
-
simplecov
|
82
|
-
|
83
|
-
BUNDLED WITH
|
84
|
-
1.17.3
|