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 +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
|