zonesync 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58c4f6168ca0355c6aa7f0580ede2f8c080b04b44f196a24ecb827b38a3edda8
4
- data.tar.gz: 9064bdd19540cc12d5cc48dfd93cbbb4a940c3e4cb4423255a0f66c9b282287a
3
+ metadata.gz: 00751af08d69afada768a779c3e2344b3e728e0b3ee9162436f82f936737bcab
4
+ data.tar.gz: 772a439ddfd4f9e9cd96bffeade456ba7023732e221a81ef48c39595f0e2328d
5
5
  SHA512:
6
- metadata.gz: 3e06ff17f120b42693ca00fd27fcd3c56501bb01abb2b72c9dea149ef8173f3f3f02765767805b03210d6df1a40dee0c84f872d5f07f549ec7ccc95b9d250c6c
7
- data.tar.gz: 8ddf71739ae861c356f27162484e9a1f006e841bbe8900471a1c098046db4287efae357df715b78f60154df7d54e03247892726e8156f68ba8400560951c2147
6
+ metadata.gz: 896d74bfd34d5f4609c5e4ab9d79bcad73b812b694941ab24f3807f6d3a08f9d25c28b13dc73201a6e6ed318ae475e43f641f7c9376c8b4af612ea0ba0c3d78d
7
+ data.tar.gz: a6568612418b311a6c3c89bf8a8e680214336d0075e05373aad7ca7ad32938e000175ed72c198d230dc3d9c7ecfbfcc6ce37b4125c14cf3376d83834ba9e9b4b
data/lib/zonesync/cli.rb CHANGED
@@ -2,28 +2,13 @@ require "thor"
2
2
 
3
3
  module Zonesync
4
4
  class CLI < Thor
5
- def self.exit_on_failure?
6
- true
7
- end
8
-
9
5
  default_command :sync
10
6
  desc "sync", "syncs the contents of Zonefile to the DNS server configured in Rails.application.credentials.zonesync"
11
7
  method_option :dry_run, type: :boolean, default: false, aliases: :n, desc: "log operations to STDOUT but don't perform the sync"
12
8
  def sync
13
- Zonesync.call credentials: default_credentials, dry_run: options[:dry_run]
9
+ Zonesync.call dry_run: options[:dry_run]
14
10
  end
15
11
 
16
- private
17
-
18
- def default_credentials
19
- if defined?(Rails.application.credentials)
20
- Rails.application.credentials.zonesync
21
- else
22
- require "active_support/encrypted_configuration"
23
- require "active_support/core_ext/hash/keys"
24
- credentials = ActiveSupport::EncryptedConfiguration.new(config_path: "config/credentials.yml.enc", key_path: "config/master.key", raise_if_missing_key: true, env_key: "RAILS_MASTER_KEY")
25
- credentials.zonesync
26
- end
27
- end
12
+ def self.exit_on_failure? = true
28
13
  end
29
14
  end
@@ -0,0 +1,5 @@
1
+ require "rake"
2
+
3
+ task :zonesync => :environment do
4
+ Zonesync.call
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zonesync
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
data/lib/zonesync.rb CHANGED
@@ -2,12 +2,24 @@ require "zonesync/provider"
2
2
  require "zonesync/diff"
3
3
  require "zonesync/logger"
4
4
  require "zonesync/cli"
5
+ require "zonesync/rake"
5
6
 
6
7
  module Zonesync
7
- def self.call zonefile: "Zonefile", credentials:, dry_run: false
8
+ def self.call zonefile: "Zonefile", credentials: default_credentials, dry_run: false
8
9
  Sync.new({ provider: "Filesystem", path: zonefile }, credentials).call(dry_run: dry_run)
9
10
  end
10
11
 
12
+ def self.default_credentials
13
+ require "active_support/encrypted_configuration"
14
+ require "active_support/core_ext/hash/keys"
15
+ ActiveSupport::EncryptedConfiguration.new(
16
+ config_path: "config/credentials.yml.enc",
17
+ key_path: "config/master.key",
18
+ env_key: "RAILS_MASTER_KEY",
19
+ raise_if_missing_key: true,
20
+ ).zonesync
21
+ end
22
+
11
23
  class Sync < Struct.new(:source, :destination)
12
24
  def call dry_run: false
13
25
  source = Provider.from(self.source)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zonesync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-01-29 00:00:00.000000000 Z
12
+ date: 2024-01-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dns-zonefile
@@ -118,6 +118,7 @@ files:
118
118
  - lib/zonesync/http.rb
119
119
  - lib/zonesync/logger.rb
120
120
  - lib/zonesync/provider.rb
121
+ - lib/zonesync/rake.rb
121
122
  - lib/zonesync/record.rb
122
123
  - lib/zonesync/version.rb
123
124
  - log/.keep