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 +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
|