kubernetes_helper 1.11.3 → 1.12

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: 235b38e0301bf3d021a192dc336183f89bd3ca214d5c5464b701d4ed03e1faef
4
- data.tar.gz: 28ffb4e42d000427b08643c14f24b626d2ee78ace071219bddaf64b35b7b88af
3
+ metadata.gz: 604789c04d8c343b001119322a2f211f456f901fb8254ba7be2d460727b02523
4
+ data.tar.gz: c8de634961d39b7525311bc762257a5eb93a7e75f6aac38213b0389ff8af3187
5
5
  SHA512:
6
- metadata.gz: f8556cd967823100b097347f1a02e2e8681ab16e319c44faf5baa959accb3ca52c08339c1eb1ca04f61c712f63d8e8b76e51e21c5caa1da78e8f79c82c541d8e
7
- data.tar.gz: bdbf65ea0309743fb11567d30b2be2bea66382932553a253860762aef5637e04781e07fc78119735d1d9ea30d2e0854d2c58478cc75627b4f100e2710e6973e2
6
+ metadata.gz: 2dd5e15b7bdf468a7dabd64079060efea3d9e0858817cc2da7e3b37fa2537a207ba0188165e05a8c7fa935025ec3e4e34e9c73bc2f3b1234997e9d4c309bf83b
7
+ data.tar.gz: 99eb1af9d2ba8bf5fab45341248fa1d467c8bd27ca814b30d149eeebdd068b0d975e882ee50d03eac3ab584f02bc286ad2f48ff3329ba753ffe8bc4070f96203
data/README.md CHANGED
@@ -74,6 +74,8 @@ Below settings are used when configuring the application in the k8s environment
74
74
  - `deployment.custom_volumes` (Hash<name: path>, Optional): Custom volumes to be mounted.
75
75
  Sample volume: `{ my_volume: { kind: 'hostPath', mount_path: '/', settings: { path: '..', type: 'Directory' } } }`
76
76
  Sample secret: `{ pubsub_secret: { kind: 'secret', mount_path: '/secrets/pubsub', settings: { secretName: 'my_secret_name' } } }`
77
+ - `deployment.log_container` (Boolean, default true): Permits to auto include logs container to print all logs from logs/*.log to stdout (required for papertrail using fluentd)
78
+ - `deployment.app_port` (Integer, default 3000): Application port number
77
79
 
78
80
  - `deployment.job_name` (String, optional): Job deployment name (Note: Underscores are not accepted). Sample: `my-app-job`. Note: This deployment is created only if this value is present
79
81
  - `deployment.job_command` (String, optional): Bash command to be used for job container. Sample: `bundle exec sidekiq`
@@ -22,7 +22,7 @@ module KubernetesHelper
22
22
 
23
23
  # @param _env_name (String)
24
24
  def initialize(_env_name)
25
- @config_values = KubernetesHelper.default_settings.merge(KubernetesHelper.load_settings)
25
+ @config_values = KubernetesHelper.load_settings
26
26
  end
27
27
 
28
28
  def parse_yml_file(file_path, output_path)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KubernetesHelper
4
- VERSION = '1.11.3'
4
+ VERSION = '1.12'
5
5
  end
@@ -17,15 +17,21 @@ module KubernetesHelper
17
17
  def self.load_settings
18
18
  config_file = File.join(settings_path, 'settings.rb')
19
19
  load config_file
20
- settings
21
- end
22
20
 
23
- def self.default_settings
24
- {
21
+ def_settings = {
25
22
  cloud: {
26
23
  name: 'gcloud'
24
+ },
25
+ deployment: {
26
+ log_container: true
27
27
  }
28
28
  }
29
+ deep_merge(def_settings, settings || {})
30
+ end
31
+
32
+ def self.deep_merge(hash1, hash2)
33
+ merger = proc { |_key, v1, v2| v1.kind_of?(Hash) && v2.kind_of?(Hash) ? v1.merge(v2, &merger) : v2 }
34
+ hash1.merge(hash2, &merger)
29
35
  end
30
36
 
31
37
  def self.settings_path(file_name = nil, use_template: false)
@@ -4,8 +4,10 @@
4
4
  secretName: '<%=deployment.cloud_secret_name%>'
5
5
  <% end %>
6
6
 
7
+ <% if deployment.log_container %>
7
8
  - name: applog
8
9
  emptyDir: {}
10
+ <% end %>
9
11
 
10
12
  # Custom volumes
11
13
  <% (deployment.custom_volumes || {}).each do |name, vol| %>
@@ -29,7 +29,7 @@ documents:
29
29
  static_env: true
30
30
  import_secrets: ['secrets.yml', '<%=secrets.name%>']
31
31
  ports:
32
- - containerPort: &port 3000
32
+ - containerPort: &port <% deployment.app_port || 3000 %>
33
33
  name: '<%=service.backend_port_name%>'
34
34
 
35
35
  <% if deployment.liveness_path %>
@@ -45,9 +45,11 @@ documents:
45
45
  <%= include_template "_container_extra_settings.yml", { pod: 'web' } %>
46
46
 
47
47
  volumeMounts:
48
+ <% if deployment.log_container %>
48
49
  - &log_volume
49
50
  name: applog
50
51
  mountPath: /app/log
52
+ <% end %>
51
53
 
52
54
  <% if deployment.cloud_secret_name %>
53
55
  - &cloud_credentials_volume
@@ -74,6 +76,7 @@ documents:
74
76
  <%= include_template "_container_extra_settings.yml", { pod: 'cloudsql' } %>
75
77
  <% end %>
76
78
 
79
+ <% if deployment.log_container %>
77
80
  - &logs_container # print to stdout all log files
78
81
  name: print-logs
79
82
  image: busybox
@@ -82,6 +85,7 @@ documents:
82
85
  volumeMounts:
83
86
  - *log_volume
84
87
  <%= include_template "_container_extra_settings.yml", { pod: 'logs' } %>
88
+ <% end %>
85
89
 
86
90
  <%= include_template "_custom_containers.yml", { pod: 'web' } %>
87
91
 
@@ -125,7 +129,9 @@ documents:
125
129
  - *cloudsql_container
126
130
  <% end %>
127
131
 
132
+ <% if deployment.log_container %>
128
133
  - <<: *logs_container
134
+ <% end %>
129
135
 
130
136
  <%= include_template "_custom_containers.yml", { pod: 'job' } %>
131
137
 
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.11.3
4
+ version: '1.12'
5
5
  platform: ruby
6
6
  authors:
7
7
  - owen2345
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-17 00:00:00.000000000 Z
11
+ date: 2022-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erb