certflare 0.1.6 → 0.1.7
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 +2 -0
- data/lib/certflare/cli.rb +13 -4
- data/lib/certflare/common/authenticator.rb +2 -2
- data/lib/certflare/common/cleanup.rb +27 -26
- data/lib/certflare/version.rb +1 -1
- metadata +2 -3
- data/lib/certflare/cleanup.rb +0 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8bd0bae6dcc166c68c16b5cb0f63f2394018b6b523e23ec2007b5643228a937
|
4
|
+
data.tar.gz: f574de70db5f874b216ef4346bf04a5fa6f641e2fb7b26900c92ddfb10c745bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bf9fc9649e103766648468e987bff1340146e745a54c34a4114ad40a7842eb38bbe29392e7db7260fe8c0925fa0eb9b6f27dd2d1023469d942d7609e657292f
|
7
|
+
data.tar.gz: ce62099481ef2831c6827219cec12afe50c8a413e929848efb18c02844bc03c5eac394f4032ee547995601732d54fb3940566a70d5ea39730bb5806246605cab
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Certflare
|
2
2
|
|
3
|
+
[](https://gitter.im/Certflare/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
4
|
+
|
3
5
|
Certflare is an easier and quicker way to your certs from certbot/letsencrypt/ietf.
|
4
6
|
Why make your own script when something does it better and easier, especially if you don't know ruby.
|
5
7
|
|
data/lib/certflare/cli.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'certflare/version'
|
3
3
|
require 'certflare/commands'
|
4
|
+
require 'certflare/common/authenticator'
|
5
|
+
require 'certflare/common/cleanup'
|
4
6
|
module Certflare
|
5
7
|
class CLI < Thor
|
6
8
|
desc '--version, -v', 'returns version and exits'
|
@@ -18,14 +20,21 @@ module Certflare
|
|
18
20
|
end
|
19
21
|
map ['-v', '--version'] => :__version
|
20
22
|
|
21
|
-
desc 'auth [options]', ''
|
23
|
+
desc 'auth [options]', 'Authenticate with cloudflare and create records for verfication'
|
22
24
|
def auth
|
23
|
-
|
25
|
+
auther = Certflare::Authenticator.new
|
26
|
+
auther.create_txt_record
|
27
|
+
auther.create_cleanup
|
24
28
|
end
|
25
29
|
|
26
|
-
desc 'clean [options]', ''
|
30
|
+
desc 'clean [options]', 'Cleanup cloudflare records and files'
|
27
31
|
def clean
|
28
|
-
|
32
|
+
cleanup = Certflare::CleanUp.new
|
33
|
+
cleanup.get_certbot_vars
|
34
|
+
cleanup.get_domain
|
35
|
+
cleanup.remove_zone_id
|
36
|
+
cleanup.remove_record_id
|
37
|
+
cleanup.remove_txt_record
|
29
38
|
end
|
30
39
|
end
|
31
40
|
end
|
@@ -24,7 +24,7 @@ module Certflare
|
|
24
24
|
@zone_id = zone[:result][0][:id]
|
25
25
|
|
26
26
|
end
|
27
|
-
def create_txt_record
|
27
|
+
def create_txt_record
|
28
28
|
domain_with_prefix = "_acme-challenge.#{@domain}"
|
29
29
|
# puts "record name: #{domain_with_prefix}"
|
30
30
|
dns_records = CloudflareClient::Zone::DNS.new(zone_id: @zone_id, auth_key: @api_key, email: @email)
|
@@ -34,7 +34,7 @@ module Certflare
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def create_cleanup
|
37
|
-
domain_dir = Pathname.new("/
|
37
|
+
domain_dir = Pathname.new("/etc/").join("tmp", "CERTBOT_#{@domain}")
|
38
38
|
# puts "domain dir: #{domain_dir}"
|
39
39
|
unless domain_dir.exist?
|
40
40
|
Dir.mkdir(domain_dir, 0700)
|
@@ -13,38 +13,40 @@ require 'public_suffix'
|
|
13
13
|
|
14
14
|
module Certflare
|
15
15
|
class CleanUp
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
@@domain = ENV['CERTBOT_DOMAIN']
|
23
|
-
@@validation = ENV['CERTBOT_VALIDATION']
|
16
|
+
def initialize
|
17
|
+
@configs_dir = Pathname.new('/etc/')
|
18
|
+
@cfg = ConfigParser.new(@configs_dir.join('certflare'))
|
19
|
+
@api_key = @cfg['dns_cloudflare_api_key']
|
20
|
+
@email = @cfg['dns_cloudflare_email']
|
21
|
+
@client = CloudflareClient::Zone.new(auth_key: @api_key, email: @email)
|
24
22
|
end
|
25
|
-
def
|
23
|
+
def get_certbot_vars
|
24
|
+
@domain = ENV['CERTBOT_DOMAIN']
|
25
|
+
@validation = ENV['CERTBOT_VALIDATION']
|
26
|
+
end
|
27
|
+
def get_domain
|
26
28
|
domain = ENV['CERTBOT_DOMAIN']
|
27
|
-
|
28
|
-
|
29
|
+
@full_domain = domain
|
30
|
+
@main_domain = PublicSuffix.domain(domain)
|
29
31
|
end
|
30
|
-
def
|
31
|
-
|
32
|
-
if
|
33
|
-
|
34
|
-
File.delete(
|
32
|
+
def remove_zone_id
|
33
|
+
@domain_dir = Pathname.new("/sites/tmp/CERTBOT_#{@domain}")
|
34
|
+
if @domain_dir.join('ZONE_ID').exist?
|
35
|
+
@zone_id = File.read(@domain_dir.join('ZONE_ID').to_s)
|
36
|
+
File.delete(@domain_dir.join('ZONE_ID').to_s)
|
35
37
|
end
|
36
38
|
end
|
37
|
-
def
|
38
|
-
if
|
39
|
-
|
40
|
-
File.delete(
|
39
|
+
def remove_record_id
|
40
|
+
if @domain_dir.join('RECORD_ID').exist?
|
41
|
+
@record_id = File.read(@domain_dir.join('RECORD_ID').to_s)
|
42
|
+
File.delete(@domain_dir.join('RECORD_ID').to_s)
|
41
43
|
end
|
42
44
|
end
|
43
|
-
def
|
44
|
-
unless (defined?(
|
45
|
-
unless (defined?(
|
46
|
-
zone = CloudflareClient::Zone::DNS.new(auth_key:
|
47
|
-
zone.delete(id:
|
45
|
+
def remove_txt_record
|
46
|
+
unless (defined?(@zone_id)).nil?
|
47
|
+
unless (defined?(@record_id)).nil?
|
48
|
+
zone = CloudflareClient::Zone::DNS.new(auth_key: @api_key, email: @email, zone_id: @zone_id)
|
49
|
+
zone.delete(id: @record_id)
|
48
50
|
end
|
49
51
|
end
|
50
52
|
end
|
@@ -54,5 +56,4 @@ module Certflare
|
|
54
56
|
CleanUp.remove_zone_id
|
55
57
|
CleanUp.remove_record_id
|
56
58
|
CleanUp.remove_txt_record
|
57
|
-
|
58
59
|
end
|
data/lib/certflare/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: certflare
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Spencer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: acme-client
|
@@ -241,7 +241,6 @@ files:
|
|
241
241
|
- bin/certflare_hook
|
242
242
|
- certflare.gemspec
|
243
243
|
- lib/certflare.rb
|
244
|
-
- lib/certflare/cleanup.rb
|
245
244
|
- lib/certflare/cli.rb
|
246
245
|
- lib/certflare/commands.rb
|
247
246
|
- lib/certflare/commands/cert.rb
|
data/lib/certflare/cleanup.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2019 Ken Spencer / IotaSpencer
|
3
|
-
#
|
4
|
-
#
|
5
|
-
# File: ${FILENAME}
|
6
|
-
# Created: 3/14/19
|
7
|
-
#
|
8
|
-
# License is in project root, MIT License is in use.
|
9
|
-
require 'cloudflare_client'
|
10
|
-
require 'configparser'
|
11
|
-
require 'pathname'
|
12
|
-
require 'public_suffix'
|
13
|
-
|
14
|
-
module Certflare
|
15
|
-
class CleanUp
|
16
|
-
@@configs_dir = Pathname.new('/sites/configs/dns-cloudflare-credentials/')
|
17
|
-
@@cfg = ConfigParser.new(@@configs_dir.join('cloudflare.ini'))
|
18
|
-
@@api_key = @@cfg['dns_cloudflare_api_key']
|
19
|
-
@@email = @@cfg['dns_cloudflare_email']
|
20
|
-
@@client = CloudflareClient::Zone.new(auth_key: @@api_key, email: @@email)
|
21
|
-
def self.get_certbot_vars
|
22
|
-
@@domain = ENV['CERTBOT_DOMAIN']
|
23
|
-
@@validation = ENV['CERTBOT_VALIDATION']
|
24
|
-
end
|
25
|
-
def self.get_domain
|
26
|
-
domain = ENV['CERTBOT_DOMAIN']
|
27
|
-
@@full_domain = domain
|
28
|
-
@@main_domain = PublicSuffix.domain(domain)
|
29
|
-
end
|
30
|
-
def self.remove_zone_id
|
31
|
-
@@domain_dir = Pathname.new("/sites/tmp/CERTBOT_#{@@domain}")
|
32
|
-
if @@domain_dir.join('ZONE_ID').exist?
|
33
|
-
@@zone_id = File.read(@@domain_dir.join('ZONE_ID').to_s)
|
34
|
-
File.delete(@@domain_dir.join('ZONE_ID').to_s)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
def self.remove_record_id
|
38
|
-
if @@domain_dir.join('RECORD_ID').exist?
|
39
|
-
@@record_id = File.read(@@domain_dir.join('RECORD_ID').to_s)
|
40
|
-
File.delete(@@domain_dir.join('RECORD_ID').to_s)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
def self.remove_txt_record
|
44
|
-
unless (defined?(@@zone_id)).nil?
|
45
|
-
unless (defined?(@@record_id)).nil?
|
46
|
-
zone = CloudflareClient::Zone::DNS.new(auth_key: @@api_key, email: @@email, zone_id: @@zone_id)
|
47
|
-
zone.delete(id: @@record_id)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
CleanUp.get_certbot_vars
|
53
|
-
CleanUp.get_domain
|
54
|
-
CleanUp.remove_zone_id
|
55
|
-
CleanUp.remove_record_id
|
56
|
-
CleanUp.remove_txt_record
|
57
|
-
|
58
|
-
end
|