exercism_config 0.20.0 → 0.26.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/Gemfile.lock +1 -1
- data/bin/setup_exercism_config +2 -1
- data/exercism_config.gemspec +5 -0
- data/lib/exercism_config.rb +1 -0
- data/lib/exercism_config/determine_environment.rb +1 -1
- data/lib/exercism_config/setup_dynamodb_client.rb +2 -2
- data/lib/exercism_config/setup_s3_client.rb +33 -0
- data/lib/exercism_config/version.rb +1 -1
- data/settings/ci.yml +2 -1
- data/settings/development.yml +3 -2
- data/settings/docker.yml +1 -0
- metadata +18 -4
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3b9c7e4dcbf09e9d69d88fca3077c2e816ff287b67b3cba2a368709befcdf89
|
4
|
+
data.tar.gz: 5a303f30e356de04c8e5c358a099e391ac2c2c20cf75b96dacf0a0b5d89dddc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b2702cb4c20e8ce11c0fd514d98d65af9effabb466d13e948fd3f872e1ad56e8b8b558bff34ef1a78ed95019b5cd67885d28ea75cd26b62978f2f2d3985ddaa
|
7
|
+
data.tar.gz: 3b673b37307b1eee3c6e125682fef0fed504d7c1d8e8f530ed97209514f16ab32fdb367e5e00d50e3800fcf93dabb1fd85c9813b7290924ffdfdde0881fcbbe3
|
data/Gemfile.lock
CHANGED
data/bin/setup_exercism_config
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require "bundler/setup"
|
4
4
|
require "exercism_config"
|
5
|
+
require 'erb'
|
5
6
|
require 'yaml'
|
6
7
|
|
7
8
|
env = ExercismConfig::DetermineEnvironment.()
|
@@ -76,7 +77,7 @@ settings_file =
|
|
76
77
|
end
|
77
78
|
|
78
79
|
puts "Using settings file: #{settings_file}"
|
79
|
-
settings = YAML.load(File.read(settings_file))
|
80
|
+
settings = YAML.load(ERB.new(File.read(settings_file)).result)
|
80
81
|
|
81
82
|
settings.each do |key, value|
|
82
83
|
set_config_value(client, key, value)
|
data/exercism_config.gemspec
CHANGED
@@ -30,4 +30,9 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency "rake", "~> 12.3"
|
31
31
|
spec.add_development_dependency "minitest", "~> 5.0"
|
32
32
|
spec.add_development_dependency "mocha"
|
33
|
+
|
34
|
+
# This isn't a compulsary dependency
|
35
|
+
# but can be used if someone puts it in their
|
36
|
+
# own gemfile
|
37
|
+
spec.add_development_dependency "aws-sdk-s3"
|
33
38
|
end
|
data/lib/exercism_config.rb
CHANGED
@@ -6,6 +6,7 @@ require 'json'
|
|
6
6
|
require_relative 'exercism_config/determine_environment'
|
7
7
|
require_relative 'exercism_config/generate_aws_settings'
|
8
8
|
require_relative 'exercism_config/setup_dynamodb_client'
|
9
|
+
require_relative 'exercism_config/setup_s3_client'
|
9
10
|
require_relative 'exercism_config/retrieve'
|
10
11
|
require_relative 'exercism_config/generate_aws_settings'
|
11
12
|
require_relative "exercism_config/version"
|
@@ -7,7 +7,7 @@ module ExercismConfig
|
|
7
7
|
raise Exercism::ConfigError, "No environment set - set one of EXERCISM_ENV, RAILS_ENV or APP_ENV" unless env
|
8
8
|
|
9
9
|
unless %w[development test production].include?(env)
|
10
|
-
raise Exercism::ConfigError, "
|
10
|
+
raise Exercism::ConfigError, "environment must be one of development, test or production. Got #{env}."
|
11
11
|
end
|
12
12
|
|
13
13
|
env.to_sym
|
@@ -20,9 +20,9 @@ module ExercismConfig
|
|
20
20
|
memoize
|
21
21
|
def config_endpoint
|
22
22
|
return nil unless %i[development test].include?(Exercism.environment)
|
23
|
-
return "http://127.0.0.1
|
23
|
+
return "http://127.0.0.1:#{ENV["DYNAMODB_PORT"]}" if ENV["EXERCISM_CI"]
|
24
24
|
|
25
|
-
host = ENV["EXERCISM_DOCKER"] ? "dynamodb:8000" : "localhost:
|
25
|
+
host = ENV["EXERCISM_DOCKER"] ? "dynamodb:8000" : "localhost:3040"
|
26
26
|
"http://#{host}"
|
27
27
|
end
|
28
28
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module ExercismConfig
|
2
|
+
class SetupS3Client
|
3
|
+
include Mandate
|
4
|
+
|
5
|
+
def call
|
6
|
+
require 'aws-sdk-s3'
|
7
|
+
|
8
|
+
aws_settings = GenerateAwsSettings.().merge(
|
9
|
+
endpoint: config_endpoint,
|
10
|
+
force_path_style: true,
|
11
|
+
|
12
|
+
# We don't want a profile for this AWS service
|
13
|
+
# as we run it locally. But we do normally, so
|
14
|
+
# we locally override this here.
|
15
|
+
profile: nil
|
16
|
+
).select {|k,v|v}
|
17
|
+
Aws::S3::Client.new(aws_settings)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
attr_reader :environment
|
22
|
+
|
23
|
+
memoize
|
24
|
+
def config_endpoint
|
25
|
+
return nil unless %i[development test].include?(Exercism.environment)
|
26
|
+
return "http://127.0.0.1:#{ENV["S3_PORT"]}" if ENV["EXERCISM_CI"]
|
27
|
+
|
28
|
+
host = ENV["EXERCISM_DOCKER"] ? "s3:9090" : "localhost:3041"
|
29
|
+
"http://#{host}"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
data/settings/ci.yml
CHANGED
data/settings/development.yml
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
aws_iterations_bucket: exercism-staging-iterations
|
2
2
|
dynamodb_tooling_jobs_table: tooling_jobs
|
3
3
|
tooling_orchestrator_url: http://127.0.0.1:3021
|
4
|
-
anycable_redis_url:
|
5
|
-
anycable_rpc_host:
|
4
|
+
anycable_redis_url: redis://127.0.0.1:6379/1
|
5
|
+
anycable_rpc_host: 127.0.0.1:50051
|
6
6
|
rds_master_endpoint: localhost
|
7
7
|
mysql_socket: /tmp/mysql.sock
|
8
|
+
spi_url: http://127.0.0.1:3020
|
data/settings/docker.yml
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exercism_config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-dynamodb
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: aws-sdk-s3
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
description:
|
112
126
|
email:
|
113
127
|
- jez.walker@gmail.com
|
@@ -123,7 +137,6 @@ files:
|
|
123
137
|
- README.md
|
124
138
|
- Rakefile
|
125
139
|
- bin/console
|
126
|
-
- bin/setup
|
127
140
|
- bin/setup_exercism_config
|
128
141
|
- exercism_config.gemspec
|
129
142
|
- lib/exercism/config.rb
|
@@ -132,6 +145,7 @@ files:
|
|
132
145
|
- lib/exercism_config/generate_aws_settings.rb
|
133
146
|
- lib/exercism_config/retrieve.rb
|
134
147
|
- lib/exercism_config/setup_dynamodb_client.rb
|
148
|
+
- lib/exercism_config/setup_s3_client.rb
|
135
149
|
- lib/exercism_config/version.rb
|
136
150
|
- settings/ci.yml
|
137
151
|
- settings/development.yml
|
@@ -156,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
170
|
- !ruby/object:Gem::Version
|
157
171
|
version: '0'
|
158
172
|
requirements: []
|
159
|
-
rubygems_version: 3.
|
173
|
+
rubygems_version: 3.0.8
|
160
174
|
signing_key:
|
161
175
|
specification_version: 4
|
162
176
|
summary: Retrieves stored config for Exercism
|