prefab-cloud-ruby 0.2.0 → 0.3.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 +4 -4
- data/.envrc +2 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +1 -15
- data/VERSION +1 -1
- data/lib/prefab-cloud-ruby.rb +1 -1
- data/lib/prefab/config_client.rb +11 -7
- data/prefab-cloud-ruby.gemspec +3 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67f20b7bcbe0cb24df27ec2e6cee485469dfeb15
|
4
|
+
data.tar.gz: 9f298fdd808db6787e89814ef01e750870ae2f7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c1d7f77547a3c66e62dd9dda07c8e5cf74a374f1335f6318bfdd6c138999692c7ef1d231a7c8cea988eaa2888c63af46ee9779650d4eab2ab2d486f3de5a212
|
7
|
+
data.tar.gz: 3c3d1be6a3c50f2d9550612277b4b969547a89393fcdfb3c9cf98ce138579668bc68f24a672892d100ee7ac9df941f0773fbc2a7d6d92b866854393b6b4fd453
|
data/.envrc
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -8,19 +8,6 @@ GEM
|
|
8
8
|
tzinfo (~> 1.1)
|
9
9
|
addressable (2.6.0)
|
10
10
|
public_suffix (>= 2.0.2, < 4.0)
|
11
|
-
aws-partitions (1.86.0)
|
12
|
-
aws-sdk-core (3.20.2)
|
13
|
-
aws-partitions (~> 1.0)
|
14
|
-
aws-sigv4 (~> 1.0)
|
15
|
-
jmespath (~> 1.0)
|
16
|
-
aws-sdk-kms (1.5.0)
|
17
|
-
aws-sdk-core (~> 3)
|
18
|
-
aws-sigv4 (~> 1.0)
|
19
|
-
aws-sdk-s3 (1.10.0)
|
20
|
-
aws-sdk-core (~> 3)
|
21
|
-
aws-sdk-kms (~> 1)
|
22
|
-
aws-sigv4 (~> 1.0)
|
23
|
-
aws-sigv4 (1.0.2)
|
24
11
|
builder (3.2.3)
|
25
12
|
concurrent-ruby (1.0.5)
|
26
13
|
descendants_tracker (0.0.4)
|
@@ -46,7 +33,6 @@ GEM
|
|
46
33
|
highline (2.0.1)
|
47
34
|
i18n (1.0.1)
|
48
35
|
concurrent-ruby (~> 1.0)
|
49
|
-
jmespath (1.4.0)
|
50
36
|
json (1.8.6)
|
51
37
|
juwelier (2.4.9)
|
52
38
|
builder
|
@@ -102,9 +88,9 @@ PLATFORMS
|
|
102
88
|
ruby
|
103
89
|
|
104
90
|
DEPENDENCIES
|
105
|
-
aws-sdk-s3 (~> 1)
|
106
91
|
bundler (~> 1.0)
|
107
92
|
concurrent-ruby (~> 1.0, >= 1.0.5)
|
93
|
+
faraday
|
108
94
|
grpc (~> 1.17.1)
|
109
95
|
grpc-tools (~> 1.17.1)
|
110
96
|
juwelier (~> 2.4.9)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/lib/prefab-cloud-ruby.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "concurrent/atomics"
|
2
2
|
require 'concurrent'
|
3
|
+
require 'faraday'
|
3
4
|
require 'openssl'
|
4
5
|
require 'prefab_pb'
|
5
6
|
require 'prefab_services_pb'
|
@@ -14,4 +15,3 @@ require 'prefab/auth_interceptor'
|
|
14
15
|
require 'prefab/noop_cache'
|
15
16
|
require 'prefab/noop_stats'
|
16
17
|
require 'prefab/murmer3'
|
17
|
-
require 'aws-sdk-s3'
|
data/lib/prefab/config_client.rb
CHANGED
@@ -2,6 +2,7 @@ module Prefab
|
|
2
2
|
class ConfigClient
|
3
3
|
RECONNECT_WAIT = 5
|
4
4
|
DEFAULT_CHECKPOINT_FREQ_SEC = 60
|
5
|
+
DEFAULT_S3CF_BUCKET = 'http://d2j4ed6ti5snnd.cloudfront.net'
|
5
6
|
|
6
7
|
def initialize(base_client, timeout)
|
7
8
|
@base_client = base_client
|
@@ -14,8 +15,8 @@ module Prefab
|
|
14
15
|
@config_resolver = Prefab::ConfigResolver.new(@base_client, @config_loader)
|
15
16
|
|
16
17
|
@initialization_lock.acquire_write_lock
|
17
|
-
@s3 = Aws::S3::Resource.new(region: 'us-east-1')
|
18
18
|
|
19
|
+
@s3_cloud_front = ENV["PREFAB_S3CF_BUCKET"] || DEFAULT_S3CF_BUCKET
|
19
20
|
load_checkpoint
|
20
21
|
start_checkpointing_thread
|
21
22
|
end
|
@@ -70,7 +71,6 @@ module Prefab
|
|
70
71
|
# Bootstrap out of the cache
|
71
72
|
# returns the high-watermark of what was in the cache
|
72
73
|
def load_checkpoint
|
73
|
-
|
74
74
|
success = load_checkpoint_from_config
|
75
75
|
|
76
76
|
if !success
|
@@ -99,11 +99,15 @@ module Prefab
|
|
99
99
|
end
|
100
100
|
|
101
101
|
def load_checkpoint_from_s3
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
102
|
+
url = "#{@s3_cloud_front}/#{@base_client.api_key.gsub("|", "/")}"
|
103
|
+
puts url
|
104
|
+
resp = Faraday.get url
|
105
|
+
if resp.status == 200
|
106
|
+
deltas = Prefab::ConfigDeltas.decode(resp.body)
|
107
|
+
load_deltas(deltas, :s3)
|
108
|
+
else
|
109
|
+
@base_client.log_internal Logger::INFO, "No S3 checkpoint. Response #{resp.status} Plan may not support this."
|
110
|
+
end
|
107
111
|
end
|
108
112
|
|
109
113
|
|
data/prefab-cloud-ruby.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: prefab-cloud-ruby 0.
|
5
|
+
# stub: prefab-cloud-ruby 0.3.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "prefab-cloud-ruby".freeze
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "0.3.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
"README.md"
|
20
20
|
]
|
21
21
|
s.files = [
|
22
|
+
".envrc",
|
22
23
|
".ruby-version",
|
23
24
|
"Gemfile",
|
24
25
|
"Gemfile.lock",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prefab-cloud-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Dwyer
|
@@ -150,6 +150,7 @@ extra_rdoc_files:
|
|
150
150
|
- LICENSE.txt
|
151
151
|
- README.md
|
152
152
|
files:
|
153
|
+
- ".envrc"
|
153
154
|
- ".ruby-version"
|
154
155
|
- Gemfile
|
155
156
|
- Gemfile.lock
|