prefab-cloud-ruby 0.2.0 → 0.3.0

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
  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