pfab 0.9.0 → 0.13.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: 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: []