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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47a6af30e186e24f434c1d5a777a169eb089e0491177127f4824cfa8af89b0d3
4
- data.tar.gz: 8ef8e5deeee25dc255e4b1700b9d2c6afe7be5ae34ce0a5a6565e1b6a8092759
3
+ metadata.gz: 665f3cb54625585e4c186776ca0bdf3d3a230636c637b8b5c969c46a47e2680d
4
+ data.tar.gz: 789b513ad128c9b31e05896638a5da988a3eccfb672f4535718e3f07c0c63585
5
5
  SHA512:
6
- metadata.gz: 2307096ca0a11b96a8fa64b31b2611e7fc15c6de8838076ded727f3d1e6ac9541d3f6c3152c84472500b376c0cae5d322b2a6021657a4a0d28aed7c5da5e5579
7
- data.tar.gz: b8e527ab441c2b2c420728ca670bfeefb094b4fbc0233cb15dea237d0cb7e4fae9a2345f2026c46cb1d528f6e21044d3da0d883cfdb200c16ac6f56777a014de
6
+ metadata.gz: 5cb6912033a27da36b85872b39d14f8a1bf7081b546c80f29f2fe69f86ecfb0dc84ea77f2771a0f2cdd237cf1a1e6c0a993f2f74acbeac5ec3078ed1fd1d26ca
7
+ data.tar.gz: de099ce2d2c96b566942ef7440f8d09afc81ce3f0a9a693862ab6d710e4706abad5114fb02ab2400cd42e00a261eab5c0cfd778fe707b486f14cbaf7f872e717
@@ -19,7 +19,7 @@ jobs:
19
19
  runs-on: ubuntu-latest
20
20
  strategy:
21
21
  matrix:
22
- ruby-version: ['2.5', '2.7']
22
+ ruby-version: ['2.5', '2.7', '3.0']
23
23
 
24
24
  steps:
25
25
  - uses: actions/checkout@v2
data/.gitignore CHANGED
@@ -9,4 +9,5 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
- .DS_Store
12
+ .DS_Store
13
+ Gemfile.lock
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.8
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
- spec.add_dependency "contracts-lite"
27
- spec.add_dependency "dry-auto_inject", "~> 0.7.0"
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", "~> 1.17"
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
- all_service_names = service_dependency_resolver.get_all(service_names)
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
- service_dependency_resolver.each_with_deps(service_names) do |dep_service_names|
64
- ui.print_debug("ServiceDeployer", "Scheduling to compile: #{dep_service_names.inspect}. Limit: #{configs.deploy_simultaneous_limit}")
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
- if deployment_result.succeeded?
67
- deploy_simultaneously(dep_service_names, deployment_result)
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
@@ -61,6 +61,10 @@ class KuberKit::Container
61
61
  KuberKit::Configs.new
62
62
  end
63
63
 
64
+ register "core.artifact_path_resolver" do
65
+ KuberKit::Core::ArtifactPathResolver.new
66
+ end
67
+
64
68
  register "core.image_factory" do
65
69
  KuberKit::Core::ImageFactory.new
66
70
  end
@@ -0,0 +1,8 @@
1
+ class KuberKit::Core::ArtifactPath
2
+ attr_reader :artifact_name, :file_path
3
+
4
+ def initialize(artifact_name:, file_path:)
5
+ @artifact_name = artifact_name
6
+ @file_path = file_path
7
+ end
8
+ end
@@ -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
@@ -8,8 +8,8 @@ class KuberKit::ServiceDeployer::Deployer
8
8
  "service_deployer.strategies.docker_compose"
9
9
  ]
10
10
 
11
- def initialize(**injected_deps)
12
- super(injected_deps)
11
+ def initialize(**injected_deps, &block)
12
+ super(**injected_deps)
13
13
  add_default_strategies
14
14
  end
15
15
 
@@ -43,7 +43,7 @@ class KuberKit::ServiceDeployer::ServiceListResolver
43
43
  end
44
44
 
45
45
  if included_services.any?
46
- included_services += default_services
46
+ included_services = default_services + included_services
47
47
  end
48
48
 
49
49
  included_services
@@ -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
@@ -1,3 +1,3 @@
1
1
  module KuberKit
2
- VERSION = "0.6.4"
2
+ VERSION = "0.8.1"
3
3
  end
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.6.4
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: 2021-08-02 00:00:00.000000000 Z
11
+ date: 2022-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: contracts-lite
14
+ name: contracts
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
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: '0'
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.7.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.7.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: '1.17'
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: '1.17'
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.8
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