amarillo 0.3.2 → 0.3.3

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/amarillo +6 -2
  3. data/lib/amarillo.rb +14 -5
  4. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2dbdaceaf0eac001e1d7cb1ba63058ce2cee3e81be2c61d08378c3db7db562ae
4
- data.tar.gz: b1afafa36c49e473a09bb56de32c354a668516e7fd71ec8770b38b681777c825
3
+ metadata.gz: c4e3236346294475f1a163d18a26c6802d203f7fb9d9feb47c24f90ef117e2fb
4
+ data.tar.gz: c02964b63238765fd4eacc43d61fb7c6aae1aa256374c447efa429d99d4816dd
5
5
  SHA512:
6
- metadata.gz: d19987aa6a9c84b92411fc5f5fa99102e9bd0f3abb8fcfb3dcacd8f28bc39a7806a28e932d7e39463680ca1281b701ad30b9a44e54c786918795f12d909d4e10
7
- data.tar.gz: 2eef894b6c9ed756249684f31f2b4392ef2a79bd5c281858b64c9615f19bdabe91a46f43cf480fe9e9ff429c1cacc173f6d98b89916ffc21bc82f633906a675f
6
+ metadata.gz: e8f1b4dbb46b7c28c3ba1f800e6b625351887e46212bd5dc34ea345ab993b9b4ddb58d664fd4a6504104f101a94cdf3a5e782d5100429e0c124efeaa277c7da7
7
+ data.tar.gz: 3905e62aae46c7238416fbd60ce58afca677b05b146a3391170dcd99610cc2d086eedfc1972c6355035db49a7193b16a87d8dbd87023ab659329c4b3fdd00012
data/bin/amarillo CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright 2021 iAchieved.it LLC
3
+ # Copyright 2022 iAchieved.it LLC
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -55,6 +55,10 @@ OptionParser.new do |opts|
55
55
  options[:name] = n
56
56
  end
57
57
 
58
+ opts.on("-k", "--keytype KEYTYPE", "Valid key types: ") do |k|
59
+ options[:keytype] = k
60
+ end
61
+
58
62
  opts.on("-a", "--amarillo-home AMARILLO_HOME", "Home directory for configuration, keys, and certificates") do |o|
59
63
  options[:amarillo_home] = a
60
64
  end
@@ -125,7 +129,7 @@ elsif options[:list] then
125
129
  elsif options[:delete] then
126
130
  y.deleteCertificate name
127
131
  else
128
- y.requestCertificate zone, name, email, nil
132
+ y.requestCertificate zone, name, email, options[:keytype]
129
133
  end
130
134
 
131
135
 
data/lib/amarillo.rb CHANGED
@@ -139,6 +139,11 @@ class Amarillo
139
139
 
140
140
  @route53.change_resource_record_sets(options)
141
141
 
142
+ at_exit do
143
+ self.cleanup label, record_type, challengeValue
144
+ end
145
+
146
+
142
147
  nameservers = @environment.get_zone_nameservers
143
148
 
144
149
  @logger.info "Waiting for DNS record to propagate"
@@ -178,16 +183,22 @@ class Amarillo
178
183
  if type == 'ec' then
179
184
  certPrivateKey = OpenSSL::PKey::EC.new(args).generate_key
180
185
  elsif type == 'rsa' then
181
- certPrivateKey = OpenSSL::PKey::RSA.new(args)
186
+ if args.to_i > 0
187
+ certPrivateKey = OpenSSL::PKey::RSA.new(args.to_i)
188
+ else
189
+ @logger.error("Invalid RSA key size: #{args}")
190
+ end
182
191
  end
183
192
 
184
193
  @logger.info "Requesting certificate..."
185
194
  csr = Acme::Client::CertificateRequest.new private_key: certPrivateKey,
186
195
  names: [commonName]
187
196
 
188
- while order.status == 'processing'
197
+ while order.status != 'ready'
189
198
  sleep(1)
199
+ @logger.info "Order status: #{order.status}"
190
200
  order.reload
201
+ raise if order.status == 'invalid'
191
202
  end
192
203
 
193
204
  @logger.info "Order status: #{order.status}"
@@ -196,7 +207,7 @@ class Amarillo
196
207
  order.finalize(csr: csr)
197
208
  rescue
198
209
  @logger.error("Error finalizing certificate order")
199
- self.cleanup label, record_type, challengeValue
210
+ raise
200
211
  end
201
212
 
202
213
  keyOutputPath = "#{@keyPath}/#{commonName}.key"
@@ -218,8 +229,6 @@ class Amarillo
218
229
  certConfigFile = "#{@configsPath}/#{commonName}.yml"
219
230
  File.write(certConfigFile, certConfig.to_yaml)
220
231
 
221
- self.cleanup label, record_type, challengeValue
222
-
223
232
  end
224
233
 
225
234
  def cleanup(label, record_type, challengeValue)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amarillo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - iAchieved.it LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-06 00:00:00.000000000 Z
11
+ date: 2022-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: acme-client
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.2'
33
+ version: '3.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.2'
40
+ version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: aws-sdk-core
43
43
  requirement: !ruby/object:Gem::Requirement