pfab 0.29.0 → 0.30.0

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: 1f9391bfdc2ed0ea0d34e42751b2e3cbac308c5f68df6d3c809cd968a5d550b8
4
- data.tar.gz: 20cad91ed093ebcf575fdc9223152156f8fe6ac0be070e973ff1e049679df37f
3
+ metadata.gz: 9b3ff2aa05ecd491a414c3884cb2d04ef92ad791c4bb8ecfa12eacd3d796b3f0
4
+ data.tar.gz: e1e21b111755fc25cd97aed82be2fa22dd25bde10434b4b33e4bcc61f4a85928
5
5
  SHA512:
6
- metadata.gz: 52f8ab8793e8197916a437e83ef57e2d8a141c3bf6e043ad3843422592e4b294c5be40237f57697a05e55c4259ea9ebfc20474f636f3ef956e401f53b69e6e01
7
- data.tar.gz: 8e3c8ae0fc94fde7715f34cf2f26bac8faa04ac8116f378d2509eb3f4aefd38d55bc5cdbc3e7c808602436fd81724cbd909f410c11914bdf9deacf58c3750e7e
6
+ metadata.gz: e93309c3947e2a17a7d3b5f597eb2ef4d277230d667bc8e211d4f69e6c2f695a297bce145f937757e7a9658a7cc67c794d1303aadcf65558161f8129eecf6dfa
7
+ data.tar.gz: a462014934cc780e032409b55004ad4104659c3aeac9731d45f64bd7dbd823ad85f2c08d92719493380d5b92aa0c17ee76a4e41242ad5a717c098a73bed16e64
@@ -17,6 +17,10 @@ module Pfab
17
17
  app_vars.dig(@data["env"], key) || app_vars[key]
18
18
  end
19
19
 
20
+ def get_namespace()
21
+ get("namespace") || @data['env']
22
+ end
23
+
20
24
  def cpu(req_type)
21
25
  default_cpu_string = @data["config"]["default_cpu_string"] || "50m/250m"
22
26
  (request, limit) = (get("cpu") || default_cpu_string).split("/")
@@ -82,9 +86,9 @@ module Pfab
82
86
  fieldRef: { fieldPath: field_name }
83
87
  } }
84
88
  elsif v.to_s.start_with? "configmap/"
85
- (_, configMapName, keyName) = v.split("/")
89
+ (_, configmap_name, key_name) = v.split("/")
86
90
  env_vars[env_var_name] = { valueFrom: {
87
- configMapKeyRef: { name: configMapName, key: keyName }
91
+ configMapKeyRef: { name: configmap_name, key: key_name }
88
92
  } }
89
93
  else
90
94
  env_vars[env_var_name] = { value: v }
@@ -15,7 +15,7 @@ module Pfab
15
15
  kind: "CronJob",
16
16
  metadata: {
17
17
  name: "#{@data['deployed_name']}-#{@data['sha']}",
18
- namespace: @data['env'],
18
+ namespace: get_namespace,
19
19
  labels: {
20
20
  application: @data['application'],
21
21
  "deployed-name" => @data['deployed_name'],
@@ -53,7 +53,7 @@ module Pfab
53
53
  },
54
54
  },
55
55
  spec: {
56
-
56
+ serviceAccountName: get('serviceAccountName'),
57
57
  containers: [
58
58
  {
59
59
  image: image_name,
@@ -64,7 +64,7 @@ module Pfab
64
64
  },
65
65
  ],
66
66
  restartPolicy: "Never",
67
- },
67
+ }.compact,
68
68
  },
69
69
  backoffLimit: 2,
70
70
  },
@@ -15,7 +15,7 @@ module Pfab
15
15
  apiVersion: "apps/v1",
16
16
  metadata: {
17
17
  name: @data['deployed_name'],
18
- namespace: @data['env'],
18
+ namespace: get_namespace,
19
19
  labels: {
20
20
  application: @data['application'],
21
21
  "deployed-name" => @data['deployed_name'],
@@ -28,6 +28,7 @@ module Pfab
28
28
  },
29
29
  spec: {
30
30
  replicas: get("replicas") || 1,
31
+ serviceAccountName: get('serviceAccountName'),
31
32
  selector: {
32
33
  matchLabels: {
33
34
  "deployed-name" => @data['deployed_name'],
@@ -60,7 +61,7 @@ module Pfab
60
61
  ]
61
62
  },
62
63
  },
63
- },
64
+ }.compact,
64
65
  }
65
66
  end
66
67
  end
@@ -15,7 +15,7 @@ module Pfab
15
15
  kind: "Job",
16
16
  metadata: {
17
17
  name: "job-#{@data['deployed_name']}-#{@data['sha']}",
18
- namespace: @data['env'],
18
+ namespace: get_namespace,
19
19
  labels: {
20
20
  application: @data['application'],
21
21
  "deployed-name" => @data['deployed_name'],
@@ -30,7 +30,7 @@ module Pfab
30
30
  template: {
31
31
  metadata: {
32
32
  name: "#{@data['deployed_name']}-#{@data['sha']}",
33
- namespace: @data['env'],
33
+ namespace: get_namespace,
34
34
  labels: {
35
35
  application: @data['application'],
36
36
  "deployed-name" => @data['deployed_name'],
@@ -41,6 +41,7 @@ module Pfab
41
41
  },
42
42
  },
43
43
  spec: {
44
+ serviceAccountName: get('serviceAccountName'),
44
45
  containers: [
45
46
  {
46
47
  image: image_name,
@@ -51,7 +52,7 @@ module Pfab
51
52
  },
52
53
  ],
53
54
  restartPolicy: "Never",
54
- },
55
+ }.compact,
55
56
  },
56
57
  backoffLimit: 0,
57
58
  },
@@ -6,7 +6,11 @@ module Pfab
6
6
  puts "No host to deploy to for #{@data['deployed_name']}. Skipping."
7
7
  else
8
8
  f << YAML.dump(service.deep_stringify_keys)
9
- f << YAML.dump(ingress.deep_stringify_keys)
9
+ if not app_vars.has_key?('generateIngressEnabled') || app_vars['generateIngressEnabled']
10
+ f << YAML.dump(ingress.deep_stringify_keys)
11
+ else
12
+ puts "skipping ingress because ingress_disabled = #{@data['generateIngressEnabled']}"
13
+ end
10
14
  f << YAML.dump(deployment.deep_stringify_keys)
11
15
  end
12
16
  end
@@ -17,7 +21,7 @@ module Pfab
17
21
  kind: "Service",
18
22
  metadata: {
19
23
  name: @data['deployed_name'],
20
- namespace: @data['env'],
24
+ namespace: get_namespace,
21
25
  labels: {
22
26
  application: @data['application'],
23
27
  "deployed-name" => @data['deployed_name'],
@@ -32,8 +36,9 @@ module Pfab
32
36
  {
33
37
  name: "http",
34
38
  port: 80,
35
- targetPort: get("port"),
36
- }
39
+ targetPort: app_vars["port"],
40
+ appProtocol: app_vars["appProtocol"]
41
+ }.compact
37
42
  ]
38
43
  }
39
44
  }
@@ -51,7 +56,7 @@ module Pfab
51
56
  kind: "Ingress",
52
57
  metadata: {
53
58
  name: "ingress-#{@data['deployed_name']}",
54
- namespace: @data['env'],
59
+ namespace: get_namespace,
55
60
  labels: {
56
61
  application: @data['application'],
57
62
  "deployed-name" => @data['deployed_name'],
@@ -136,17 +141,52 @@ module Pfab
136
141
  get("readinessProbe") || default_probe
137
142
  end
138
143
 
144
+ def startupProbe
145
+ get("startupProbe") || default_probe
146
+ end
147
+
139
148
  def application_type
140
149
  "web"
141
150
  end
142
151
 
143
152
  def deployment
153
+ secret_mounts = get("secretMounts") || []
154
+ volume_mounts = []
155
+ volumes = []
156
+ secret_mounts.each do |secret_mount|
157
+ volumes.append({
158
+ name: secret_mount['name'],
159
+ secret: { secretName: secret_mount['secretName'] }
160
+ })
161
+ volume_mounts.append({
162
+ name: secret_mount['name'],
163
+ mountPath: secret_mount['path'],
164
+ readOnly: secret_mount['readOnly'] || true
165
+ })
166
+ end
167
+
168
+ if get("datadogVolumeMountEnabled")
169
+ datadog_volume_name = "ddsocket"
170
+ datadog_path = "/var/run/datadog"
171
+ volumes.append({
172
+ name: datadog_volume_name,
173
+ hostPath: {
174
+ path: datadog_path
175
+ }
176
+ })
177
+ volume_mounts.append(
178
+ name: datadog_volume_name,
179
+ mountPath: datadog_path,
180
+ readOnly: true
181
+ )
182
+ end
183
+
144
184
  {
145
185
  kind: "Deployment",
146
186
  apiVersion: "apps/v1",
147
187
  metadata: {
148
188
  name: @data['deployed_name'],
149
- namespace: @data['env'],
189
+ namespace: get_namespace,
150
190
  labels: {
151
191
  application: @data['application'],
152
192
  "deployed-name" => @data['deployed_name'],
@@ -185,6 +225,7 @@ module Pfab
185
225
  },
186
226
  },
187
227
  spec: {
228
+ serviceAccountName: get('serviceAccountName'),
188
229
  containers: [
189
230
  {
190
231
  image: image_name,
@@ -192,27 +233,26 @@ module Pfab
192
233
  command: get("command").split(" "),
193
234
  env: env_vars,
194
235
  resources: resources,
195
- livenessProbe: livenessProbe,
196
- readinessProbe: readinessProbe,
197
- volumeMounts: [
236
+ ports: [
198
237
  {
199
- name: "apmsocketpath",
200
- mountPath: "/var/run/datadog"
238
+ name: "main",
239
+ containerPort: app_vars["port"]
240
+ },
241
+ {
242
+ name: "health-port",
243
+ containerPort: 8085 # the default micronaut endpoint port
201
244
  }
202
- ]
203
- }
204
- ],
205
- volumes: [
206
- {
207
- name: "apmsocketpath",
208
- hostPath: {
209
- path: "/var/run/datadog/",
210
- }
245
+ ],
246
+ livenessProbe: livenessProbe,
247
+ readinessProbe: readinessProbe,
248
+ startupProbe: startupProbe,
249
+ volumeMounts: volume_mounts
211
250
  }
212
251
  ],
213
- },
252
+ volumes: volumes
253
+ }.compact,
214
254
  },
215
- },
255
+ }.compact,
216
256
  }
217
257
  end
218
258
  end
data/lib/pfab/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 29
4
+ MINOR = 30
5
5
  PATCH = 0
6
6
  BUILD = nil
7
7
 
data/pfab.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: pfab 0.29.0 ruby lib
5
+ # stub: pfab 0.30.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.29.0"
9
+ s.version = "0.30.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Jeff Dwyer".freeze]
14
- s.date = "2023-02-07"
14
+ s.date = "2023-02-17"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -44,31 +44,22 @@ Gem::Specification.new do |s|
44
44
  ]
45
45
  s.homepage = "http://github.com/prefab-cloud/pfab".freeze
46
46
  s.licenses = ["MIT".freeze]
47
- s.rubygems_version = "3.0.3.1".freeze
47
+ s.rubygems_version = "3.2.32".freeze
48
48
  s.summary = "helper gem".freeze
49
49
 
50
50
  if s.respond_to? :specification_version then
51
51
  s.specification_version = 4
52
+ end
52
53
 
53
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
55
- s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
56
- s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
57
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
58
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
59
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
60
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
61
- s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
62
- else
63
- s.add_dependency(%q<commander>.freeze, [">= 0"])
64
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
65
- s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
66
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
67
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
68
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
69
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
70
- s.add_dependency(%q<test-unit>.freeze, [">= 0"])
71
- end
54
+ if s.respond_to? :add_runtime_dependency then
55
+ s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
56
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
57
+ s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
58
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
59
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
60
+ s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
61
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
62
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
72
63
  else
73
64
  s.add_dependency(%q<commander>.freeze, [">= 0"])
74
65
  s.add_dependency(%q<activesupport>.freeze, [">= 0"])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pfab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.0
4
+ version: 0.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dwyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-07 00:00:00.000000000 Z
11
+ date: 2023-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -171,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0'
173
173
  requirements: []
174
- rubygems_version: 3.0.3.1
174
+ rubygems_version: 3.2.32
175
175
  signing_key:
176
176
  specification_version: 4
177
177
  summary: helper gem