kubernetes_helper 1.11.2 → 1.12.1

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: 23c41532791e352e8faf3292df90c6b1d6e62846a28037be8d28cb7d92441104
4
- data.tar.gz: e74e693b4b8c741cb0df1da0e6e4e94a28b1ec20cf9a43469dd09bbb67884e91
3
+ metadata.gz: f82e5c03c90bdac6d509cc112dac0ae783b3114758e259bad14e45a85959e6e4
4
+ data.tar.gz: c8324c75469a8ac9d7239eb62b740bfc60da6d0baac8c6db9c021edd544f62c9
5
5
  SHA512:
6
- metadata.gz: b8654828bde9d8de102165c5b034b1d19aa948e5da709b280a96f922f881792756e1a791878cb2ffa3a3a8fd45baa52ab25399f17f89ecb51b4a9df44e38c667
7
- data.tar.gz: ff68484362812d0a247f2f42469f731869de61380a60011c2627714e5a94fb585605aa68e9e11fc63ea529e59a64d7fd17ba119ceb0b0c3795dbecd07ce8910f
6
+ metadata.gz: 636ad611aaf5b8f6b43a4c13643302f9efd33879476feec8c87701a4506220db9c7df3536772b0d24aba087692a856fd7f2b61d757b6e2967ad9507b6ec97e94
7
+ data.tar.gz: cb5a3c6a14edf82b6577f4bd0d98e21b0d92c2fce74fcf6bafca06466713dd377bcb98ec3d0d9fe087e24e2b6f943e22d31d77393b2ec48e5d95ed41eaf65d8e
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.2'
4
+ VERSION = '1.12.1'
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| %>
data/lib/templates/cd.sh CHANGED
@@ -41,9 +41,12 @@ ALREADY_DEPLOYED="$(gcloud container images list-tags --format='get(tags)' $IMAG
41
41
  if [ -z $ALREADY_DEPLOYED ]
42
42
  then
43
43
  ## Build and push containers
44
+ echo "****** image not created yet, building image..."
44
45
  docker $DOCKER_BUILD_CMD -t $DEPLOY_NAME .
45
46
  docker push $DEPLOY_NAME
46
47
  fi
48
+
49
+ echo "****** tagging image $DEPLOY_NAME as $LATEST_NAME"
47
50
  docker tag $DEPLOY_NAME $LATEST_NAME
48
51
  docker push $LATEST_NAME
49
52
 
@@ -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.2
4
+ version: 1.12.1
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-10 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