mina-kubernetes 2.2.4 → 2.3.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: f827c6cd9bd3a95016a4a551824566ec4bb7d1d40e0477458a237381171d6341
4
- data.tar.gz: 8a81174a1c647b9ff55e8081b4b2a4e4cbea834a78fd6839192935f6c5a7b62e
3
+ metadata.gz: 8549c1e2316db20407d4a809d0a784c999a16d4eb36c7722b9f6abce8359b09a
4
+ data.tar.gz: 42112f3bd8908dd1814ace2531965ed5c5a8fc6581474758701bc8a59c393b12
5
5
  SHA512:
6
- metadata.gz: 61bd2dd21d29ccff1c57850d614a1c2957f62180d551b363fc03fd15fbac92462f24e2712f8c1b5575c4341e8cf49cd1cee82ff81d35b586997ef892e96426a0
7
- data.tar.gz: 1228cb9ff013d0a90d822cb4854cbf4d485a4f7a3323479d092b9149bea197a49b49b58e6d58c90c6a0d5200bb8eac696f721a7e60b0f4cc1e5beecce8a2c496
6
+ metadata.gz: eab71f276a1954861712fda8940a803b922e0cd1f29f8fba073b17bf2b91ddf21a4e0e3520fbd892def745ec32378a54e7b27d56d5842f80ac65edb32c56c527
7
+ data.tar.gz: 2a7ccec58ce31f060031260a8091818c4ea37f3fe91573ad184ae54dd331772ee0ac532594c51463f945d09babe0afb081680860fed263ad2e327bc883bfa82d
@@ -8,6 +8,7 @@ require "base64"
8
8
  set :execution_mode, :pretty
9
9
 
10
10
  namespace :kubernetes do
11
+ set :proxy, nil
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"
@@ -61,7 +62,8 @@ end
61
62
  def create_namespace_on_cluster
62
63
  run :local do
63
64
  comment "Create/update namespace on Kubernetes cluster..."
64
- command "kubectl create namespace #{fetch(:namespace)} --dry-run -o yaml | kubectl apply -f - --context=#{fetch(:kubernetes_context)}"
65
+ proxy_env = "HTTPS_PROXY=#{fetch(:proxy)}" if fetch(:proxy)
66
+ command "kubectl create namespace #{fetch(:namespace)} --dry-run -o yaml | #{proxy_env} kubectl apply -f - --context=#{fetch(:kubernetes_context)}"
65
67
  end
66
68
  end
67
69
 
@@ -84,17 +86,23 @@ end
84
86
  def run_command(command, env_hash = {})
85
87
  env = env_hash.collect{|k,v| "--env #{k}=#{v}" }.join(" ")
86
88
  label = command.downcase.gsub(" ", "-").gsub(":", "-")
89
+ proxy_env = "HTTPS_PROXY=#{fetch(:proxy)}" if fetch(:proxy)
90
+
87
91
  # using system instead of mina's command so tty opens successfully
88
- system "kubectl run #{label}-#{SecureRandom.hex(4)} --rm -i --tty --restart=Never --context=#{fetch(:kubernetes_context)} --namespace=#{fetch(:namespace)} --image #{fetch(:image_repo)}:#{fetch(:image_tag)} #{env} -- #{command}"
92
+ system "#{proxy_env} kubectl run #{label}-#{SecureRandom.hex(4)} --rm -i --tty --restart=Never --context=#{fetch(:kubernetes_context)} --namespace=#{fetch(:namespace)} --image #{fetch(:image_repo)}:#{fetch(:image_tag)} #{env} -- #{command}"
89
93
  end
90
94
 
91
95
  def apply_kubernetes_resources(options)
92
96
  run :local do
93
97
  comment "Apply all Kubernetes resources..."
98
+
99
+ proxy_env = "HTTPS_PROXY=#{fetch(:proxy)}" if fetch(:proxy)
94
100
  filepaths = options&.[](:filepaths) || "config/deploy/#{fetch(:stage)}"
95
- render_cmd = "krane render --bindings=image_repo=#{fetch(:image_repo)},image_tag=#{fetch(:image_tag)},namespace=#{fetch(:namespace)} --current_sha #{fetch(:image_tag)} -f #{filepaths}"
96
- deploy_cmd = "krane deploy #{fetch(:namespace)} #{fetch(:kubernetes_context)} --stdin "
101
+
102
+ render_cmd = "#{proxy_env} krane render --bindings=image_repo=#{fetch(:image_repo)},image_tag=#{fetch(:image_tag)},namespace=#{fetch(:namespace)} --current_sha #{fetch(:image_tag)} -f #{filepaths}"
103
+ deploy_cmd = "#{proxy_env} krane deploy #{fetch(:namespace)} #{fetch(:kubernetes_context)} --stdin "
97
104
  deploy_cmd += options[:deployment_options] if options&.[](:deployment_options)
105
+
98
106
  command "#{render_cmd} | #{deploy_cmd}"
99
107
  end
100
108
  end
@@ -1,5 +1,5 @@
1
1
  module Mina
2
2
  module Kubernetes
3
- VERSION = "2.2.4"
3
+ VERSION = "2.3.0"
4
4
  end
5
5
  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: 2.2.4
4
+ version: 2.3.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: 2020-01-13 00:00:00.000000000 Z
11
+ date: 2020-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler