kuber_kit 1.1.8 → 1.2.0

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +1 -1
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +0 -48
  5. data/README.md +2 -2
  6. data/kuber_kit.gemspec +3 -3
  7. data/lib/kuber_kit/actions/configuration_loader.rb +3 -13
  8. data/lib/kuber_kit/actions/kubectl_attacher.rb +4 -7
  9. data/lib/kuber_kit/actions/kubectl_get.rb +3 -3
  10. data/lib/kuber_kit/actions/kubectl_logs.rb +4 -7
  11. data/lib/kuber_kit/actions/service_deployer.rb +27 -40
  12. data/lib/kuber_kit/artifacts_sync/abstract_artifact_resolver.rb +5 -0
  13. data/lib/kuber_kit/artifacts_sync/artifact_updater.rb +9 -19
  14. data/lib/kuber_kit/artifacts_sync/git_artifact_resolver.rb +31 -0
  15. data/lib/kuber_kit/artifacts_sync/null_artifact_resolver.rb +7 -0
  16. data/lib/kuber_kit/cli.rb +2 -36
  17. data/lib/kuber_kit/configs.rb +1 -4
  18. data/lib/kuber_kit/container.rb +4 -28
  19. data/lib/kuber_kit/core/artifacts/abstract_artifact.rb +0 -8
  20. data/lib/kuber_kit/core/artifacts/git.rb +1 -10
  21. data/lib/kuber_kit/core/artifacts/local.rb +0 -8
  22. data/lib/kuber_kit/core/configuration.rb +6 -10
  23. data/lib/kuber_kit/core/configuration_definition.rb +9 -30
  24. data/lib/kuber_kit/core/configuration_factory.rb +1 -3
  25. data/lib/kuber_kit/core/context_helper/base_helper.rb +7 -1
  26. data/lib/kuber_kit/core/context_helper/context_helper_factory.rb +1 -3
  27. data/lib/kuber_kit/core/context_helper/context_vars.rb +19 -33
  28. data/lib/kuber_kit/core/context_helper/service_helper.rb +1 -15
  29. data/lib/kuber_kit/core/dependencies/abstract_dependency_resolver.rb +0 -7
  30. data/lib/kuber_kit/core/service.rb +5 -8
  31. data/lib/kuber_kit/core/service_definition.rb +4 -16
  32. data/lib/kuber_kit/core/service_factory.rb +1 -2
  33. data/lib/kuber_kit/defaults.rb +4 -13
  34. data/lib/kuber_kit/image_compiler/image_builder.rb +1 -1
  35. data/lib/kuber_kit/service_deployer/service_dependency_resolver.rb +1 -1
  36. data/lib/kuber_kit/service_deployer/strategies/kubernetes.rb +2 -8
  37. data/lib/kuber_kit/service_reader/reader.rb +10 -2
  38. data/lib/kuber_kit/shell/commands/bash_commands.rb +6 -6
  39. data/lib/kuber_kit/shell/commands/docker_commands.rb +5 -5
  40. data/lib/kuber_kit/shell/commands/docker_compose_commands.rb +1 -1
  41. data/lib/kuber_kit/shell/commands/git_commands.rb +12 -19
  42. data/lib/kuber_kit/shell/commands/kubectl_commands.rb +4 -5
  43. data/lib/kuber_kit/shell/commands/rsync_commands.rb +1 -1
  44. data/lib/kuber_kit/shell/commands/system_commands.rb +1 -1
  45. data/lib/kuber_kit/shell/local_shell.rb +8 -12
  46. data/lib/kuber_kit/shell/ssh_session.rb +1 -5
  47. data/lib/kuber_kit/shell/ssh_shell.rb +2 -2
  48. data/lib/kuber_kit/shell_launcher/strategies/kubernetes.rb +1 -10
  49. data/lib/kuber_kit/template_reader/reader.rb +0 -1
  50. data/lib/kuber_kit/template_reader/strategies/artifact_file.rb +0 -1
  51. data/lib/kuber_kit/tools/logger_factory.rb +1 -1
  52. data/lib/kuber_kit/version.rb +1 -1
  53. data/lib/kuber_kit.rb +3 -23
  54. metadata +13 -24
  55. data/lib/kuber_kit/actions/service_generator.rb +0 -20
  56. data/lib/kuber_kit/artifacts_sync/strategies/abstract.rb +0 -9
  57. data/lib/kuber_kit/artifacts_sync/strategies/git_updater.rb +0 -46
  58. data/lib/kuber_kit/artifacts_sync/strategies/null_updater.rb +0 -12
  59. data/lib/kuber_kit/core/context_helper/abstract_helper.rb +0 -5
  60. data/lib/kuber_kit/core/context_helper/local_context_helper.rb +0 -14
  61. data/lib/kuber_kit/service_deployer/strategies/helm.rb +0 -41
  62. data/lib/kuber_kit/service_generator/action_handler.rb +0 -16
  63. data/lib/kuber_kit/service_generator/generator.rb +0 -26
  64. data/lib/kuber_kit/service_generator/strategies/abstract.rb +0 -5
  65. data/lib/kuber_kit/service_generator/strategies/helm.rb +0 -33
  66. data/lib/kuber_kit/service_generator/strategy_detector.rb +0 -6
  67. data/lib/kuber_kit/shell/commands/helm_commands.rb +0 -42
  68. data/lib/kuber_kit/template_reader/renderer.rb +0 -17
@@ -1,5 +0,0 @@
1
- class KuberKit::ServiceGenerator::Strategies::Abstract
2
- def generate(shell, service, export_path)
3
- raise KuberKit::NotImplementedError, "must be implemented"
4
- end
5
- end
@@ -1,33 +0,0 @@
1
- class KuberKit::ServiceGenerator::Strategies::Helm < KuberKit::ServiceGenerator::Strategies::Abstract
2
- include KuberKit::Import[
3
- "service_reader.reader",
4
- "shell.bash_commands",
5
- "configs",
6
- ]
7
-
8
- Contract KuberKit::Shell::AbstractShell, KuberKit::Core::Service, String => Any
9
- def generate(shell, service, export_path)
10
- service_config = reader.read(shell, service)
11
- chart_root_path = File.join(export_path, "#{service.name}_chart")
12
- chart_templates_path = File.join(chart_root_path, "templates")
13
- chart_config_path = File.join(chart_root_path, "Chart.yaml")
14
- release_path = File.join(chart_templates_path, "release.yaml")
15
-
16
- bash_commands.mkdir_p(shell, chart_root_path)
17
- bash_commands.mkdir_p(shell, chart_templates_path)
18
-
19
- shell.write(release_path, service_config)
20
- shell.write(chart_config_path, chart_config_content(service.uri))
21
- end
22
-
23
- def chart_config_content(release_name)
24
- query = <<-CHART
25
- apiVersion: v2
26
- name: #{release_name}
27
- description: #{release_name}
28
- type: application
29
- version: 1.0.0
30
- appVersion: "1.0.0"
31
- CHART
32
- end
33
- end
@@ -1,6 +0,0 @@
1
- class KuberKit::ServiceGenerator::StrategyDetector
2
- Contract KuberKit::Core::Service => Symbol
3
- def call(service)
4
- service.generator_strategy || KuberKit.current_configuration.generator_strategy
5
- end
6
- end
@@ -1,42 +0,0 @@
1
- class KuberKit::Shell::Commands::HelmCommands
2
- Contract KuberKit::Shell::AbstractShell, Or[String, ArrayOf[String]], KeywordArgs[
3
- kubeconfig_path: Maybe[Or[
4
- String, KuberKit::Core::ArtifactPath
5
- ]],
6
- namespace: Maybe[Or[Symbol, String]],
7
- interactive: Optional[Bool],
8
- ] => Any
9
- def helm_run(shell, command_list, kubeconfig_path: nil, namespace: nil, interactive: false)
10
- command_parts = []
11
-
12
- if kubeconfig_path.is_a?(KuberKit::Core::ArtifactPath)
13
- kubeconfig_path = artifact_path_resolver.call(kubeconfig_path)
14
- end
15
-
16
- if kubeconfig_path
17
- command_parts << "KUBECONFIG=#{kubeconfig_path}"
18
- end
19
-
20
- command_parts << "helm"
21
-
22
- if namespace
23
- command_parts << "-n #{namespace}"
24
- end
25
-
26
- command_parts += Array(command_list).compact
27
-
28
- if interactive
29
- shell.interactive!(command_parts.join(" "))
30
- else
31
- shell.exec!(command_parts.join(" "))
32
- end
33
- end
34
-
35
- def install(shell, release_name, chart_path, kubeconfig_path: nil, namespace: nil)
36
- helm_run(shell, "install #{release_name} #{chart_path}", kubeconfig_path: kubeconfig_path, namespace: namespace)
37
- end
38
-
39
- def upgrade(shell, release_name, chart_path, kubeconfig_path: nil, namespace: nil)
40
- helm_run(shell, "upgrade #{release_name} #{chart_path} --install", kubeconfig_path: kubeconfig_path, namespace: namespace)
41
- end
42
- end
@@ -1,17 +0,0 @@
1
- class KuberKit::TemplateReader::Renderer
2
- include KuberKit::Import[
3
- "core.template_store",
4
- "preprocessing.text_preprocessor",
5
- template_reader: "template_reader.reader"
6
- ]
7
-
8
-
9
- Contract KuberKit::Shell::AbstractShell, Symbol, KeywordArgs[
10
- context_helper: KuberKit::Core::ContextHelper::AbstractHelper
11
- ] => String
12
- def call(shell, template_name, context_helper:)
13
- template = template_store.get(template_name)
14
- template_text = template_reader.read(shell, template)
15
- text_preprocessor.compile(template_text, context_helper: context_helper)
16
- end
17
- end