certman 0.8.1 → 0.9.0
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/README.md +8 -0
- data/lib/certman/cli.rb +22 -1
- data/lib/certman/client.rb +45 -4
- data/lib/certman/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0bc4ef169994ff88ad064ee325db79ccf2dbd7be
|
4
|
+
data.tar.gz: af026eb3d38e662dae8cb94b6cfc3836e31ebb36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b988e395fd5373eb271de4f1d32ae41fcfcc0f51faeab245c864e2d6dddf0e93c00be1bebb830ec321d8668a2c95823ee2a26a93c797dc7b96fd2dcb3484e72
|
7
|
+
data.tar.gz: af9df5146dd99cbf1a5ee8fa8be2e4567d95f4cb37ba83c3cd9610607a613ea666d68560ad49e6e8d1ee70746e59b7e886ac0e4d52b9db89d75254834f963715
|
data/README.md
CHANGED
@@ -64,6 +64,14 @@ If you want to remain resources, use `--remain-resources` option.
|
|
64
64
|
|
65
65
|
(see http://docs.aws.amazon.com/ja_jp/acm/latest/userguide/managed-renewal.html#how-manual-domain-validation-works)
|
66
66
|
|
67
|
+
### Restore Resources
|
68
|
+
|
69
|
+
If you want to restore resources for ACM ( to receive approval mail ), use `certman restore-resources`.
|
70
|
+
|
71
|
+
```sh
|
72
|
+
$ certman restore-resources blog.example.com
|
73
|
+
```
|
74
|
+
|
67
75
|
### Delete Certificate
|
68
76
|
|
69
77
|
```sh
|
data/lib/certman/cli.rb
CHANGED
@@ -2,7 +2,7 @@ module Certman
|
|
2
2
|
class CLI < Thor
|
3
3
|
desc 'request [DOMAIN]', 'Request ACM Certificate with only AWS managed services'
|
4
4
|
option :remain_resources, type: :boolean, default: false
|
5
|
-
option :hosted_zone, type: :string
|
5
|
+
option :hosted_zone, type: :string, banner: '<Route53 HostedZone>'
|
6
6
|
def request(domain)
|
7
7
|
pastel = Pastel.new
|
8
8
|
prompt = TTY::Prompt.new
|
@@ -24,6 +24,27 @@ Receipt Rule Set. OK?"))
|
|
24
24
|
puts ''
|
25
25
|
end
|
26
26
|
|
27
|
+
desc 'restore-resources [DOMAIN]', 'Restore resources to receive approval mail'
|
28
|
+
option :hosted_zone, type: :string, banner: '<Route53 HostedZone>'
|
29
|
+
def restore_resources(domain)
|
30
|
+
pastel = Pastel.new
|
31
|
+
prompt = TTY::Prompt.new
|
32
|
+
return unless prompt.yes?(pastel.red("NOTICE! Your selected region is *#{Aws.config[:region]}*. \
|
33
|
+
Certman create certificate on *#{Aws.config[:region]}*. OK?"))
|
34
|
+
client = Certman::Client.new(domain, options)
|
35
|
+
return unless prompt.yes?(pastel.red("NOTICE! Certman use *#{client.region_by_hash}* S3/SES. OK?"))
|
36
|
+
return unless prompt.yes?(pastel.red("NOTICE! When requesting, Certman apend Receipt Rule to current Active \
|
37
|
+
Receipt Rule Set. OK?"))
|
38
|
+
Signal.trap(:INT) do
|
39
|
+
puts ''
|
40
|
+
puts pastel.red('Rollback start.')
|
41
|
+
client.rollback
|
42
|
+
end
|
43
|
+
client.restore_resources
|
44
|
+
puts 'Done.'
|
45
|
+
puts ''
|
46
|
+
end
|
47
|
+
|
27
48
|
desc 'delete [DOMAIN]', 'Delete ACM Certificate'
|
28
49
|
def delete(domain)
|
29
50
|
Certman::Client.new(domain, options).delete
|
data/lib/certman/client.rb
CHANGED
@@ -68,18 +68,59 @@ module Certman
|
|
68
68
|
@cert_arn
|
69
69
|
end
|
70
70
|
|
71
|
+
def restore_resources
|
72
|
+
check_resource(check_acm: false)
|
73
|
+
|
74
|
+
enforce_region_by_hash do
|
75
|
+
step('[S3] Create Bucket for SES inbound', :s3_bucket) do
|
76
|
+
create_bucket
|
77
|
+
end
|
78
|
+
step('[SES] Create Domain Identity', :ses_domain_identity) do
|
79
|
+
create_domain_identity
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
step('[Route53] Create TXT Record Set to verify Domain Identity', :route53_txt) do
|
84
|
+
create_txt_rset
|
85
|
+
end
|
86
|
+
|
87
|
+
enforce_region_by_hash do
|
88
|
+
step('[SES] Check Domain Identity Status *verified*', nil) do
|
89
|
+
check_domain_identity_verified
|
90
|
+
end
|
91
|
+
|
92
|
+
step('[Route53] Create MX Record Set', :route53_mx) do
|
93
|
+
create_mx_rset
|
94
|
+
end
|
95
|
+
|
96
|
+
unless active_rule_set_exist?
|
97
|
+
step('[SES] Create and Active Receipt Rule Set', :ses_rule_set) do
|
98
|
+
create_and_active_rule_set
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
step('[SES] Create Receipt Rule', :ses_rule) do
|
103
|
+
create_rule
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
cleanup_resources if @do_rollback
|
108
|
+
end
|
109
|
+
|
71
110
|
def delete
|
72
111
|
s = spinner('[ACM] Delete Certificate')
|
73
112
|
delete_certificate
|
74
113
|
s.success
|
75
114
|
end
|
76
115
|
|
77
|
-
def check_resource
|
116
|
+
def check_resource(check_acm: true)
|
78
117
|
pastel = Pastel.new
|
79
118
|
|
80
|
-
|
81
|
-
|
82
|
-
|
119
|
+
if check_acm
|
120
|
+
s = spinner('[ACM] Check Certificate')
|
121
|
+
raise 'Certificate already exist' if certificate_exist?
|
122
|
+
s.success
|
123
|
+
end
|
83
124
|
|
84
125
|
s = spinner('[Route53] Check Hosted Zone')
|
85
126
|
raise "Hosted Zone #{hosted_zone_domain} does not exist" unless hosted_zone_exist?
|
data/lib/certman/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: certman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- k1LoW
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|