exercism_config 0.17.0 → 0.18.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: 9c094d61eb0003e49c33c3f1398167c15888c46824271fec7ad761747d31487c
4
- data.tar.gz: 310a0343c3962799b65b6b52446fb2056ee7b1af54c904c4a7ba7bbe4093dbb5
3
+ metadata.gz: 555be062390d82c5998c347d504b0e158388bdc4cd6be78b696b05d6e64a4583
4
+ data.tar.gz: 4379e460085f1a7024ebf93a96380ec7bcd68392c7117cf9c3e13d7cac527944
5
5
  SHA512:
6
- metadata.gz: 0f62ce107a3a34874b6d661e2930e68be15c502ac6264146485f593d4c274f6f33600e6da165efe1c1a67be742d7d17da05e85c66430b36696ea2a0b00a18199
7
- data.tar.gz: 55abe5deff25311edab033ac5eb96ced241df33471839bc4f95b204b93dfaf84c7ada5965a4cbe70ab6e56b2c59a4fc0e503226f430e9346260c3477f7015b37
6
+ metadata.gz: fd335e5943218e1316c45c598d45940f4da31f193d30d6f2b7c271081553d770ecc886f59ebd6ab27be5a04088e84ea5d450adb2c3a7b2190e404c508d709968
7
+ data.tar.gz: e80961c8c6ff6a55f3eb272027611e6b575c5c365fb81b7f8a901694997dfb4628b8ec7d96943621bf6cae9063e8cf496274a5eef1e21cfae513e680d258e78f
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- exercism_config (0.16.0)
4
+ exercism_config (0.18.0)
5
5
  aws-sdk-dynamodb (~> 1.0)
6
6
  mandate
7
7
  zeitwerk
data/README.md CHANGED
@@ -19,8 +19,3 @@ require 'exercism_config'
19
19
  ExercismConfig.config.webservers_alb_dns_name
20
20
  ```
21
21
 
22
- To print out all the config from the command-line, you can run:
23
-
24
- ```bash
25
- AWS_PROFILE=exercism_terraform ./bin/run
26
- ```
data/bin/setup CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env bash
1
+ setup_#!/usr/bin/env bash
2
2
  set -euo pipefail
3
3
  IFS=$'\n\t'
4
4
  set -vx
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "exercism_config"
5
+ require 'yaml'
6
+
7
+ env = ExercismConfig::DetermineEnvironment.()
8
+ if env == :production
9
+ puts "Aborted! This script should not be run in production."
10
+ exit
11
+ end
12
+
13
+ def create_table(client)
14
+ client.create_table(
15
+ table_name: :config,
16
+ attribute_definitions: [
17
+ {
18
+ attribute_name: "id",
19
+ attribute_type: "S",
20
+ },
21
+ ],
22
+ key_schema: [
23
+ {
24
+ attribute_name: "id",
25
+ key_type: "HASH",
26
+ }
27
+ ],
28
+ provisioned_throughput: {
29
+ read_capacity_units: 1,
30
+ write_capacity_units: 1,
31
+ }
32
+ )
33
+ end
34
+
35
+ def delete_table(client)
36
+ client.delete_table(
37
+ table_name: :config,
38
+ )
39
+ end
40
+
41
+ def set_config_value(client, id, value)
42
+ client.put_item(
43
+ table_name: :config,
44
+ item: {
45
+ id: id,
46
+ value: value
47
+ }
48
+ )
49
+ end
50
+
51
+ client = ExercismConfig::SetupDynamoDBClient.()
52
+
53
+ begin
54
+ create_table(client)
55
+ rescue Aws::DynamoDB::Errors::ResourceInUseException => e
56
+ if ARGV.include?("--force")
57
+ puts "Table exists. Recreating..."
58
+ delete_table(client)
59
+ create_table(client)
60
+ puts "Table recreated."
61
+ else
62
+ puts "Table exists. Not recreating."
63
+ end
64
+ end
65
+
66
+ settings_file_arg = ARGV.select{|arg|arg.start_with?("--settings-file=")}.first
67
+ if settings_file_arg
68
+ settings_file = settings_file_arg.split("=").last
69
+ settings = YAML.load(File.read(settings_file))
70
+ else
71
+ settings = {
72
+ aws_iterations_bucket: "exercism-staging-iterations",
73
+ dynamodb_tooling_jobs_table: "tooling_jobs",
74
+ tooling_orchestrator_url: "http://127.0.0.1:3021",
75
+ anycable_redis_url: 'redis://127.0.0.1:6379/1',
76
+ anycable_rpc_host: '127.0.0.1:50051',
77
+ rds_master_endpoint: "localhost",
78
+ mysql_socket: "/tmp/mysql.sock"
79
+ }
80
+ end
81
+
82
+ settings.each do |key, value|
83
+ set_config_value(client, key, value)
84
+ end
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
20
  end
21
- spec.bindir = "exe"
22
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.bindir = "bin"
22
+ spec.executables = ["setup_exercism_config"]
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
  spec.add_dependency "aws-sdk-dynamodb", "~> 1.0"
@@ -1,3 +1,3 @@
1
1
  module ExercismConfig
2
- VERSION = "0.17.0"
2
+ VERSION = "0.18.0"
3
3
  end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exercism_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-07-29 00:00:00.000000000 Z
12
12
  dependencies:
@@ -111,7 +111,8 @@ dependencies:
111
111
  description:
112
112
  email:
113
113
  - jez.walker@gmail.com
114
- executables: []
114
+ executables:
115
+ - setup_exercism_config
115
116
  extensions: []
116
117
  extra_rdoc_files: []
117
118
  files:
@@ -122,8 +123,8 @@ files:
122
123
  - README.md
123
124
  - Rakefile
124
125
  - bin/console
125
- - bin/run
126
126
  - bin/setup
127
+ - bin/setup_exercism_config
127
128
  - exercism_config.gemspec
128
129
  - lib/exercism/config.rb
129
130
  - lib/exercism_config.rb
data/bin/run DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "exercism_config"
5
-
6
- p ExercismConfig.config.to_h