mina-kubernetes 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76153150ae5d8361a350e922f80d085ccac26c5e2392221406c7274beed11f6d
4
- data.tar.gz: f48f99022032c0d4a439e669fd2bd871b65e8c3327b1dfb3539d793b7fb84c4d
3
+ metadata.gz: e4803de1f3f3decf1da5772d6ac1a9cbaa20810e722fc273e981071f57b219b7
4
+ data.tar.gz: 5b011e4604e76d94866888c5ab3676b740237d4cb5becf04e2a24f857c144960
5
5
  SHA512:
6
- metadata.gz: f225945b130d447d4c9a1796556cbe55608756d34e3ceed41e57eb0962b0e0cce826a2ccb625d76ce5d005c9c5b4c0a69c05dd2f632c1a6c1da204efafd8a1fc
7
- data.tar.gz: 4d63d35634985d8588a82d8ee6aeb9822aaf476d7a9a5cbc20a5190b9c4fe1cd751a413745c24cb26e9fec7a9d208fad373a874f00e300cd922ccb19ff625828
6
+ metadata.gz: 32284456c631a418eae7c04feca2d3ce5b059095012af00c90e5fd291002844f68aafdf919a6c435afb7c29ddc05c7f0c0f6527e71de0bfc945c43c13cf32bc6
7
+ data.tar.gz: c468d84b45f08bddad72937500f8e7054c87b5ee1d14dbc8b7d7ae903c96ae900330e6063b3f8250ba2bb1849bbe8debde463565d741db5bd31c155ad33b43b5
@@ -1,5 +1,5 @@
1
1
  module Mina
2
2
  module Kubernetes
3
- VERSION = "3.0.1"
3
+ VERSION = "3.1.0"
4
4
  end
5
5
  end
@@ -8,19 +8,26 @@ set :execution_mode, :pretty
8
8
 
9
9
  namespace :kubernetes do
10
10
  set :proxy, nil
11
+ set :skip_image_ready_check, false
11
12
 
12
13
  task :deploy, [:options] do |task, args|
13
14
  desc "Set image tag to be latest commit of prompted branch (unless provided) then applies resources to cluster"
14
15
  set_tag_from_branch_commit unless fetch(:image_tag)
15
- wait_until_image_ready(fetch(:image_tag))
16
+ wait_until_image_ready(fetch(:image_tag)) unless fetch(:skip_image_ready_check)
16
17
  create_namespace_on_cluster
17
18
  apply_kubernetes_resources(args[:options])
18
19
  end
19
20
 
21
+ task :global_deploy, [:options] do |task, args|
22
+ set_tag_from_branch_commit unless fetch(:image_tag)
23
+ wait_until_image_ready(fetch(:image_tag)) unless fetch(:skip_image_ready_check)
24
+ apply_global_kubernetes_resources(args[:options])
25
+ end
26
+
20
27
  task :bash do
21
28
  desc "Spins up temporary pod with image and opens remote interactive bash"
22
29
  set_tag_from_branch_commit unless fetch(:image_tag)
23
- wait_until_image_ready(fetch(:image_tag))
30
+ wait_until_image_ready(fetch(:image_tag)) unless fetch(:skip_image_ready_check)
24
31
  run_command("bash")
25
32
  end
26
33
 
@@ -118,7 +125,7 @@ def run_command(command, env_hash = {})
118
125
  when :replace
119
126
  system delete_command
120
127
  run :local do
121
- comment "Lauching Pod #{color(pod_name, 36)} to run #{color(command, 36)}"
128
+ comment "Launching Pod #{color(pod_name, 36)} to run #{color(command, 36)}"
122
129
  end
123
130
  wait_for_image_and_run_command("#{pod_run_command} -- #{command}")
124
131
  when :other
@@ -149,3 +156,21 @@ def apply_kubernetes_resources(options)
149
156
  command "#{render_cmd} | #{deploy_cmd}"
150
157
  end
151
158
  end
159
+
160
+ def apply_global_kubernetes_resources(options)
161
+ run :local do
162
+ comment "Applying all global Kubernetes resources..."
163
+
164
+ proxy_env = "HTTPS_PROXY=#{fetch(:proxy)}" if fetch(:proxy)
165
+ filepaths = options&.[](:filepaths) || "config/deploy/#{fetch(:stage)}"
166
+
167
+ render_cmd = "#{proxy_env} krane render --bindings=image_repo=#{fetch(:image_repo)},image_tag=#{fetch(:image_tag)},nzamespace=#{fetch(:namespace)} --current_sha #{fetch(:image_tag)} -f #{filepaths}"
168
+ deploy_cmd = "#{proxy_env} krane global-deploy #{fetch(:kubernetes_context)} --selector #{fetch(:global_deploy_selector_key)}=#{fetch(:global_deploy_selector_value)} --stdin "
169
+ deploy_cmd += options[:deployment_options] if options&.[](:deployment_options)
170
+
171
+ ejson_secrets_path = "#{filepaths}/secrets.ejson"
172
+ deploy_cmd += " --filenames #{ejson_secrets_path}" if File.exist?(ejson_secrets_path)
173
+
174
+ command "#{render_cmd} | #{deploy_cmd}"
175
+ end
176
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mina-kubernetes
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antoine Sabourin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-11 00:00:00.000000000 Z
11
+ date: 2023-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  requirements: []
144
- rubygems_version: 3.4.10
144
+ rubygems_version: 3.2.15
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: Mina plugin to streamline deployment of resources to Kubernetes cluster