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 +4 -4
- data/lib/kubernetes_helper/core.rb +9 -8
- data/lib/kubernetes_helper/version.rb +1 -1
- data/lib/templates/_custom_containers.yml +0 -0
- data/lib/templates/cd.sh +6 -4
- data/lib/templates/deployment.yml +5 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a161c5dd4e43f7a71dfb8c9d0589291ffd52f9547c602f3cd8a5f22b5f1f9dd3
|
4
|
+
data.tar.gz: 9d2dc621a9cb9cc5145ef5922c95f7f7218ff69c509830dc18d6b4c8affe6601
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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'] || [])
|
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')
|
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.
|
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-
|
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
|