kubernetes_helper 1.6.1 → 1.7.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: 59945c95287cd19d19577b1e96f5f6b9853ce4e40a82b022de362ba676ad5bf9
4
- data.tar.gz: 0b5360c14ea7b0f14300b87112225e9421090299ae099f60cf07b48a22ecebde
3
+ metadata.gz: a161c5dd4e43f7a71dfb8c9d0589291ffd52f9547c602f3cd8a5f22b5f1f9dd3
4
+ data.tar.gz: 9d2dc621a9cb9cc5145ef5922c95f7f7218ff69c509830dc18d6b4c8affe6601
5
5
  SHA512:
6
- metadata.gz: 8057efca5943cccfa92bc1a8a3a696f5ca2f3b3b21415da3923794c4674848ba7797098e5d718f2b7da376c9d05634182185ea45572500cc9af9481b1246f107
7
- data.tar.gz: 2dd11b252b27be829f8d1de244409c37eda5104f479dda45839b555e9f92423fc0142122e536c3824add5c73e91eba79ca0a5779f26dc9f78ba6bc95441ad942
6
+ metadata.gz: 1bbcb9957df2086ce5bfdd668ff1ab19801fdb475f3569ff30db898fe9bb5626ed52d62ed4ac72cc58c9450245bfa97f2dcfdb090805310a3bcad392602ea93d
7
+ data.tar.gz: 6a00e52c99aabf37131a14b178eee76a5320e3d428f851c54da629e303396ad6542e735870368187b189411ae2e00f1004b48df76a565cfad2f1f1434bede444
@@ -11,8 +11,8 @@ module KubernetesHelper
11
11
  binding
12
12
  end
13
13
 
14
- def include_template(name)
15
- render_template.call(name)
14
+ def include_template(name, locals = {})
15
+ render_template.call(name, locals)
16
16
  end
17
17
  end
18
18
 
@@ -36,8 +36,8 @@ module KubernetesHelper
36
36
 
37
37
  # @param text (String)
38
38
  # Sample: replicas: '#{deployment.replicas}'
39
- def replace_config_variables(text)
40
- values = config_values.map do |key, value| # rubocop:disable Style/HashTransformValues
39
+ def replace_config_variables(text, locals = {})
40
+ values = config_values.merge(locals: locals).map do |key, value| # rubocop:disable Style/HashTransformValues
41
41
  [key, value.is_a?(Hash) ? OpenStruct.new(value) : value]
42
42
  end.to_h
43
43
  values[:render_template] = method(:render_template)
@@ -75,10 +75,10 @@ module KubernetesHelper
75
75
  end
76
76
  end
77
77
 
78
- def render_template(template_name)
78
+ def render_template(template_name, locals = {})
79
79
  path = KubernetesHelper.settings_path(template_name, use_template: true)
80
80
  text = "\n#{File.read(path)}"
81
- replace_config_variables(text)
81
+ replace_config_variables(text, locals)
82
82
  end
83
83
 
84
84
  def static_env_vars
@@ -91,10 +91,11 @@ module KubernetesHelper
91
91
  end
92
92
 
93
93
  # parse secrets auto importer
94
- def parse_import_secrets(document)
94
+ def parse_import_secrets(document) # rubocop:disable Metrics/AbcSize
95
95
  containers = document.dig('spec', 'template', 'spec', 'containers') || []
96
96
  containers.each do |container|
97
- container['env'] = (container['env'] || []) + static_env_vars
97
+ container['env'] = (container['env'] || [])
98
+ container['env'] = container['env'] + static_env_vars if container.delete('static_env')
98
99
  if container['import_secrets']
99
100
  container['env'] = container['env'] + import_secrets(*container['import_secrets'])
100
101
  container.delete('import_secrets')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KubernetesHelper
4
- VERSION = '1.6.1'
4
+ VERSION = '1.7.0'
5
5
  end
File without changes
data/lib/templates/cd.sh CHANGED
@@ -43,14 +43,16 @@ docker tag $DEPLOY_NAME $LATEST_NAME
43
43
  docker push $DEPLOY_NAME
44
44
  docker push $LATEST_NAME
45
45
 
46
+ ## Update new secrets defined in secrets.yml as ENV vars for deployments
47
+ <% if continuous_deployment.update_deployment %>
48
+ kubernetes_helper run_yml 'deployment.yml' 'kubectl apply'
49
+ <% end %>
50
+
46
51
  ## Apply deployments
47
52
  IFS=',' read -r -a deployments <<< "$DEPLOYMENTS"
48
53
  for deployment in "${deployments[@]}"; do
49
54
  [ -z "$deployment" ] && continue # if empty value
50
55
 
51
56
  <%= include_template "_cd_apply_images.sh" %>
52
-
53
- <% if continuous_deployment.update_deployment %>
54
- kubernetes_helper run_yml 'deployment.yml' 'kubectl apply'
55
- <% end %>
56
57
  done
58
+
@@ -26,6 +26,7 @@ documents:
26
26
  command: ["/bin/bash", "-c", "<%= deployment.command %>"]
27
27
  <% end %>
28
28
  name: *app_name
29
+ static_env: true
29
30
  import_secrets: ['secrets.yml', '<%=secrets.name%>']
30
31
  ports:
31
32
  - containerPort: &port 3000
@@ -79,6 +80,8 @@ documents:
79
80
  volumeMounts:
80
81
  - *log_volume
81
82
 
83
+ <%= include_template "_custom_containers.yml", { pod: 'web' } %>
84
+
82
85
  terminationGracePeriodSeconds: 120
83
86
  volumes:
84
87
  <% if deployment.cloud_secret_name %>
@@ -147,6 +150,8 @@ documents:
147
150
  <% end %>
148
151
 
149
152
  - <<: *logs_container
153
+
154
+ <%= include_template "_custom_containers.yml", { pod: 'job' } %>
150
155
  <% end %>
151
156
 
152
157
  <% if deployment.replicas_range %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubernetes_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - owen2345
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-06 00:00:00.000000000 Z
11
+ date: 2021-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erb
@@ -41,6 +41,7 @@ files:
41
41
  - lib/kubernetes_helper/version.rb
42
42
  - lib/templates/README.md
43
43
  - lib/templates/_cd_apply_images.sh
44
+ - lib/templates/_custom_containers.yml
44
45
  - lib/templates/_replicas.yml
45
46
  - lib/templates/_sidekiq_alive_gem.yml
46
47
  - lib/templates/cd.sh