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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 744fa38ddb1c1232e2ce3e758174de17511af61274c1f12a588505d6a4db6823
4
- data.tar.gz: 55aff6a0a094dc360fd5e85deb561240bfb73ec4082449ce115cc479b7dcc07b
3
+ metadata.gz: f3b9c7e4dcbf09e9d69d88fca3077c2e816ff287b67b3cba2a368709befcdf89
4
+ data.tar.gz: 5a303f30e356de04c8e5c358a099e391ac2c2c20cf75b96dacf0a0b5d89dddc4
5
5
  SHA512:
6
- metadata.gz: 9539fc278aefaa2b28250cd06f05abd977f7472dbd5198845a2f1ceb212624ac84ce1a252bff91d0c3faafc816ee09bd3be8f3d6ac24d7c7b84b56e65c31c60e
7
- data.tar.gz: afacdce64725a4b5757ce741135cd19f1b69072c3a9773e4815307f04ae3430e7cdd332a8b23ee880cfcb1271221fcd0bab788b89c4b866753665373cb2a5568
6
+ metadata.gz: 4b2702cb4c20e8ce11c0fd514d98d65af9effabb466d13e948fd3f872e1ad56e8b8b558bff34ef1a78ed95019b5cd67885d28ea75cd26b62978f2f2d3985ddaa
7
+ data.tar.gz: 3b673b37307b1eee3c6e125682fef0fed504d7c1d8e8f530ed97209514f16ab32fdb367e5e00d50e3800fcf93dabb1fd85c9813b7290924ffdfdde0881fcbbe3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- exercism_config (0.18.0)
4
+ exercism_config (0.21.0)
5
5
  aws-sdk-dynamodb (~> 1.0)
6
6
  mandate
7
7
  zeitwerk
@@ -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)
@@ -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
@@ -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, "environments must be one of development test production. Got #{env}"
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:8000" if ENV["EXERCISM_CI"]
23
+ return "http://127.0.0.1:#{ENV["DYNAMODB_PORT"]}" if ENV["EXERCISM_CI"]
24
24
 
25
- host = ENV["EXERCISM_DOCKER"] ? "dynamodb:8000" : "localhost:3039"
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
+
@@ -1,3 +1,3 @@
1
1
  module ExercismConfig
2
- VERSION = "0.20.0"
2
+ VERSION = "0.26.0"
3
3
  end
@@ -4,4 +4,5 @@ tooling_orchestrator_url: http://127.0.0.1:3021
4
4
  anycable_redis_url: redis://127.0.0.1:6379/1
5
5
  anycable_rpc_host: 127.0.0.1:50051
6
6
  rds_master_endpoint: 127.0.0.1
7
- rds_port: 3306
7
+ rds_port: <%= ENV["MYSQL_PORT"] %>
8
+ spi_url: http://127.0.0.1:3020
@@ -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: 'redis://127.0.0.1:6379/1'
5
- anycable_rpc_host: '127.0.0.1:50051'
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
@@ -5,3 +5,4 @@ anycable_redis_url: redis://redis:6379/1
5
5
  anycable_rpc_host: 0.0.0.0:50051
6
6
  rds_master_endpoint: mysql
7
7
  rds_port: 3306
8
+ spi_url: http://website:3020
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.20.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-29 00:00:00.000000000 Z
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.1.2
173
+ rubygems_version: 3.0.8
160
174
  signing_key:
161
175
  specification_version: 4
162
176
  summary: Retrieves stored config for Exercism
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- setup_#!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here