pfab 0.9.0 → 0.13.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: 96b769d61b9ae509f7daec59b57a0925851635e0e5b7f8693d0c476bda283506
4
- data.tar.gz: 9b86749ba6031a208ef3c63a0ffcab8692df8dc9c77fd51602428499f4d2f6f3
3
+ metadata.gz: 589356fb8374a27bf709147331e7f7a7106906b9f65f2f8bb78baf8baab8664d
4
+ data.tar.gz: cccaf81ec5b065111cd88c22be0d704ffc3050908a15cbdb21e3cda4b46d7cd0
5
5
  SHA512:
6
- metadata.gz: 80073215c5381aabd0f91d83d6181dd824c8f1c39c83a8159b2ab96ab761169cec454810518962c9caf7348fbf3925b040117e02d64200006c4d5dddd2ed5da2
7
- data.tar.gz: aeab2b3c8c1587f91213eea9d6cc96aad580092306cdec0494f4fdbaa23859f0d0f781b155c1d6ce796960c6ff4c976f293c7bf812636568d11f142851f28531
6
+ metadata.gz: 2bc8c48d7d2ae782d43c78d50570cf906c4eabeeee0d2d7d20379d6460ab7e8de458d526ddd711389c369d9ade90866134f1f2551b1a9303a172476f00068518
7
+ data.tar.gz: eac9d21bf4893e11041b9c3d7a98eae5ff457085128e935605f7e86d25397c5ade4cf6ce5e8fcc9177b98b13bf2f002159750d6ac5220667b03c8d08686227d4
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 2.6.9
data/Gemfile CHANGED
@@ -12,7 +12,7 @@ gem "pry-byebug"
12
12
  group :development do
13
13
  gem "rdoc", "~> 3.12"
14
14
  gem "bundler", "~> 1.0"
15
- gem "juwelier", "~> 2.4.9"
15
+ gem "juwelier", "~> 2.4.9", git: "https://github.com/flajann2/juwelier"
16
16
  gem "simplecov", ">= 0"
17
17
  gem "test-unit", ">= 0"
18
18
  end
data/Gemfile.lock CHANGED
@@ -1,3 +1,20 @@
1
+ GIT
2
+ remote: https://github.com/flajann2/juwelier
3
+ revision: de59d5a2ddea00c1f18957ab62129c1c141acce1
4
+ specs:
5
+ juwelier (2.4.9)
6
+ builder
7
+ bundler
8
+ git
9
+ github_api
10
+ highline
11
+ kamelcase (~> 0)
12
+ nokogiri
13
+ psych
14
+ rake
15
+ rdoc
16
+ semver2
17
+
1
18
  GEM
2
19
  remote: https://rubygems.org/
3
20
  specs:
@@ -6,7 +23,7 @@ GEM
6
23
  i18n (>= 0.7, < 2)
7
24
  minitest (~> 5.1)
8
25
  tzinfo (~> 1.1)
9
- addressable (2.7.0)
26
+ addressable (2.8.0)
10
27
  public_suffix (>= 2.0.2, < 5.0)
11
28
  builder (3.2.4)
12
29
  byebug (10.0.2)
@@ -17,12 +34,26 @@ GEM
17
34
  descendants_tracker (0.0.4)
18
35
  thread_safe (~> 0.3, >= 0.3.1)
19
36
  docile (1.3.1)
20
- faraday (1.3.0)
37
+ faraday (1.8.0)
38
+ faraday-em_http (~> 1.0)
39
+ faraday-em_synchrony (~> 1.0)
40
+ faraday-excon (~> 1.1)
41
+ faraday-httpclient (~> 1.0.1)
21
42
  faraday-net_http (~> 1.0)
43
+ faraday-net_http_persistent (~> 1.1)
44
+ faraday-patron (~> 1.0)
45
+ faraday-rack (~> 1.0)
22
46
  multipart-post (>= 1.2, < 3)
23
- ruby2_keywords
47
+ ruby2_keywords (>= 0.0.4)
48
+ faraday-em_http (1.0.0)
49
+ faraday-em_synchrony (1.0.0)
50
+ faraday-excon (1.1.0)
51
+ faraday-httpclient (1.0.1)
24
52
  faraday-net_http (1.0.1)
25
- git (1.8.1)
53
+ faraday-net_http_persistent (1.2.0)
54
+ faraday-patron (1.0.0)
55
+ faraday-rack (1.0.0)
56
+ git (1.9.1)
26
57
  rchardet (~> 1.8)
27
58
  github_api (0.19.0)
28
59
  addressable (~> 2.4)
@@ -35,31 +66,19 @@ GEM
35
66
  i18n (1.2.0)
36
67
  concurrent-ruby (~> 1.0)
37
68
  json (1.8.6)
38
- juwelier (2.4.9)
39
- builder
40
- bundler
41
- git
42
- github_api
43
- highline
44
- kamelcase (~> 0)
45
- nokogiri
46
- psych
47
- rake
48
- rdoc
49
- semver2
50
- jwt (2.2.2)
69
+ jwt (2.3.0)
51
70
  kamelcase (0.0.2)
52
71
  semver2 (~> 3)
53
72
  method_source (0.9.2)
54
- mini_portile2 (2.5.0)
73
+ mini_portile2 (2.6.1)
55
74
  minitest (5.11.3)
56
75
  multi_json (1.15.0)
57
76
  multi_xml (0.6.0)
58
77
  multipart-post (2.1.1)
59
- nokogiri (1.11.2)
60
- mini_portile2 (~> 2.5.0)
78
+ nokogiri (1.12.5)
79
+ mini_portile2 (~> 2.6.1)
61
80
  racc (~> 1.4)
62
- oauth2 (1.4.4)
81
+ oauth2 (1.4.7)
63
82
  faraday (>= 0.8, < 2.0)
64
83
  jwt (>= 1.0, < 3.0)
65
84
  multi_json (~> 1.3)
@@ -72,15 +91,15 @@ GEM
72
91
  pry-byebug (3.6.0)
73
92
  byebug (~> 10.0)
74
93
  pry (~> 0.10)
75
- psych (3.3.1)
94
+ psych (4.0.2)
76
95
  public_suffix (4.0.6)
77
- racc (1.5.2)
96
+ racc (1.6.0)
78
97
  rack (2.2.3)
79
- rake (13.0.3)
98
+ rake (13.0.6)
80
99
  rchardet (1.8.0)
81
100
  rdoc (3.12.2)
82
101
  json (~> 1.4)
83
- ruby2_keywords (0.0.4)
102
+ ruby2_keywords (0.0.5)
84
103
  semver2 (3.4.2)
85
104
  simplecov (0.16.1)
86
105
  docile (~> 1.1)
@@ -100,11 +119,11 @@ DEPENDENCIES
100
119
  activesupport
101
120
  bundler (~> 1.0)
102
121
  commander
103
- juwelier (~> 2.4.9)
122
+ juwelier (~> 2.4.9)!
104
123
  pry-byebug
105
124
  rdoc (~> 3.12)
106
125
  simplecov
107
126
  test-unit
108
127
 
109
128
  BUNDLED WITH
110
- 1.16.6
129
+ 1.17.2
data/README.markdown CHANGED
@@ -100,6 +100,25 @@ Contributing to pfab
100
100
  is fine, but please isolate to its own commit so I can cherry-pick
101
101
  around it.
102
102
 
103
+ Local Testing
104
+ -----------------------------------------
105
+ ```bash
106
+ bundle exec rake build
107
+ gem install --local pkg/pfab-0.11.0.gem
108
+ ```
109
+ ```ruby
110
+ gem 'pfab', :path => "../pfab"
111
+ ```
112
+
113
+ Releasing
114
+ -----------------------------------------
115
+
116
+ - modify version.rb
117
+ - ```bundle exec rake gemspec```
118
+ - ```bundle exec rake git:release```
119
+ - ```bundle exec rake build```
120
+ - ```gem push pkg/pfab-0.12.0.gem```
121
+
103
122
  Copyright
104
123
  ---------
105
124
 
data/lib/pfab/cli.rb CHANGED
@@ -128,7 +128,7 @@ module Pfab
128
128
  elsif $verbose
129
129
  puts_and_system "kubectl describe pods -l #{selector}"
130
130
  else
131
- puts_and_system "kubectl get ingresses,jobs,services,cronjobs,deployments,pods --include-uninitialized=true -l #{selector}"
131
+ puts_and_system "kubectl get ingresses,jobs,services,cronjobs,deployments,pods -l #{selector}"
132
132
  end
133
133
  end
134
134
  end
@@ -148,7 +148,7 @@ module Pfab
148
148
  env_vars = yy.env_vars(app_name).
149
149
  reject { |v| v.has_key? :valueFrom }
150
150
 
151
- env_var_string = env_vars.map { |item| "#{item[:name]}=#{item[:value]}" }.join(" ")
151
+ env_var_string = env_vars.map { |item| "#{item[:name]}=\"#{item[:value]}\"" }.join(" ")
152
152
  options.default command: @apps[app_name][:command]
153
153
 
154
154
  puts_and_system "#{env_var_string} #{options.command}"
@@ -237,7 +237,7 @@ module Pfab
237
237
  end
238
238
  end
239
239
 
240
- puts_and_system "docker build -t #{image_name} ."
240
+ puts_and_system "docker build -t #{image_name} --platform amd64 ."
241
241
 
242
242
  puts_and_system "docker tag #{image_name}:latest #{image_name}:#{rev}"
243
243
  puts_and_system "docker tag #{image_name}:#{rev} #{full_image_name}"
@@ -17,7 +17,6 @@ module Pfab
17
17
  app_vars.dig(@data["env"], key) || app_vars[key]
18
18
  end
19
19
 
20
-
21
20
  def cpu(req_type)
22
21
  default_cpu_string = @data["config"]["default_cpu_string"] || "50m/250m"
23
22
  (request, limit) = (get("cpu") || default_cpu_string).split("/")
@@ -44,44 +43,44 @@ module Pfab
44
43
  end
45
44
 
46
45
  def env_vars
46
+ env_vars = { "DEPLOYED_NAME" => { value: @data['deployed_name'] } }
47
47
 
48
- env_vars = [
49
- { name: "DEPLOYED_NAME", value: @data['deployed_name'] },
50
- ]
51
-
48
+ # load defaults
52
49
  load_env_vars(env_vars, @data.dig("application_yaml", :environment))
53
- load_env_vars(env_vars, @data.dig("application_yaml", @data["env"], :environment))
54
-
55
50
  load_secrets(env_vars, @data.dig("application_yaml", :env_secrets))
51
+
52
+ # load env overrides
53
+ load_env_vars(env_vars, @data.dig("application_yaml", @data["env"], :environment))
56
54
  load_secrets(env_vars, @data.dig("application_yaml", @data["env"], :env_secrets))
57
55
 
58
- env_vars
56
+ env_vars.map do |k, v|
57
+ { name: k }.merge(v)
58
+ end
59
59
  end
60
60
 
61
61
  def load_env_vars(env_vars, hash)
62
62
  (hash || {}).each do |env_var_name, v|
63
63
  if v.to_s.start_with? "field/"
64
64
  (_, field_name) = v.split("/")
65
- env_vars << { name: env_var_name, valueFrom: {
65
+ env_vars[env_var_name] = { valueFrom: {
66
66
  fieldRef: { fieldPath: field_name }
67
67
  } }
68
68
  else
69
- env_vars << { name: env_var_name, value: v }
69
+ env_vars[env_var_name] = { value: v }
70
70
  end
71
-
72
71
  end
73
72
  end
74
73
 
75
74
  def load_secrets(env_vars, hash)
76
75
  (hash || {}).each do |env_var_name, v|
77
76
  (ref, key) = v.split("/")
78
- env_vars << { name: env_var_name,
79
- valueFrom: {
80
- secretKeyRef: {
81
- name: ref,
82
- key: key
83
- }
84
- } }
77
+ env_vars[env_var_name] = {
78
+ valueFrom: {
79
+ secretKeyRef: {
80
+ name: ref,
81
+ key: key
82
+ }
83
+ } }
85
84
  end
86
85
  end
87
86
  end
@@ -8,7 +8,7 @@ module Pfab
8
8
  def deployment
9
9
  {
10
10
  kind: "Deployment",
11
- apiVersion: "extensions/v1beta1",
11
+ apiVersion: "apps/v1",
12
12
  metadata: {
13
13
  name: @data['deployed_name'],
14
14
  namespace: @data['env'],
@@ -36,7 +36,7 @@ module Pfab
36
36
 
37
37
  def ingress
38
38
  {
39
- apiVersion: "extensions/v1beta1",
39
+ apiVersion: "networking.k8s.io/v1",
40
40
  kind: "Ingress",
41
41
  metadata: {
42
42
  name: "ingress-#{@data['deployed_name']}",
@@ -62,9 +62,14 @@ module Pfab
62
62
  paths: [
63
63
  {
64
64
  path: "/",
65
+ pathType: "Prefix",
65
66
  backend: {
66
- serviceName: @data['deployed_name'],
67
- servicePort: "http",
67
+ service: {
68
+ name: @data['deployed_name'],
69
+ port: {
70
+ name: "http"
71
+ }
72
+ }
68
73
  },
69
74
  },
70
75
  ],
data/lib/pfab/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 9
4
+ MINOR = 13
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.9.0 ruby lib
5
+ # stub: pfab 0.13.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.9.0"
9
+ s.version = "0.13.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 = "2021-03-16"
14
+ s.date = "2021-12-06"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.files = [
23
23
  ".document",
24
24
  ".ruby-version",
25
+ ".tool-versions",
25
26
  "Gemfile",
26
27
  "Gemfile.lock",
27
28
  "LICENSE.txt",
@@ -43,7 +44,7 @@ Gem::Specification.new do |s|
43
44
  ]
44
45
  s.homepage = "http://github.com/prefab-cloud/pfab".freeze
45
46
  s.licenses = ["MIT".freeze]
46
- s.rubygems_version = "2.7.8".freeze
47
+ s.rubygems_version = "3.0.3.1".freeze
47
48
  s.summary = "helper gem".freeze
48
49
 
49
50
  if s.respond_to? :specification_version then
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.9.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dwyer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-16 00:00:00.000000000 Z
11
+ date: 2021-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -133,6 +133,7 @@ extra_rdoc_files:
133
133
  files:
134
134
  - ".document"
135
135
  - ".ruby-version"
136
+ - ".tool-versions"
136
137
  - Gemfile
137
138
  - Gemfile.lock
138
139
  - LICENSE.txt
@@ -155,7 +156,7 @@ homepage: http://github.com/prefab-cloud/pfab
155
156
  licenses:
156
157
  - MIT
157
158
  metadata: {}
158
- post_install_message:
159
+ post_install_message:
159
160
  rdoc_options: []
160
161
  require_paths:
161
162
  - lib
@@ -170,9 +171,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
171
  - !ruby/object:Gem::Version
171
172
  version: '0'
172
173
  requirements: []
173
- rubyforge_project:
174
- rubygems_version: 2.7.8
175
- signing_key:
174
+ rubygems_version: 3.0.3.1
175
+ signing_key:
176
176
  specification_version: 4
177
177
  summary: helper gem
178
178
  test_files: []