kubernetes_helper 1.6.1 → 1.7.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.
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