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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 700b560e2dc6ecee92362359c3777e0543e262ad6302cbab9ac7ecfb59389d14
4
- data.tar.gz: 2f36f0f114fc9cb89814b81f9d597aa8efe92022fe6a1f371c5837da1d4113b7
3
+ metadata.gz: d8bd0bae6dcc166c68c16b5cb0f63f2394018b6b523e23ec2007b5643228a937
4
+ data.tar.gz: f574de70db5f874b216ef4346bf04a5fa6f641e2fb7b26900c92ddfb10c745bc
5
5
  SHA512:
6
- metadata.gz: cd7ba5e004e7587d8411919d5225f9f65156ec01e4d4dfe940f71ce83e22a9eac7d2e4db6c39e70142e63bc3441239064dd90467050449e003ae6539c50dbab7
7
- data.tar.gz: af7e4d345e1ab8ac0274e3358a8f2c7d5a9202ee1410f5c207ae4455b2a000485b92660bf0c47fd09e35ee77298b4f2e6ae4fb8b4057de7ff1fbc181c9621acc
6
+ metadata.gz: 5bf9fc9649e103766648468e987bff1340146e745a54c34a4114ad40a7842eb38bbe29392e7db7260fe8c0925fa0eb9b6f27dd2d1023469d942d7609e657292f
7
+ data.tar.gz: ce62099481ef2831c6827219cec12afe50c8a413e929848efb18c02844bc03c5eac394f4032ee547995601732d54fb3940566a70d5ea39730bb5806246605cab
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Certflare
2
2
 
3
+ [![Join the chat at https://gitter.im/Certflare/community](https://badges.gitter.im/Certflare/community.svg)](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
- # Stub
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
- # Stub
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("/sites/tmp/CERTBOT_#{@domain}")
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
- @@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']
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 self.get_domain
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
- @@full_domain = domain
28
- @@main_domain = PublicSuffix.domain(domain)
29
+ @full_domain = domain
30
+ @main_domain = PublicSuffix.domain(domain)
29
31
  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)
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 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)
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 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)
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
@@ -1,4 +1,4 @@
1
1
  module Certflare
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
4
4
 
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.6
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-03-24 00:00:00.000000000 Z
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
@@ -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