certflare 0.1.6 → 0.1.7

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