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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57dd1f5909bf80cd820396d039c2d1560faf55e6
4
- data.tar.gz: d2e6192bf1126aadc4aaa49e23728cfbaaf2a689
3
+ metadata.gz: 67f20b7bcbe0cb24df27ec2e6cee485469dfeb15
4
+ data.tar.gz: 9f298fdd808db6787e89814ef01e750870ae2f7f
5
5
  SHA512:
6
- metadata.gz: 61ff17aeda32522ed65ace11b48b955f87eeb69cc9ccc781c3dfecca66161469a93a96db42559919f347e4998b3d42038890dd22219e2ec722a01eb61323b6cf
7
- data.tar.gz: 87b2c0a1a2544cd9c7f93fdda3d1e96028424642e5d6fd9dd8fd3c9c334ef5f146d5ba0fe006ebb6fa27ad6e7bee6488d92dedcb2546b516e2dec61e71121509
6
+ metadata.gz: 2c1d7f77547a3c66e62dd9dda07c8e5cf74a374f1335f6318bfdd6c138999692c7ef1d231a7c8cea988eaa2888c63af46ee9779650d4eab2ab2d486f3de5a212
7
+ data.tar.gz: 3c3d1be6a3c50f2d9550612277b4b969547a89393fcdfb3c9cf98ce138579668bc68f24a672892d100ee7ac9df941f0773fbc2a7d6d92b866854393b6b4fd453
data/.envrc ADDED
@@ -0,0 +1,2 @@
1
+ export AWS_ACCESS_KEY_ID=
2
+ export AWS_SECRET_ACCESS_KEY=
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'grpc', '~> 1.17.1'
4
3
  gem 'concurrent-ruby', '~> 1.0', '>= 1.0.5'
5
- gem 'aws-sdk-s3', '~> 1'
4
+ gem 'faraday'
5
+ gem 'grpc', '~> 1.17.1'
6
6
 
7
7
  group :development do
8
8
  gem 'grpc-tools', '~> 1.17.1'
@@ -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.1
1
+ 0.3.0
@@ -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'
@@ -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
- resp = @s3.bucket('prefab-cloud-checkpoints-prod').object(@base_client.api_key.gsub("|", "/")).get
103
- deltas = Prefab::ConfigDeltas.decode(resp.body.read)
104
- load_deltas(deltas, :s3)
105
- rescue Aws::S3::Errors::NoSuchKey
106
- @base_client.log_internal Logger::INFO, "No S3 checkpoint. Plan may not support this."
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
 
@@ -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.2.0 ruby lib
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.2.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.2.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