bullion 0.2.0 → 0.3.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: 8733df57bd7abe9e12c46001165fad25429956ca243f4f0a91aea4a306b59d3d
4
- data.tar.gz: 91a0941eebf4e61c807301c16cfe0d9ebc1d965bfd573b8b89ad2e43a0a1206c
3
+ metadata.gz: f7e5e7935b8ed90f7e8e6695215b039507272a2db3ab1ed8919b0ae9abef1823
4
+ data.tar.gz: 81e4de3cc1fe7e876c487c7edb0fd3e775125d841e16ff3948fafd5e1d5adec2
5
5
  SHA512:
6
- metadata.gz: 1d61ea6623bf7c2ba97fa1e7b71712cdebaa8dc7580a6a4f7788eaf51fe92a9218e4b2f89a4a48425772f86f9e2e2af22f166b536c5d64756ccc3ed4c2db8f4d
7
- data.tar.gz: 496eb52624bc02f15ce0f51833d6435d4e157c3f8ba05052231d1e50b0eb14eade65d4eb6ccc7f870d7753cdc01bc0cafcfbc3d4dccb618aeee6d3e76355d2b9
6
+ metadata.gz: e8d9a743a1b81df4ee26858d7ece2b43c77070568f01298d35c4b2eef78f6cac6a1ecab89e232d18e5321f81b4382ac331a3242d11771bd954de64b5a9a16961
7
+ data.tar.gz: 628f70c629f53e09424c59a5553c81dbb172d3d57fa117e76c74d861e8cd1ad9a0a47d52db52609d17d2da78b6c50d7fc533007966a532d2e4acc9f04dab79d6
data/.roxanne.yml ADDED
@@ -0,0 +1,14 @@
1
+ version: 1.0
2
+ stages:
3
+ build:
4
+ image: docker:latest
5
+ scripts:
6
+ - ./scripts/build.sh
7
+ test:
8
+ image: ruby:3.1
9
+ scripts:
10
+ - ./scripts/test.sh
11
+ release:
12
+ image: ruby:3.1
13
+ only:
14
+ - main
data/.rubocop.yml CHANGED
@@ -3,18 +3,18 @@ Layout/LineLength:
3
3
 
4
4
  AllCops:
5
5
  Exclude:
6
- - 'spec/**/*_spec.rb'
7
- - 'db/schema.rb'
8
- - 'vendor/**/*'
9
- TargetRubyVersion: 2.6
6
+ - 'db/schema.rb'
7
+ - 'vendor/**/*'
8
+ TargetRubyVersion: 3.1
10
9
  NewCops: enable
11
10
 
12
11
  Metrics/AbcSize:
13
12
  Max: 21
14
13
 
15
14
  Metrics/BlockLength:
16
- Max: 30
15
+ Max: 35
17
16
  Exclude:
17
+ - 'spec/**/*_spec.rb'
18
18
  - 'Rakefile'
19
19
  - '*.gemspec'
20
20
 
@@ -22,10 +22,29 @@ Metrics/MethodLength:
22
22
  Max: 20
23
23
 
24
24
  Metrics/ModuleLength:
25
- Max: 150
25
+ Max: 160
26
+ Exclude:
27
+ - 'spec/**/*_spec.rb'
26
28
 
27
29
  Metrics/ClassLength:
28
30
  Max: 300
31
+ Exclude:
32
+ - 'spec/**/*_spec.rb'
33
+
34
+ Gemspec/RequireMFA:
35
+ Enabled: false
36
+
37
+ Style/MixinUsage:
38
+ Exclude:
39
+ - "bin/console"
40
+
41
+ Style/StringLiterals:
42
+ Enabled: true
43
+ EnforcedStyle: double_quotes
44
+
45
+ Style/StringLiteralsInInterpolation:
46
+ Enabled: true
47
+ EnforcedStyle: double_quotes
29
48
 
30
49
  Style/StringConcatenation:
31
50
  Exclude:
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.1.2
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:2.6-alpine AS build
1
+ FROM ruby:3.1-alpine AS build
2
2
 
3
3
  ENV RACK_ENV=development
4
4
 
@@ -17,7 +17,7 @@ RUN apk add build-base \
17
17
 
18
18
  WORKDIR /build
19
19
 
20
- FROM ruby:2.6-alpine
20
+ FROM ruby:3.1-alpine
21
21
  LABEL maintainer="Jonathan Gnagy <jonathan.gnagy@gmail.com>"
22
22
 
23
23
  ENV BULLION_PORT=9292
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
data/Gemfile.lock CHANGED
@@ -1,132 +1,140 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bullion (0.2.0)
4
+ bullion (0.3.0)
5
5
  httparty (~> 0.18)
6
- json (~> 2.5)
7
- jwt (~> 1.5)
6
+ json (~> 2.6)
7
+ jwt (~> 2.4)
8
8
  mysql2 (~> 0.5)
9
- openssl (~> 2.2)
10
- prometheus-client (~> 2.1)
11
- puma (~> 3.12)
12
- sinatra (~> 2.1)
9
+ openssl (~> 3.0)
10
+ prometheus-client (~> 4.0)
11
+ puma (~> 5.6)
12
+ sinatra (~> 2.2)
13
13
  sinatra-activerecord (~> 2.0)
14
- sinatra-contrib (~> 2.1)
14
+ sinatra-contrib (~> 2.2)
15
15
  sqlite3 (~> 1.4)
16
16
 
17
17
  GEM
18
18
  remote: https://rubygems.org/
19
19
  specs:
20
- acme-client (2.0.7)
21
- faraday (>= 0.17, < 2.0.0)
22
- activemodel (6.1.1)
23
- activesupport (= 6.1.1)
24
- activerecord (6.1.1)
25
- activemodel (= 6.1.1)
26
- activesupport (= 6.1.1)
27
- activesupport (6.1.1)
20
+ acme-client (2.0.11)
21
+ faraday (>= 1.0, < 3.0.0)
22
+ faraday-retry (~> 1.0)
23
+ activemodel (7.0.3.1)
24
+ activesupport (= 7.0.3.1)
25
+ activerecord (7.0.3.1)
26
+ activemodel (= 7.0.3.1)
27
+ activesupport (= 7.0.3.1)
28
+ activesupport (7.0.3.1)
28
29
  concurrent-ruby (~> 1.0, >= 1.0.2)
29
30
  i18n (>= 1.6, < 2)
30
31
  minitest (>= 5.1)
31
32
  tzinfo (~> 2.0)
32
- zeitwerk (~> 2.3)
33
- ast (2.4.1)
34
- byebug (9.1.0)
35
- concurrent-ruby (1.1.7)
36
- diff-lcs (1.4.4)
37
- docile (1.3.5)
38
- faraday (1.3.0)
39
- faraday-net_http (~> 1.0)
40
- multipart-post (>= 1.2, < 3)
41
- ruby2_keywords
42
- faraday-net_http (1.0.1)
43
- httparty (0.18.1)
33
+ ast (2.4.2)
34
+ byebug (11.1.3)
35
+ concurrent-ruby (1.1.10)
36
+ diff-lcs (1.5.0)
37
+ docile (1.4.0)
38
+ faraday (2.3.0)
39
+ faraday-net_http (~> 2.0)
40
+ ruby2_keywords (>= 0.0.4)
41
+ faraday-net_http (2.0.3)
42
+ faraday-retry (1.0.3)
43
+ httparty (0.20.0)
44
44
  mime-types (~> 3.0)
45
45
  multi_xml (>= 0.5.2)
46
- i18n (1.8.7)
46
+ i18n (1.12.0)
47
47
  concurrent-ruby (~> 1.0)
48
- json (2.5.1)
49
- jwt (1.5.6)
50
- mime-types (3.3.1)
48
+ json (2.6.2)
49
+ jwt (2.4.1)
50
+ mime-types (3.4.1)
51
51
  mime-types-data (~> 3.2015)
52
- mime-types-data (3.2020.1104)
53
- minitest (5.14.3)
52
+ mime-types-data (3.2022.0105)
53
+ minitest (5.16.2)
54
54
  multi_json (1.15.0)
55
55
  multi_xml (0.6.0)
56
- multipart-post (2.1.1)
57
- mustermann (1.1.1)
56
+ mustermann (1.1.2)
58
57
  ruby2_keywords (~> 0.0.1)
59
- mysql2 (0.5.3)
60
- openssl (2.2.0)
61
- parallel (1.20.1)
62
- parser (3.0.0.0)
58
+ mysql2 (0.5.4)
59
+ nio4r (2.5.8)
60
+ openssl (3.0.0)
61
+ parallel (1.22.1)
62
+ parser (3.1.2.0)
63
63
  ast (~> 2.4.1)
64
- prometheus-client (2.1.0)
65
- puma (3.12.6)
66
- rack (2.2.3)
67
- rack-protection (2.1.0)
64
+ prometheus-client (4.0.0)
65
+ puma (5.6.4)
66
+ nio4r (~> 2.0)
67
+ rack (2.2.4)
68
+ rack-protection (2.2.1)
68
69
  rack
69
- rack-test (0.8.3)
70
- rack (>= 1.0, < 3)
71
- rainbow (3.0.0)
70
+ rack-test (2.0.2)
71
+ rack (>= 1.3)
72
+ rainbow (3.1.1)
72
73
  rake (12.3.3)
73
- regexp_parser (2.0.3)
74
- rexml (3.2.4)
75
- rspec (3.10.0)
76
- rspec-core (~> 3.10.0)
77
- rspec-expectations (~> 3.10.0)
78
- rspec-mocks (~> 3.10.0)
79
- rspec-core (3.10.1)
80
- rspec-support (~> 3.10.0)
81
- rspec-expectations (3.10.1)
74
+ regexp_parser (2.5.0)
75
+ rexml (3.2.5)
76
+ rspec (3.11.0)
77
+ rspec-core (~> 3.11.0)
78
+ rspec-expectations (~> 3.11.0)
79
+ rspec-mocks (~> 3.11.0)
80
+ rspec-core (3.11.0)
81
+ rspec-support (~> 3.11.0)
82
+ rspec-expectations (3.11.0)
82
83
  diff-lcs (>= 1.2.0, < 2.0)
83
- rspec-support (~> 3.10.0)
84
- rspec-mocks (3.10.1)
84
+ rspec-support (~> 3.11.0)
85
+ rspec-mocks (3.11.1)
85
86
  diff-lcs (>= 1.2.0, < 2.0)
86
- rspec-support (~> 3.10.0)
87
- rspec-support (3.10.1)
88
- rubocop (0.93.1)
87
+ rspec-support (~> 3.11.0)
88
+ rspec-support (3.11.0)
89
+ rubocop (1.31.2)
90
+ json (~> 2.3)
89
91
  parallel (~> 1.10)
90
- parser (>= 2.7.1.5)
92
+ parser (>= 3.1.0.0)
91
93
  rainbow (>= 2.2.2, < 4.0)
92
- regexp_parser (>= 1.8)
93
- rexml
94
- rubocop-ast (>= 0.6.0)
94
+ regexp_parser (>= 1.8, < 3.0)
95
+ rexml (>= 3.2.5, < 4.0)
96
+ rubocop-ast (>= 1.18.0, < 2.0)
95
97
  ruby-progressbar (~> 1.7)
96
- unicode-display_width (>= 1.4.0, < 2.0)
97
- rubocop-ast (1.4.0)
98
- parser (>= 2.7.1.5)
98
+ unicode-display_width (>= 1.4.0, < 3.0)
99
+ rubocop-ast (1.19.1)
100
+ parser (>= 3.1.1.0)
101
+ rubocop-rake (0.6.0)
102
+ rubocop (~> 1.0)
103
+ rubocop-rspec (2.11.1)
104
+ rubocop (~> 1.19)
99
105
  ruby-progressbar (1.11.0)
100
- ruby2_keywords (0.0.2)
106
+ ruby2_keywords (0.0.5)
101
107
  simplecov (0.21.2)
102
108
  docile (~> 1.1)
103
109
  simplecov-html (~> 0.11)
104
110
  simplecov_json_formatter (~> 0.1)
105
- simplecov-cobertura (1.4.2)
106
- simplecov (~> 0.8)
111
+ simplecov-cobertura (2.1.0)
112
+ rexml
113
+ simplecov (~> 0.19)
107
114
  simplecov-html (0.12.3)
108
- simplecov_json_formatter (0.1.2)
109
- sinatra (2.1.0)
115
+ simplecov_json_formatter (0.1.4)
116
+ sinatra (2.2.1)
110
117
  mustermann (~> 1.0)
111
118
  rack (~> 2.2)
112
- rack-protection (= 2.1.0)
119
+ rack-protection (= 2.2.1)
113
120
  tilt (~> 2.0)
114
- sinatra-activerecord (2.0.21)
121
+ sinatra-activerecord (2.0.25)
115
122
  activerecord (>= 4.1)
116
123
  sinatra (>= 1.0)
117
- sinatra-contrib (2.1.0)
124
+ sinatra-contrib (2.2.1)
118
125
  multi_json
119
126
  mustermann (~> 1.0)
120
- rack-protection (= 2.1.0)
121
- sinatra (= 2.1.0)
127
+ rack-protection (= 2.2.1)
128
+ sinatra (= 2.2.1)
122
129
  tilt (~> 2.0)
123
- sqlite3 (1.4.2)
130
+ sqlite3 (1.4.4)
124
131
  tilt (2.0.10)
125
132
  tzinfo (2.0.4)
126
133
  concurrent-ruby (~> 1.0)
127
- unicode-display_width (1.7.0)
128
- yard (0.9.26)
129
- zeitwerk (2.4.2)
134
+ unicode-display_width (2.2.0)
135
+ webrick (1.7.0)
136
+ yard (0.9.28)
137
+ webrick (~> 1.7.0)
130
138
 
131
139
  PLATFORMS
132
140
  ruby
@@ -134,15 +142,17 @@ PLATFORMS
134
142
  DEPENDENCIES
135
143
  acme-client (~> 2.0)
136
144
  bullion!
137
- bundler (~> 2.0)
138
- byebug (~> 9)
139
- rack-test (~> 0.8)
145
+ bundler (~> 2.3)
146
+ byebug (~> 11)
147
+ rack-test (~> 2.0)
140
148
  rake (~> 12.3)
141
149
  rspec (~> 3.10)
142
- rubocop (~> 0.93)
143
- simplecov (~> 0.20)
144
- simplecov-cobertura (~> 1.4)
150
+ rubocop (~> 1.31)
151
+ rubocop-rake (~> 0.6)
152
+ rubocop-rspec (~> 2.11)
153
+ simplecov (~> 0.21)
154
+ simplecov-cobertura (~> 2.1)
145
155
  yard (~> 0.9)
146
156
 
147
157
  BUNDLED WITH
148
- 2.1.4
158
+ 2.3.10
data/Rakefile CHANGED
@@ -1,20 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- if %w[development test].include? ENV['RACK_ENV']
4
- ENV['DATABASE_URL'] = "sqlite3:#{File.expand_path('.')}/tmp/db/#{ENV['RACK_ENV']}.sqlite3"
3
+ ENV["RACK_ENV"] ||= "development"
4
+
5
+ if %w[development test].include? ENV["RACK_ENV"]
6
+ ENV["DATABASE_URL"] = "sqlite3:#{File.expand_path(".")}/tmp/db/#{ENV["RACK_ENV"]}.sqlite3"
5
7
  end
6
8
 
7
- require 'bundler/gem_tasks'
8
- require 'rspec/core/rake_task'
9
- require 'rubocop/rake_task'
10
- require 'yard'
11
- require 'openssl'
12
- require 'sqlite3'
13
- require 'sinatra/activerecord/rake'
9
+ require "bundler/gem_tasks"
10
+ require "rspec/core/rake_task"
11
+ require "rubocop/rake_task"
12
+ require "yard"
13
+ require "openssl"
14
+ require "sqlite3"
15
+ require "sinatra/activerecord/rake"
14
16
 
15
17
  namespace :db do
16
18
  task :load_config do
17
- ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
19
+ ActiveRecord::Base.establish_connection(url: ENV.fetch("DATABASE_URL", nil))
18
20
  end
19
21
  end
20
22
 
@@ -23,69 +25,70 @@ RuboCop::RakeTask.new(:rubocop)
23
25
  YARD::Rake::YardocTask.new
24
26
 
25
27
  task :prep do
26
- FileUtils.mkdir_p(File.join(File.expand_path('.'), 'tmp'))
27
- ENV['CA_DIR'] = File.join(File.expand_path('.'), 'tmp').to_s
28
- ENV['CA_SECRET'] = 'SomeS3cret'
29
- ENV['CA_DOMAINS'] = 'test.domain'
28
+ FileUtils.mkdir_p(File.join(File.expand_path("."), "tmp"))
29
+ ENV["CA_DIR"] = File.join(File.expand_path("."), "tmp").to_s
30
+ ENV["CA_SECRET"] = "SomeS3cret"
31
+ ENV["CA_DOMAINS"] = "test.domain"
30
32
 
31
33
  key = OpenSSL::PKey::RSA.new(4096)
32
- File.open(File.join(File.expand_path('.'), 'tmp', 'tls.key'), 'w') do |f|
33
- f.write key.to_pem(OpenSSL::Cipher.new('aes-128-cbc'), ENV['CA_SECRET'])
34
- end
34
+ File.write(File.join(File.expand_path("."), "tmp", "tls.key"),
35
+ key.to_pem(OpenSSL::Cipher.new("aes-128-cbc"), ENV.fetch("CA_SECRET", nil)))
35
36
 
36
37
  root_ca = OpenSSL::X509::Certificate.new
37
38
  root_ca.version = 2
38
39
  root_ca.serial = (2**rand(10..20)) - 1
39
40
  root_ca.subject = OpenSSL::X509::Name.parse(
40
- %w[test domain].reverse.map { |piece| "DC=#{piece}" }.join('/') + '/CN=bullion'
41
+ %w[test domain].reverse.map { |piece| "DC=#{piece}" }.join("/") + "/CN=bullion"
41
42
  )
42
43
  root_ca.issuer = root_ca.subject # root CA's are "self-signed"
43
44
  root_ca.public_key = key.public_key
44
45
  root_ca.not_before = Time.now
45
- root_ca.not_after = root_ca.not_before + 5 * 365 * 24 * 60 * 60 # 5 years validity
46
+ root_ca.not_after = root_ca.not_before + (5 * 365 * 24 * 60 * 60) # 5 years validity
46
47
  ef = OpenSSL::X509::ExtensionFactory.new
47
48
  ef.subject_certificate = root_ca
48
49
  ef.issuer_certificate = root_ca
49
50
  root_ca.add_extension(
50
- ef.create_extension('basicConstraints', 'CA:TRUE', true)
51
+ ef.create_extension("basicConstraints", "CA:TRUE", true)
51
52
  )
52
53
  root_ca.add_extension(
53
- ef.create_extension('keyUsage', 'keyCertSign, cRLSign', true)
54
+ ef.create_extension("keyUsage", "keyCertSign, cRLSign", true)
54
55
  )
55
56
  root_ca.add_extension(
56
- ef.create_extension('subjectKeyIdentifier', 'hash', false)
57
+ ef.create_extension("subjectKeyIdentifier", "hash", false)
57
58
  )
58
59
  root_ca.add_extension(
59
- ef.create_extension('authorityKeyIdentifier', 'keyid:always', false)
60
+ ef.create_extension("authorityKeyIdentifier", "keyid:always", false)
60
61
  )
61
- root_ca.sign(key, OpenSSL::Digest.new('SHA256'))
62
- File.open(File.join(File.expand_path('.'), 'tmp', 'tls.crt'), 'w') do |f|
63
- f.write root_ca.to_pem
64
- end
62
+ root_ca.sign(key, OpenSSL::Digest.new("SHA256"))
63
+ File.write(File.join(File.expand_path("."), "tmp", "tls.crt"), root_ca.to_pem)
65
64
  end
66
65
 
67
66
  task :demo do
68
- system("rackup -D -P #{File.expand_path('.')}/tmp/daemon.pid")
67
+ system("rackup -D -P #{File.expand_path(".")}/tmp/daemon.pid")
69
68
  end
70
69
 
71
70
  task :foreground_demo do
72
- system("rackup -P #{File.expand_path('.')}/tmp/daemon.pid")
71
+ system("rackup -P #{File.expand_path(".")}/tmp/daemon.pid")
73
72
  end
74
73
 
75
74
  task :cleanup do
76
75
  at_exit do
77
- system("kill $(cat #{File.expand_path('.')}/tmp/daemon.pid)")
78
- FileUtils.rm_f(File.join(File.expand_path('.'), 'tmp', 'tls.crt'))
79
- FileUtils.rm_f(File.join(File.expand_path('.'), 'tmp', 'tls.key'))
80
- FileUtils.rm_rf(File.join(File.expand_path('.'), 'tmp', 'db'))
81
- ENV['CA_DIR'] = nil
82
- ENV['CA_SECRET'] = nil
83
- ENV['CA_DOMAINS'] = nil
76
+ if File.exist?("#{File.expand_path(".")}/tmp/daemon.pid")
77
+ system("kill $(cat #{File.expand_path(".")}/tmp/daemon.pid)")
78
+ end
79
+ FileUtils.rm_f(File.join(File.expand_path("."), "tmp", "tls.crt"))
80
+ FileUtils.rm_f(File.join(File.expand_path("."), "tmp", "tls.key"))
81
+ FileUtils.rm_rf(File.join(File.expand_path("."), "tmp", "db"))
82
+ ENV["CA_DIR"] = nil
83
+ ENV["CA_SECRET"] = nil
84
+ ENV["CA_DOMAINS"] = nil
84
85
  end
85
86
  end
86
87
 
87
- Rake::Task['spec'].enhance(['cleanup'])
88
+ Rake::Task["spec"].enhance(["cleanup"])
88
89
 
89
90
  task default: %i[prep db:migrate demo spec rubocop]
90
91
 
92
+ task test: %i[prep db:migrate demo spec]
93
+
91
94
  task local_demo: %i[prep db:migrate foreground_demo]
data/bin/console CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'bundler/setup'
5
- require 'bullion'
4
+ require "bundler/setup"
5
+ require "bullion"
6
6
 
7
7
  # You can add fixtures and/or initialization code here to make experimenting
8
8
  # with your gem easier. You can also use a different console, if you like.
@@ -11,5 +11,5 @@ require 'bullion'
11
11
  # require "pry"
12
12
  # Pry.start
13
13
 
14
- require 'irb'
14
+ require "irb"
15
15
  IRB.start(__FILE__)
data/bullion.gemspec CHANGED
@@ -1,51 +1,53 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/bullion/version'
3
+ require_relative "lib/bullion/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'bullion'
6
+ spec.name = "bullion"
7
7
  spec.version = Bullion::VERSION
8
- spec.authors = ['Jonathan Gnagy']
9
- spec.email = ['jonathan.gnagy@gmail.com']
8
+ spec.authors = ["Jonathan Gnagy"]
9
+ spec.email = ["jonathan.gnagy@gmail.com"]
10
10
 
11
- spec.summary = 'Ruby ACME v2 Certificate Authority'
12
- spec.homepage = 'https://github.com/jgnagy/bullion'
13
- spec.license = 'MIT'
11
+ spec.summary = "Ruby ACME v2 Certificate Authority"
12
+ spec.homepage = "https://github.com/jgnagy/bullion"
13
+ spec.license = "MIT"
14
14
 
15
- spec.metadata['homepage_uri'] = spec.homepage
16
- spec.metadata['source_code_uri'] = 'https://github.com/jgnagy/bullion'
15
+ spec.metadata["homepage_uri"] = spec.homepage
16
+ spec.metadata["source_code_uri"] = "https://github.com/jgnagy/bullion"
17
17
 
18
18
  # Specify which files should be added to the gem when it is released.
19
19
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
20
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
21
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
22
  end
23
- spec.bindir = 'exe'
23
+ spec.bindir = "exe"
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
- spec.require_paths = ['lib']
26
-
27
- spec.required_ruby_version = '~> 2.6'
28
-
29
- spec.add_runtime_dependency 'httparty', '~> 0.18'
30
- spec.add_runtime_dependency 'json', '~> 2.5'
31
- spec.add_runtime_dependency 'jwt', '~> 1.5'
32
- spec.add_runtime_dependency 'mysql2', '~> 0.5'
33
- spec.add_runtime_dependency 'openssl', '~> 2.2'
34
- spec.add_runtime_dependency 'prometheus-client', '~> 2.1'
35
- spec.add_runtime_dependency 'puma', '~> 3.12'
36
- spec.add_runtime_dependency 'sinatra', '~> 2.1'
37
- spec.add_runtime_dependency 'sinatra-activerecord', '~> 2.0'
38
- spec.add_runtime_dependency 'sinatra-contrib', '~> 2.1'
39
- spec.add_runtime_dependency 'sqlite3', '~> 1.4'
40
-
41
- spec.add_development_dependency 'acme-client', '~> 2.0'
42
- spec.add_development_dependency 'bundler', '~> 2.0'
43
- spec.add_development_dependency 'byebug', '~> 9'
44
- spec.add_development_dependency 'rack-test', '~> 0.8'
45
- spec.add_development_dependency 'rake', '~> 12.3'
46
- spec.add_development_dependency 'rspec', '~> 3.10'
47
- spec.add_development_dependency 'rubocop', '~> 0.93'
48
- spec.add_development_dependency 'simplecov', '~> 0.20'
49
- spec.add_development_dependency 'simplecov-cobertura', '~> 1.4'
50
- spec.add_development_dependency 'yard', '~> 0.9'
25
+ spec.require_paths = ["lib"]
26
+
27
+ spec.required_ruby_version = "~> 3.1"
28
+
29
+ spec.add_runtime_dependency "httparty", "~> 0.18"
30
+ spec.add_runtime_dependency "json", "~> 2.6"
31
+ spec.add_runtime_dependency "jwt", "~> 2.4"
32
+ spec.add_runtime_dependency "mysql2", "~> 0.5"
33
+ spec.add_runtime_dependency "openssl", "~> 3.0"
34
+ spec.add_runtime_dependency "prometheus-client", "~> 4.0"
35
+ spec.add_runtime_dependency "puma", "~> 5.6"
36
+ spec.add_runtime_dependency "sinatra", "~> 2.2"
37
+ spec.add_runtime_dependency "sinatra-activerecord", "~> 2.0"
38
+ spec.add_runtime_dependency "sinatra-contrib", "~> 2.2"
39
+ spec.add_runtime_dependency "sqlite3", "~> 1.4"
40
+
41
+ spec.add_development_dependency "acme-client", "~> 2.0"
42
+ spec.add_development_dependency "bundler", "~> 2.3"
43
+ spec.add_development_dependency "byebug", "~> 11"
44
+ spec.add_development_dependency "rack-test", "~> 2.0"
45
+ spec.add_development_dependency "rake", "~> 12.3"
46
+ spec.add_development_dependency "rspec", "~> 3.10"
47
+ spec.add_development_dependency "rubocop", "~> 1.31"
48
+ spec.add_development_dependency "rubocop-rake", "~> 0.6"
49
+ spec.add_development_dependency "rubocop-rspec", "~> 2.11"
50
+ spec.add_development_dependency "simplecov", "~> 0.21"
51
+ spec.add_development_dependency "simplecov-cobertura", "~> 2.1"
52
+ spec.add_development_dependency "yard", "~> 0.9"
51
53
  end
data/config/puma.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- threads 2, Integer(ENV.fetch('MAX_THREADS', 32))
3
+ threads 2, Integer(ENV.fetch("MAX_THREADS", 32))
data/config.ru CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  # \ -s puma
4
4
 
5
- require 'bullion'
5
+ require "bullion"
6
6
  Bullion.validate_config!
7
7
 
8
- require 'prometheus/middleware/collector'
9
- require 'prometheus/middleware/exporter'
8
+ require "prometheus/middleware/collector"
9
+ require "prometheus/middleware/exporter"
10
10
 
11
11
  use Rack::ShowExceptions
12
12
  use Rack::Deflater
@@ -15,8 +15,8 @@ use Prometheus::Middleware::Exporter
15
15
 
16
16
  # Prometheus metrics are on /metrics
17
17
  mappings = {
18
- '/ping' => Bullion::Services::Ping.new,
19
- '/acme' => Bullion::Services::CA.new
18
+ "/ping" => Bullion::Services::Ping.new,
19
+ "/acme" => Bullion::Services::CA.new
20
20
  }
21
21
 
22
22
  run Rack::URLMap.new(mappings)
@@ -10,7 +10,7 @@ class CreateCertificates < ActiveRecord::Migration[6.1]
10
10
  t.text :alternate_names
11
11
  t.string :requester
12
12
  t.boolean :validated, null: false, default: false, index: true
13
- t.integer :serial, null: false, index: { unique: true }
13
+ t.bigint :serial, null: false, index: { unique: true }
14
14
 
15
15
  t.timestamps
16
16
  end