kubernetes_helper 1.2 → 1.6

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: a680149c9a36ebc58fc0f7560a1257bc48bedfbf8a12ed93cfed112b12799407
4
- data.tar.gz: b0b0dafefba5594194bed8bf990ace04f04297939f2861575d79b84c716aacca
3
+ metadata.gz: 91be870ea9d9d07de0ef4fb9e5c02094929b6d89fa7229aed5286877ff48dbca
4
+ data.tar.gz: 656ec2ce0a6ef926e6166da26fff8a493b6648984915f09da47bbd2913c0fbb3
5
5
  SHA512:
6
- metadata.gz: 2b3829818e7e37a552fe645686b954a27ac7779ab6097aaba16fe3b6b91538c471c4501b9c9d1346230737553772058ae0c4cc5183b4fe61ca1a289cf5422d24
7
- data.tar.gz: c98898c74f76a1d796387953450360a5d167b070a23461a58f3ae20b93a840906920fc191b196354132ff124925d6c877bd1baf28a60a5d6f766fd7c0af89e60
6
+ metadata.gz: 25e41a5e0a09dd15dcd6073d3d7278786d72916e6a9dc288e4c1d8380177d31d64c79e0ab3f164daae0e8f32e77ae52ec85d3a958856fd787a7be7b1523d2d49
7
+ data.tar.gz: 3de36d890e9c2211854cbaabe76e662a7fa4d60696c88d6c943ca05a55164fa829eee988bb80d6b2a2da914ad137e040c17ccc1644c9b0c981c193faafebce45
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KubernetesHelper
4
- VERSION = '1.2'
4
+ VERSION = '1.6'
5
5
  end
@@ -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
@@ -0,0 +1,2 @@
1
+ kubectl set image deployment/$deployment $deployment=$DEPLOY_NAME
2
+ [ "$deployment" = "${deployments[0]}" ] && kubectl rollout status deployment/$deployment || true
data/lib/templates/cd.sh CHANGED
@@ -48,6 +48,5 @@ IFS=',' read -r -a deployments <<< "$DEPLOYMENTS"
48
48
  for deployment in "${deployments[@]}"; do
49
49
  [ -z "$deployment" ] && continue # if empty value
50
50
 
51
- kubectl set image deployment/$deployment $deployment=$DEPLOY_NAME
52
- [ "$deployment" = "${deployments[0]}" ] && kubectl rollout status deployment/$deployment || true
51
+ <%= include_template "_cd_apply_images.sh" %>
53
52
  done
@@ -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
@@ -85,6 +90,17 @@ documents:
85
90
  - name: applog
86
91
  emptyDir: {}
87
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
+
88
104
  <% if deployment.job_name %>
89
105
  - apiVersion: apps/v1
90
106
  kind: Deployment
@@ -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%>'
@@ -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.2'
4
+ version: '1.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - owen2345
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-12 00:00:00.000000000 Z
11
+ date: 2021-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erb
@@ -40,6 +40,7 @@ files:
40
40
  - lib/kubernetes_helper/railtie.rb
41
41
  - lib/kubernetes_helper/version.rb
42
42
  - lib/templates/README.md
43
+ - lib/templates/_cd_apply_images.sh
43
44
  - lib/templates/_replicas.yml
44
45
  - lib/templates/_sidekiq_alive_gem.yml
45
46
  - lib/templates/cd.sh