pfab 0.14.0 → 0.17.0

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: a53ce6280e22d0792b71639b4b591ee8521778d42ffb300ba68878849ab2b248
4
- data.tar.gz: 6bbaa9903e186b835137679e8a7b2fe4d5d333c112488b12fce777453cbf9857
3
+ metadata.gz: c80def412f2a0527b88bb127543b59863ef43ef049a7b5192fd79f399a5ae706
4
+ data.tar.gz: 5176b0c7e1ab03193d6c174218b6cd37918831df6807441b966a9137afdacea8
5
5
  SHA512:
6
- metadata.gz: 0f24d62c35b317c5d5b452a25f7dbafca3b696efc8ce6d669a579eb2765d1a71c3ae45dbb782053ffaa5e807892e00f906553c7f9247baedfe5fa4007cd32bcd
7
- data.tar.gz: '029d7e10ba71749f79f8bedac4310dc8d8934ef1c16683c63988c7e3fabd780242828004a14668de5bc4c525bc0fd48c018b9eb8ef06abe27118b4175f270b2b'
6
+ metadata.gz: 564a5caf247097c151e13522a334568e6c7f9af3f61e1f38b3afe22c1ee0a25e4416219e1c176e52e7179ec496e67b10e454c4164172281966100c9d247eac40
7
+ data.tar.gz: cc624dbb446f95e5a619226bb15b53c42a7bec10131da87be5dc6cf6eb33cb962e06e512556136feb48805b17fad01e434274fb773681f1f0598bc73a3a4b294
data/README.markdown CHANGED
@@ -40,6 +40,7 @@ deployables:
40
40
  type: web
41
41
  port: 8443
42
42
  protocol: h2c # tell traefik this is going to be http2
43
+ tls_cert_secret: my-tls-secret
43
44
  command: java -Xmx550m -javaagent:/app/dd-java-agent.jar -jar myjar.jar server /app/grpc.yml
44
45
  readinessProbe:
45
46
  exec:
@@ -115,9 +116,10 @@ Releasing
115
116
 
116
117
  - modify version.rb
117
118
  - ```bundle exec rake gemspec```
119
+ - ```git commit ```
118
120
  - ```bundle exec rake git:release```
119
121
  - ```bundle exec rake build```
120
- - ```gem push pkg/pfab-0.12.0.gem```
122
+ - ```gem push pkg/pfab-0.15.0.gem```
121
123
 
122
124
  Copyright
123
125
  ---------
data/lib/pfab/cli.rb CHANGED
@@ -209,11 +209,12 @@ module Pfab
209
209
 
210
210
  full_image_name = "#{container_repository}/#{image_name}:#{rev}"
211
211
 
212
- cmd = "docker images -q #{full_image_name}"
212
+ # return 0 if image exists 1 if not
213
+ cmd = "docker manifest inspect #{full_image_name} > /dev/null ; echo $?"
213
214
  say "Looking for images with #{cmd}"
214
- existing = `#{cmd}`
215
+ existing = `#{cmd}`.strip
215
216
 
216
- if !existing.to_s.empty? && !force
217
+ if existing == "0" && !force
217
218
  say "Found image #{full_image_name} already, skipping prebuild, build & push"
218
219
  return true
219
220
  end
@@ -234,13 +235,23 @@ module Pfab
234
235
  end
235
236
  end
236
237
 
237
- puts_and_system "docker build -t #{image_name} --platform amd64 ."
238
+ build_cmd = "docker build -t #{image_name} --platform amd64 ."
239
+ puts build_cmd
240
+ result = system(build_cmd)
238
241
 
239
- puts_and_system "docker tag #{image_name}:latest #{image_name}:#{rev}"
240
- puts_and_system "docker tag #{image_name}:#{rev} #{full_image_name}"
242
+ puts "Build Result #{result}"
243
+
244
+ if result
245
+ puts_and_system "docker tag #{image_name}:latest #{image_name}:#{rev}"
246
+ puts_and_system "docker tag #{image_name}:#{rev} #{full_image_name}"
247
+
248
+ puts_and_system "docker push #{container_repository}/#{image_name}:#{rev}"
249
+ return true
250
+ else
251
+ say "Build Did Not Succeed"
252
+ return false
253
+ end
241
254
 
242
- puts_and_system "docker push #{container_repository}/#{image_name}:#{rev}"
243
- return true
244
255
  end
245
256
 
246
257
  def yy
@@ -307,7 +318,7 @@ module Pfab
307
318
  def calculate_runnables(runnable_type)
308
319
  application = @application_yaml["name"]
309
320
  apps = {}
310
- @application_yaml[runnable_type].each do |deployable, dep|
321
+ (@application_yaml[runnable_type] || []).each do |deployable, dep|
311
322
  deployable_type = dep["type"]
312
323
  app_name = [application, deployable_type, deployable].join("-")
313
324
  apps[app_name] = {
@@ -21,7 +21,8 @@ module Pfab
21
21
  labels: {
22
22
  application: @data['application'],
23
23
  "deployed-name" => @data['deployed_name'],
24
- }
24
+ },
25
+ annotations: service_annotations,
25
26
  },
26
27
  spec: {
27
28
  selector: {
@@ -38,6 +39,12 @@ module Pfab
38
39
  }
39
40
  end
40
41
 
42
+ def service_annotations
43
+ h = {}
44
+ h["traefik.ingress.kubernetes.io/service.serversscheme"] = "h2c" if get("protocol") == "h2c"
45
+ h
46
+ end
47
+
41
48
  def ingress
42
49
  {
43
50
  apiVersion: "networking.k8s.io/v1",
@@ -53,12 +60,25 @@ module Pfab
53
60
  },
54
61
  spec: {
55
62
  rules: rules,
63
+ tls: tls_hosts
56
64
  },
57
65
  }
58
66
  end
59
67
 
68
+ def tls_hosts
69
+ hosts.map do |host|
70
+ {
71
+ hosts: [host],
72
+ secretName: get("tls_cert_secret")
73
+ }
74
+ end
75
+ end
76
+
77
+ def hosts
78
+ get("host").split(",")
79
+ end
80
+
60
81
  def rules
61
- hosts = get("host").split(",")
62
82
  hosts.map do |host|
63
83
  {
64
84
  host: host,
@@ -91,8 +111,9 @@ module Pfab
91
111
  "traefik.protocol" => get("protocol") || "http",
92
112
  "traefik.frontend.headers.SSLRedirect" => "true",
93
113
  "traefik.docker.network" => "traefik",
114
+ "traefik.ingress.kubernetes.io/router.entrypoints" => "websecure",
115
+ "traefik.ingress.kubernetes.io/router.tls" => "true"
94
116
  }
95
- h["ingress.kubernetes.io/protocol"] = "h2c" if get("protocol") == "h2c"
96
117
  h
97
118
  end
98
119
 
data/lib/pfab/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 14
4
+ MINOR = 17
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.14.0 ruby lib
5
+ # stub: pfab 0.16.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.14.0"
9
+ s.version = "0.16.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 = "2022-01-15"
14
+ s.date = "2022-01-18"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -21,7 +21,6 @@ Gem::Specification.new do |s|
21
21
  ]
22
22
  s.files = [
23
23
  ".document",
24
- ".ruby-version",
25
24
  ".tool-versions",
26
25
  "Gemfile",
27
26
  "Gemfile.lock",
@@ -44,22 +43,31 @@ Gem::Specification.new do |s|
44
43
  ]
45
44
  s.homepage = "http://github.com/prefab-cloud/pfab".freeze
46
45
  s.licenses = ["MIT".freeze]
47
- s.rubygems_version = "3.2.32".freeze
46
+ s.rubygems_version = "3.0.3.1".freeze
48
47
  s.summary = "helper gem".freeze
49
48
 
50
49
  if s.respond_to? :specification_version then
51
50
  s.specification_version = 4
52
- end
53
51
 
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"])
52
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
53
+ s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
54
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
55
+ s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
56
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
57
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
58
+ s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
59
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
60
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
61
+ else
62
+ s.add_dependency(%q<commander>.freeze, [">= 0"])
63
+ s.add_dependency(%q<activesupport>.freeze, [">= 0"])
64
+ s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
65
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
66
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
67
+ s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
68
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
69
+ s.add_dependency(%q<test-unit>.freeze, [">= 0"])
70
+ end
63
71
  else
64
72
  s.add_dependency(%q<commander>.freeze, [">= 0"])
65
73
  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.14.0
4
+ version: 0.17.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: 2022-01-15 00:00:00.000000000 Z
11
+ date: 2022-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -132,7 +132,6 @@ extra_rdoc_files:
132
132
  - README.markdown
133
133
  files:
134
134
  - ".document"
135
- - ".ruby-version"
136
135
  - ".tool-versions"
137
136
  - Gemfile
138
137
  - Gemfile.lock
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.5.3