kubernetes_helper 1.1 → 1.5
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 +3 -1
- data/lib/kubernetes_helper/version.rb +1 -1
- data/lib/kubernetes_helper.rb +8 -0
- data/lib/templates/{_replicas.yml.erb → _replicas.yml} +0 -0
- data/lib/templates/{_sidekiq_alive_gem.yml.erb → _sidekiq_alive_gem.yml} +0 -0
- data/lib/templates/certificate.yml +7 -0
- data/lib/templates/deployment.yml +21 -3
- data/lib/templates/ingress.yml +1 -7
- data/lib/templates/service.yml +4 -2
- data/lib/templates/settings.rb +2 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cb2f960ab9f32029afa3d4a925fc83214ab418e599a6a5390dfc5bf829949b4
|
4
|
+
data.tar.gz: d64116a047e22ba97848ae36d7cbedc40af6ed726f5d5b22614aafa11b416677
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 96a1085608ca8a96c40126075272665ecdf477de54775cc77caee257996c1ba9e070e6b6a0f9da598359394286233ae3e2c4cd68f19e6cb11f6e3f03ad5ecd49
|
7
|
+
data.tar.gz: e32e8e082431c44d18ce92a33094db31c696d3f2b7810f21bbf8497592daf8378a205725bfe7269ca8773987fdf5e7a0976ce2e1f27c9b6cb16d763ed4c29b4b
|
@@ -22,7 +22,7 @@ module KubernetesHelper
|
|
22
22
|
|
23
23
|
# @param _env_name (String)
|
24
24
|
def initialize(_env_name)
|
25
|
-
@config_values = KubernetesHelper.load_settings
|
25
|
+
@config_values = KubernetesHelper.default_settings.merge(KubernetesHelper.load_settings)
|
26
26
|
end
|
27
27
|
|
28
28
|
def parse_yml_file(file_path, output_path)
|
@@ -115,6 +115,8 @@ module KubernetesHelper
|
|
115
115
|
def parse_documents(yml_data)
|
116
116
|
documents = []
|
117
117
|
Array(yml_data).each do |document|
|
118
|
+
next unless document
|
119
|
+
|
118
120
|
document['documents'] ? documents.push(*document['documents']) : documents.push(document)
|
119
121
|
end
|
120
122
|
documents
|
data/lib/kubernetes_helper.rb
CHANGED
@@ -20,6 +20,14 @@ module KubernetesHelper
|
|
20
20
|
settings
|
21
21
|
end
|
22
22
|
|
23
|
+
def self.default_settings
|
24
|
+
{
|
25
|
+
cloud: {
|
26
|
+
name: 'gcloud'
|
27
|
+
}
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
23
31
|
def self.settings_path(file_name = nil, use_template: false)
|
24
32
|
path = File.join(Dir.pwd, FOLDER_NAME)
|
25
33
|
if file_name
|
File without changes
|
File without changes
|
@@ -54,6 +54,11 @@ documents:
|
|
54
54
|
readOnly: true
|
55
55
|
<% end %>
|
56
56
|
|
57
|
+
<% (deployment.custom_volumes || {}).each do |name, vol| %>
|
58
|
+
- name: <%= name %>
|
59
|
+
mountPath: <%= vol[:mount_path] %>
|
60
|
+
<% end %>
|
61
|
+
|
57
62
|
<% if deployment.cloud_secret_name %>
|
58
63
|
- &cloudsql_container
|
59
64
|
image: gcr.io/cloudsql-docker/gce-proxy:1.09 # Cloud sql proxy
|
@@ -61,6 +66,7 @@ documents:
|
|
61
66
|
command: ["/cloud_sql_proxy", "--dir=/cloudsql",
|
62
67
|
"-instances=<%=deployment.cloud_sql_instance%>",
|
63
68
|
"-credential_file=/secrets/gcloud/credentials.json"]
|
69
|
+
env: []
|
64
70
|
volumeMounts:
|
65
71
|
- *cloud_credentials_volume
|
66
72
|
<% end %>
|
@@ -68,7 +74,8 @@ documents:
|
|
68
74
|
- &logs_container # print to stdout all log files
|
69
75
|
name: print-logs
|
70
76
|
image: busybox
|
71
|
-
command: [/bin/sh, -c, 'until find log/*.log; do sleep 1; done; tail -n+1 -f log/*.log']
|
77
|
+
command: [/bin/sh, -c, 'until find /app/log/*.log; do sleep 1; done; tail -n+1 -f /app/log/*.log']
|
78
|
+
env: []
|
72
79
|
volumeMounts:
|
73
80
|
- *log_volume
|
74
81
|
|
@@ -83,6 +90,17 @@ documents:
|
|
83
90
|
- name: applog
|
84
91
|
emptyDir: {}
|
85
92
|
|
93
|
+
# Custom volumes
|
94
|
+
# { my_volume: { kind: 'hostPath', mount_path: '/', settings: { path: '..', type: 'Directory' } } }
|
95
|
+
<% (deployment.custom_volumes || {}).each do |name, vol| %>
|
96
|
+
- name: <%= name %>
|
97
|
+
<%= vol[:kind] %>:
|
98
|
+
<% vol[:settings].each do |k, v| %>
|
99
|
+
<%= k %>: <%= v %>
|
100
|
+
<% end %>
|
101
|
+
<% end %>
|
102
|
+
|
103
|
+
|
86
104
|
<% if deployment.job_name %>
|
87
105
|
- apiVersion: apps/v1
|
88
106
|
kind: Deployment
|
@@ -108,7 +126,7 @@ documents:
|
|
108
126
|
<% end %>
|
109
127
|
|
110
128
|
<% if deployment.job_sidekiq_alive_gem %>
|
111
|
-
<%= include_template "_sidekiq_alive_gem.yml
|
129
|
+
<%= include_template "_sidekiq_alive_gem.yml" %>
|
112
130
|
<% else %>
|
113
131
|
ports: [ ]
|
114
132
|
<% if (deployment.job_services || []).any? %>
|
@@ -132,5 +150,5 @@ documents:
|
|
132
150
|
<% end %>
|
133
151
|
|
134
152
|
<% if deployment.replicas_range %>
|
135
|
-
<%= include_template "_replicas.yml
|
153
|
+
<%= include_template "_replicas.yml" %>
|
136
154
|
<% end %>
|
data/lib/templates/ingress.yml
CHANGED
@@ -1,11 +1,5 @@
|
|
1
1
|
<% if ingress.domain_name %>
|
2
|
-
|
3
|
-
kind: ManagedCertificate
|
4
|
-
metadata:
|
5
|
-
name: '<%=ingress.certificate_name%>'
|
6
|
-
spec:
|
7
|
-
domains: # does not support for willcard domains
|
8
|
-
- '<%=ingress.domain_name%>'
|
2
|
+
<%= include_template "certificate.yml" %>
|
9
3
|
<% end %>
|
10
4
|
|
11
5
|
---
|
data/lib/templates/service.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
<% if cloud.name == 'gcloud' %>
|
1
2
|
---
|
2
3
|
# used to increase request timeout
|
3
4
|
apiVersion: cloud.google.com/v1beta1
|
@@ -6,16 +7,17 @@ metadata:
|
|
6
7
|
name: '<%=service.config_name%>'
|
7
8
|
spec:
|
8
9
|
timeoutSec: 1800
|
9
|
-
|
10
10
|
---
|
11
|
-
|
11
|
+
<% end %>
|
12
12
|
|
13
13
|
kind: Service
|
14
14
|
apiVersion: v1
|
15
15
|
metadata:
|
16
16
|
name: '<%=service.name%>'
|
17
17
|
annotations:
|
18
|
+
<% if cloud.name == 'gcloud' %>
|
18
19
|
beta.cloud.google.com/backend-config: '{"ports": {"80":"<%=service.config_name%>"}}'
|
20
|
+
<% end %>
|
19
21
|
spec:
|
20
22
|
selector:
|
21
23
|
name: '<%=deployment.name%>'
|
data/lib/templates/settings.rb
CHANGED
@@ -14,6 +14,7 @@ settings = {
|
|
14
14
|
# job_name: "#{app_name}-job", # enable if there is any background service
|
15
15
|
# job_command: 'bundle exec sidekiq -C config/sidekiq.yml',
|
16
16
|
# job_services: ['sidekiq', 'cron'] # list of linux services needed.
|
17
|
+
# custom_volumes: { my_volume: { kind: 'hostPath', mount_path: '/', settings: { path: '..', type: 'Directory' } } }
|
17
18
|
},
|
18
19
|
ingress: {
|
19
20
|
name: "#{app_name}-ingress",
|
@@ -26,7 +27,7 @@ settings = {
|
|
26
27
|
project_name: 'my-project-name',
|
27
28
|
cluster_name: 'my-cluster-name',
|
28
29
|
cluster_region: 'europe-west4-a',
|
29
|
-
docker_build_cmd: 'build -f Dockerfile'
|
30
|
+
docker_build_cmd: 'build -f Dockerfile' # using target: 'build --target production -f Dockerfile '
|
30
31
|
},
|
31
32
|
secrets: {
|
32
33
|
name: "#{app_name}-secrets"
|
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.5'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- owen2345
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erb
|
@@ -40,9 +40,10 @@ files:
|
|
40
40
|
- lib/kubernetes_helper/railtie.rb
|
41
41
|
- lib/kubernetes_helper/version.rb
|
42
42
|
- lib/templates/README.md
|
43
|
-
- lib/templates/_replicas.yml
|
44
|
-
- lib/templates/_sidekiq_alive_gem.yml
|
43
|
+
- lib/templates/_replicas.yml
|
44
|
+
- lib/templates/_sidekiq_alive_gem.yml
|
45
45
|
- lib/templates/cd.sh
|
46
|
+
- lib/templates/certificate.yml
|
46
47
|
- lib/templates/deployment.yml
|
47
48
|
- lib/templates/ingress.yml
|
48
49
|
- lib/templates/secrets.yml
|