pfab 0.14.0 → 0.17.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: 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