litestream 0.11.0 → 0.11.1

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: fb3230d8ee2ab817e4154a538aac303cf9132bc0795fa8db8eabd5b68cc8f764
4
- data.tar.gz: d9adca50074b601e1f1420b1bdc84423213b88a3472a17927a12c3b17bb6fd35
3
+ metadata.gz: 9040ba433f646b657172cf24527af4d2e5c1fffe9c136f2c5ce47ab61705a1b9
4
+ data.tar.gz: fae219522ddfbfbd4be157139fc0d72e36188cc0d97ec0dd96ba76f6f0f9d2d3
5
5
  SHA512:
6
- metadata.gz: 8e69e7545d77005145591cfe2e4f891fd38c091b8fc5765ac79bee8d3ed6476b9ba07949b45400ac83048a465bf8bd412d9223eb8b9cf02c4b0c5b283fc1fdb5
7
- data.tar.gz: 66af38abb358bf4189bf447d7929e6ed698e351d25963b13f48f1cb71b716308a322d56c9bed8b90be612d05867e9523143b44304b529170490e2c0315389a93
6
+ metadata.gz: 48edb08ca4850aab2aba0fa2512c5363c146b77e3ded5eea446a391ba3395512c47b0ee1de41ac889718ab05e6131591adfd03cbb4c97204d09b60f56f924431
7
+ data.tar.gz: c161e956f4c6696d14bab71d01787e179c896c1732e2d64b97047dc109f1dfa874555316825afded9e2fa666c1b7ae7036f3259c88d9d0497143ef7c97e50c52
@@ -3,7 +3,12 @@ module Litestream
3
3
  protect_from_forgery with: :exception
4
4
  around_action :force_english_locale!
5
5
 
6
- http_basic_authenticate_with name: Litestream.username, password: Litestream.password if Litestream.password
6
+ if Litestream.password
7
+ http_basic_authenticate_with(
8
+ name: Litestream.username,
9
+ password: Litestream.password
10
+ )
11
+ end
7
12
 
8
13
  private
9
14
 
@@ -118,11 +118,9 @@ module Litestream
118
118
  end
119
119
 
120
120
  def prepare(command, argv = {}, database = nil)
121
- if Litestream.configuration
122
- ENV["LITESTREAM_REPLICA_BUCKET"] ||= Litestream.configuration.replica_bucket
123
- ENV["LITESTREAM_ACCESS_KEY_ID"] ||= Litestream.configuration.replica_key_id
124
- ENV["LITESTREAM_SECRET_ACCESS_KEY"] ||= Litestream.configuration.replica_access_key
125
- end
121
+ ENV["LITESTREAM_REPLICA_BUCKET"] ||= Litestream.replica_bucket
122
+ ENV["LITESTREAM_ACCESS_KEY_ID"] ||= Litestream.replica_key_id
123
+ ENV["LITESTREAM_SECRET_ACCESS_KEY"] ||= Litestream.replica_access_key
126
124
 
127
125
  args = {
128
126
  "--config" => Rails.root.join("config", "litestream.yml").to_s
@@ -18,5 +18,9 @@ module Litestream
18
18
  Litestream.public_send(:"#{name}=", value)
19
19
  end
20
20
  end
21
+
22
+ initializer "deprecator" do |app|
23
+ app.deprecators[:litestream] = Litestream.deprecator
24
+ end
21
25
  end
22
26
  end
@@ -4,7 +4,7 @@
4
4
  # This allows you to configure Litestream using Rails encrypted credentials,
5
5
  # or some other mechanism where the values are only avaialble at runtime.
6
6
 
7
- Litestream.configure do |config|
7
+ Rails.application.configure do
8
8
  # An example of using Rails encrypted credentials to configure Litestream.
9
9
  # litestream_credentials = Rails.application.credentials.litestream
10
10
 
@@ -19,15 +19,15 @@ Litestream.configure do |config|
19
19
  # any SFTP server.
20
20
  # In this example, we are using Rails encrypted credentials to store the URL to
21
21
  # our storage provider bucket.
22
- # config.replica_bucket = litestream_credentials.replica_bucket
22
+ # config.litestream.replica_bucket = litestream_credentials&.replica_bucket
23
23
 
24
24
  # Replica-specific authentication key.
25
25
  # Litestream needs authentication credentials to access your storage provider bucket.
26
26
  # In this example, we are using Rails encrypted credentials to store the access key ID.
27
- # config.replica_key_id = litestream_credentials.replica_key_id
27
+ # config.litestream.replica_key_id = litestream_credentials&.replica_key_id
28
28
 
29
29
  # Replica-specific secret key.
30
30
  # Litestream needs authentication credentials to access your storage provider bucket.
31
31
  # In this example, we are using Rails encrypted credentials to store the secret access key.
32
- # config.replica_access_key = litestream_credentials.replica_access_key
32
+ # config.litestream.replica_access_key = litestream_credentials&.replica_access_key
33
33
  end
@@ -1,3 +1,3 @@
1
1
  module Litestream
2
- VERSION = "0.11.0"
2
+ VERSION = "0.11.1"
3
3
  end
data/lib/litestream.rb CHANGED
@@ -3,11 +3,25 @@
3
3
  require "sqlite3"
4
4
 
5
5
  module Litestream
6
+ VerificationFailure = Class.new(StandardError)
7
+
6
8
  class << self
7
- attr_accessor :configuration
9
+ attr_writer :configuration
10
+
11
+ def configuration
12
+ @configuration ||= Configuration.new
13
+ end
14
+
15
+ def deprecator
16
+ @deprecator ||= ActiveSupport::Deprecation.new("0.12.0", "Litestream")
17
+ end
8
18
  end
9
19
 
10
20
  def self.configure
21
+ deprecator.warn(
22
+ 'Configuring Litestream via Litestream.configure is deprecated. Use Rails.application.configure { config.litestream.* = ... } instead.',
23
+ caller
24
+ )
11
25
  self.configuration ||= Configuration.new
12
26
  yield(configuration)
13
27
  end
@@ -19,11 +33,7 @@ module Litestream
19
33
  end
20
34
  end
21
35
 
22
- VerificationFailure = Class.new(StandardError)
23
-
24
- mattr_writer :username
25
- mattr_writer :password
26
- mattr_writer :queue
36
+ mattr_writer :username, :password, :queue, :replica_bucket, :replica_key_id, :replica_access_key
27
37
 
28
38
  class << self
29
39
  def verify!(database_path)
@@ -55,8 +65,6 @@ module Litestream
55
65
  @username ||= ENV["LITESTREAM_USERNAME"] || @@username || "litestream"
56
66
  end
57
67
 
58
- # use method instead of attr_accessor to ensure
59
- # this works if variable set after Litestream is loaded
60
68
  def password
61
69
  @password ||= ENV["LITESTREAM_PASSWORD"] || @@password
62
70
  end
@@ -65,6 +73,18 @@ module Litestream
65
73
  @queue ||= ENV["LITESTREAM_QUEUE"] || @@queue || "default"
66
74
  end
67
75
 
76
+ def replica_bucket
77
+ @replica_bucket ||= @@replica_bucket || configuration.replica_bucket
78
+ end
79
+
80
+ def replica_key_id
81
+ @replica_key_id ||= @@replica_key_id || configuration.replica_key_id
82
+ end
83
+
84
+ def replica_access_key
85
+ @replica_access_key ||= @@replica_access_key || configuration.replica_access_key
86
+ end
87
+
68
88
  def replicate_process
69
89
  info = {}
70
90
  if !`which systemctl`.empty?
@@ -1,14 +1,9 @@
1
1
  namespace :litestream do
2
2
  desc "Print the ENV variables needed for the Litestream config file"
3
3
  task env: :environment do
4
- if Litestream.configuration.nil?
5
- warn "You have not configured the Litestream gem with any values to generate ENV variables"
6
- next
7
- end
8
-
9
- puts "LITESTREAM_REPLICA_BUCKET=#{Litestream.configuration.replica_bucket}"
10
- puts "LITESTREAM_ACCESS_KEY_ID=#{Litestream.configuration.replica_key_id}"
11
- puts "LITESTREAM_SECRET_ACCESS_KEY=#{Litestream.configuration.replica_access_key}"
4
+ puts "LITESTREAM_REPLICA_BUCKET=#{Litestream.replica_bucket}"
5
+ puts "LITESTREAM_ACCESS_KEY_ID=#{Litestream.replica_key_id}"
6
+ puts "LITESTREAM_SECRET_ACCESS_KEY=#{Litestream.replica_access_key}"
12
7
 
13
8
  true
14
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: litestream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Margheim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-22 00:00:00.000000000 Z
11
+ date: 2024-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logfmt
@@ -38,20 +38,76 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: actionpack
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '7.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '7.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: actionview
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '7.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '7.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '7.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '7.0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: activejob
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
87
  - - ">="
46
88
  - !ruby/object:Gem::Version
47
- version: '0'
89
+ version: '7.0'
48
90
  type: :runtime
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
94
  - - ">="
53
95
  - !ruby/object:Gem::Version
54
- version: '0'
96
+ version: '7.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: railties
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '7.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '7.0'
55
111
  - !ruby/object:Gem::Dependency
56
112
  name: rubyzip
57
113
  requirement: !ruby/object:Gem::Requirement
@@ -147,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
203
  - !ruby/object:Gem::Version
148
204
  version: '0'
149
205
  requirements: []
150
- rubygems_version: 3.5.17
206
+ rubygems_version: 3.5.11
151
207
  signing_key:
152
208
  specification_version: 4
153
209
  summary: Integrate Litestream with the RubyGems infrastructure.