kuber_kit 1.1.8 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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