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.
- checksums.yaml +4 -4
- data/bin/amarillo +6 -2
- data/lib/amarillo.rb +14 -5
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c4e3236346294475f1a163d18a26c6802d203f7fb9d9feb47c24f90ef117e2fb
|
|
4
|
+
data.tar.gz: c02964b63238765fd4eacc43d61fb7c6aae1aa256374c447efa429d99d4816dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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.
|
|
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-
|
|
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: '
|
|
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: '
|
|
40
|
+
version: '3.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: aws-sdk-core
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|