amarillo 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
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