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 +4 -4
- data/README.markdown +3 -1
- data/lib/pfab/cli.rb +20 -9
- data/lib/pfab/templates/web.rb +24 -3
- data/lib/pfab/version.rb +1 -1
- data/pfab.gemspec +23 -15
- metadata +2 -3
- data/.ruby-version +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c80def412f2a0527b88bb127543b59863ef43ef049a7b5192fd79f399a5ae706
|
4
|
+
data.tar.gz: 5176b0c7e1ab03193d6c174218b6cd37918831df6807441b966a9137afdacea8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
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
|
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
|
-
|
238
|
+
build_cmd = "docker build -t #{image_name} --platform amd64 ."
|
239
|
+
puts build_cmd
|
240
|
+
result = system(build_cmd)
|
238
241
|
|
239
|
-
|
240
|
-
|
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] = {
|
data/lib/pfab/templates/web.rb
CHANGED
@@ -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
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.
|
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.
|
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-
|
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.
|
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
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
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.
|
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-
|
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
|