elasticgraph-local 0.19.0.0 → 0.19.1.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f68e9a53b03951e4b7841a3db1c5d1d117c8d51fc9d44f45a65c0cd6ab7342ae
|
|
4
|
+
data.tar.gz: d4e4756d93bd870266254f258d76a6a4dec7d9461d7f6371750e083caca92b0d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 58d80993632e4b40640bd1d346aca58ef7a11c65c816516254c8e499d86b8513f8ee814d2dcd6f94c771f10ab19730e78aa8558d9053b32b3de83a49fb9c73c8
|
|
7
|
+
data.tar.gz: ba83f4dfcbe12be09c170b5290f6873395f1f6b3c791863f43da29d8929474234aa5d2b9b5ff43b6e843a2a97ff5ac81b4a3906138c8e7b72d136d6269e2f6b8
|
|
@@ -29,8 +29,7 @@ module ElasticGraph
|
|
|
29
29
|
publishing_threads = Array.new(PARALLELISM) { new_publishing_thread(batch_queue) }
|
|
30
30
|
|
|
31
31
|
num_batches.times do
|
|
32
|
-
batch =
|
|
33
|
-
@fake_data_batch_generator.call(batch)
|
|
32
|
+
batch = @fake_data_batch_generator.call
|
|
34
33
|
@output.puts "Generated batch of #{batch.size} documents..."
|
|
35
34
|
batch_queue << batch
|
|
36
35
|
end
|
|
@@ -102,7 +102,7 @@ module ElasticGraph
|
|
|
102
102
|
# local_config_yaml: "config/settings/local.yaml",
|
|
103
103
|
# path_to_schema: "config/schema.rb"
|
|
104
104
|
# ) do |tasks|
|
|
105
|
-
# tasks.derived_type_name_formats = {AggregatedValues: "Metrics"}
|
|
105
|
+
# tasks.derived_type_name_formats = {AggregatedValues: "%{base}Metrics"}
|
|
106
106
|
# end
|
|
107
107
|
#
|
|
108
108
|
# @dynamic derived_type_name_formats, derived_type_name_formats=
|
|
@@ -239,7 +239,8 @@ module ElasticGraph
|
|
|
239
239
|
attr_accessor :enforce_json_schema_version
|
|
240
240
|
|
|
241
241
|
# List of Elasticsearch versions you want to be able to boot. Rake tasks will be defined for each version to support booting and
|
|
242
|
-
# halting Elasticsearch locally.
|
|
242
|
+
# halting Elasticsearch locally. If the configuration of `local_config_yaml` only configures `opensearch` as a cluster backend,
|
|
243
|
+
# will default to an empty array. Otherwise, defaults to the versions of Elasticsearch that are exercised by the ElasticGraph test suite, as
|
|
243
244
|
# defined by `lib/elastic_graph/local/tested_datastore_versions.yaml`:
|
|
244
245
|
#
|
|
245
246
|
# {include:file:elasticgraph-local/lib/elastic_graph/local/tested_datastore_versions.yaml}
|
|
@@ -247,19 +248,20 @@ module ElasticGraph
|
|
|
247
248
|
# @return [Array<String>] list of Elasticsearch versions
|
|
248
249
|
# @see #opensearch_versions
|
|
249
250
|
#
|
|
250
|
-
# @example
|
|
251
|
+
# @example Configure the Elasticsearch versions available to boot locally
|
|
251
252
|
# ElasticGraph::Local::RakeTasks.new(
|
|
252
253
|
# local_config_yaml: "config/settings/local.yaml",
|
|
253
254
|
# path_to_schema: "config/schema.rb"
|
|
254
255
|
# ) do |tasks|
|
|
255
|
-
# tasks.elasticsearch_versions = []
|
|
256
|
+
# tasks.elasticsearch_versions = ["8.16.1"]
|
|
256
257
|
# end
|
|
257
258
|
#
|
|
258
259
|
# @dynamic elasticsearch_versions, elasticsearch_versions=
|
|
259
260
|
attr_accessor :elasticsearch_versions
|
|
260
261
|
|
|
261
262
|
# List of OpenSearch versions you want to be able to boot. Rake tasks will be defined for each version to support booting and
|
|
262
|
-
# halting OpenSearch locally.
|
|
263
|
+
# halting OpenSearch locally. If the configuration of `local_config_yaml` only configures `elasticsearch` as a cluster backend,
|
|
264
|
+
# will default to an empty array. Otherwise, defaults to the versions of OpenSearch that are exercised by the ElasticGraph test suite, as
|
|
263
265
|
# defined by `lib/elastic_graph/local/tested_datastore_versions.yaml`:
|
|
264
266
|
#
|
|
265
267
|
# {include:file:elasticgraph-local/lib/elastic_graph/local/tested_datastore_versions.yaml}
|
|
@@ -267,12 +269,12 @@ module ElasticGraph
|
|
|
267
269
|
# @return [Array<String>] list of OpenSearch versions
|
|
268
270
|
# @see #elasticsearch_versions
|
|
269
271
|
#
|
|
270
|
-
# @example
|
|
272
|
+
# @example Configure the OpenSearch versions available to boot locally
|
|
271
273
|
# ElasticGraph::Local::RakeTasks.new(
|
|
272
274
|
# local_config_yaml: "config/settings/local.yaml",
|
|
273
275
|
# path_to_schema: "config/schema.rb"
|
|
274
276
|
# ) do |tasks|
|
|
275
|
-
# tasks.opensearch_versions = []
|
|
277
|
+
# tasks.opensearch_versions = ["2.18.0"]
|
|
276
278
|
# end
|
|
277
279
|
#
|
|
278
280
|
# @dynamic opensearch_versions, opensearch_versions=
|
|
@@ -334,8 +336,8 @@ module ElasticGraph
|
|
|
334
336
|
# local_config_yaml: "config/settings/local.yaml",
|
|
335
337
|
# path_to_schema: "config/schema.rb"
|
|
336
338
|
# ) do |tasks|
|
|
337
|
-
# tasks.define_fake_data_batch_for :campaigns do
|
|
338
|
-
#
|
|
339
|
+
# tasks.define_fake_data_batch_for :campaigns do
|
|
340
|
+
# FactoryBot.build_list(:campaigns)
|
|
339
341
|
# end
|
|
340
342
|
# end
|
|
341
343
|
def define_fake_data_batch_for(type, &block)
|
|
@@ -365,8 +367,8 @@ module ElasticGraph
|
|
|
365
367
|
self.daemon_timeout = 300
|
|
366
368
|
|
|
367
369
|
datastore_versions = ::YAML.load_file("#{__dir__}/tested_datastore_versions.yaml")
|
|
368
|
-
self.elasticsearch_versions = datastore_versions.fetch("elasticsearch")
|
|
369
|
-
self.opensearch_versions = datastore_versions.fetch("opensearch")
|
|
370
|
+
self.elasticsearch_versions = local_cluster_backends.include?("elasticsearch") ? datastore_versions.fetch("elasticsearch") : []
|
|
371
|
+
self.opensearch_versions = local_cluster_backends.include?("opensearch") ? datastore_versions.fetch("opensearch") : []
|
|
370
372
|
|
|
371
373
|
@fake_data_batch_generator_by_type = {}
|
|
372
374
|
|
|
@@ -540,6 +542,15 @@ module ElasticGraph
|
|
|
540
542
|
.then { |port_str| Integer(port_str) }
|
|
541
543
|
end
|
|
542
544
|
|
|
545
|
+
def local_cluster_backends
|
|
546
|
+
@local_cluster_backends ||= local_config
|
|
547
|
+
.fetch("datastore")
|
|
548
|
+
.fetch("clusters")
|
|
549
|
+
.values
|
|
550
|
+
.map { |v| v.fetch("backend") }
|
|
551
|
+
.to_set
|
|
552
|
+
end
|
|
553
|
+
|
|
543
554
|
def local_config
|
|
544
555
|
@local_config ||= ::YAML.safe_load_file(@local_config_yaml, aliases: true)
|
|
545
556
|
end
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Copyright 2024 Block, Inc.
|
|
2
|
+
#
|
|
3
|
+
# Use of this source code is governed by an MIT-style
|
|
4
|
+
# license that can be found in the LICENSE file or at
|
|
5
|
+
# https://opensource.org/licenses/MIT.
|
|
6
|
+
#
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
require "elastic_graph/admin"
|
|
10
|
+
require "elastic_graph/graphql"
|
|
11
|
+
require "elastic_graph/indexer"
|
|
12
|
+
require "elastic_graph/indexer/test_support/converters"
|
|
13
|
+
require "elastic_graph/indexer/spec_support/event_matcher"
|
|
14
|
+
require "factory_bot"
|
|
15
|
+
|
|
16
|
+
RSpec.shared_examples "an ElasticGraph project" do |repo_root: Dir.pwd,
|
|
17
|
+
settings_dir: "config/settings",
|
|
18
|
+
use_settings_yaml: "local.yaml",
|
|
19
|
+
ignored_factories: [],
|
|
20
|
+
factory_iterations: 100|
|
|
21
|
+
|
|
22
|
+
settings_yaml_file_to_use = ::File.join(settings_dir, use_settings_yaml)
|
|
23
|
+
|
|
24
|
+
# Our settings files reference some files relative to the repo root, but we want to support
|
|
25
|
+
# running this spec file from both the repo root and from each gem dir. To avoid problems,
|
|
26
|
+
# here we force the examples (and all hooks, including :context hooks) to run with the current
|
|
27
|
+
# directory set to the repo root.
|
|
28
|
+
before(:context) do |ex|
|
|
29
|
+
@original_current_dir = ::Dir.pwd
|
|
30
|
+
::Dir.chdir(repo_root)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
after(:context) do
|
|
34
|
+
::Dir.chdir(@original_current_dir)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if settings_dir
|
|
38
|
+
describe "a fully configured lambda settings file" do
|
|
39
|
+
settings_files = Dir[File.join(repo_root, settings_dir, "*.{yml,yaml}")]
|
|
40
|
+
|
|
41
|
+
specify "this test file is looking for settings files in the right place" do
|
|
42
|
+
expect(settings_files).not_to be_empty
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
settings_files.each do |file_name|
|
|
46
|
+
describe "the `#{file_name}` settings file" do
|
|
47
|
+
it "can boot each part of ElasticGraph and has `number_of_shards` configured on every index definition" do
|
|
48
|
+
all_components = [::ElasticGraph::Admin, ::ElasticGraph::GraphQL, ::ElasticGraph::Indexer].map do |klass|
|
|
49
|
+
klass.from_yaml_file(file_name)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
graphql = all_components.grep(::ElasticGraph::GraphQL).first
|
|
53
|
+
|
|
54
|
+
all_components.each do |comp|
|
|
55
|
+
# this will raise an error if any indices are not configured.
|
|
56
|
+
comp.datastore_core.index_definitions_by_name
|
|
57
|
+
|
|
58
|
+
# Verify that every index definition has an explicit `number_of_shards` configured. It's easy to forget
|
|
59
|
+
# and can't be changed once the index is created so we want to force it to be chosen. The default of `1`
|
|
60
|
+
# is probably never appropriate.
|
|
61
|
+
index_def_names_without_number_of_shards =
|
|
62
|
+
comp.datastore_core.index_definitions_by_name.values.filter_map do |index_def|
|
|
63
|
+
# :nocov: -- currently not executed during this gem's own test suite run
|
|
64
|
+
index_def.name unless index_def.env_index_config.setting_overrides.key?("number_of_shards")
|
|
65
|
+
# :nocov:
|
|
66
|
+
end
|
|
67
|
+
expect(index_def_names_without_number_of_shards).to be_empty,
|
|
68
|
+
"Expected all index definitions to configure the `number_of_shards` in #{file_name}, but the following did not:\n" \
|
|
69
|
+
" - #{index_def_names_without_number_of_shards.join("\n - ")}"
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# This will raise an error if health check settings are invalid.
|
|
73
|
+
graphql.graphql_http_endpoint
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
ignored_factories_set = ignored_factories.to_set
|
|
81
|
+
typenames_by_factory_name = ::FactoryBot.factories.filter_map do |factory|
|
|
82
|
+
typename_attr = factory.send(:attributes).find { |a| a.name == :__typename }
|
|
83
|
+
next if typename_attr.nil? || ignored_factories_set.include?(factory.name)
|
|
84
|
+
|
|
85
|
+
begin
|
|
86
|
+
[factory.name, typename_attr.to_proc.call]
|
|
87
|
+
rescue StandardError, NotImplementedError
|
|
88
|
+
# Don't consider factories that raise an error from `__typename`.
|
|
89
|
+
end
|
|
90
|
+
end.to_h
|
|
91
|
+
|
|
92
|
+
indexer, all_type_names, event_types = Dir.chdir(repo_root) do
|
|
93
|
+
indexer = ::ElasticGraph::Indexer.from_yaml_file(settings_yaml_file_to_use)
|
|
94
|
+
all_defs = indexer.schema_artifacts
|
|
95
|
+
.json_schemas_for(indexer.schema_artifacts.latest_json_schema_version)
|
|
96
|
+
.fetch("$defs")
|
|
97
|
+
|
|
98
|
+
event_types = all_defs
|
|
99
|
+
.fetch("ElasticGraphEventEnvelope")
|
|
100
|
+
.fetch("properties")
|
|
101
|
+
.fetch("type")
|
|
102
|
+
.fetch("enum")
|
|
103
|
+
.to_set
|
|
104
|
+
|
|
105
|
+
[indexer, all_defs.keys.to_set, event_types]
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
describe "Factories" do
|
|
109
|
+
specify "all factories have valid `__typename` values" do
|
|
110
|
+
unknown_type_names_by_factory_name = typenames_by_factory_name.reject { |k, v| all_type_names.include?(v) }
|
|
111
|
+
|
|
112
|
+
expect(unknown_type_names_by_factory_name).to be_empty,
|
|
113
|
+
"Expected all factory `__typename` values to be valid, but the following did not match any defined indexed types: #{unknown_type_names_by_factory_name.values.sort}. " \
|
|
114
|
+
"If any `__typename` values are invalid, fix them; otherwise, pass `ignored_factories: #{unknown_type_names_by_factory_name.keys.sort.inspect}` to ignore them " \
|
|
115
|
+
"or make sure that they are defined as indexed types (by defining `t.index_name \"...\"` on them)."
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
typenames_by_factory_name.each do |factory_name, typename|
|
|
119
|
+
next unless event_types.include?(typename)
|
|
120
|
+
|
|
121
|
+
describe "the :#{factory_name} factory" do
|
|
122
|
+
# We use `aggregate_failures: false` so that we stop on the first failure. Getting all of them can be overwhelming.
|
|
123
|
+
it "builds a record that passes ElasticGraph validation", aggregate_failures: false do
|
|
124
|
+
# The factory generates random data. To give us confidence that it doesn't generate
|
|
125
|
+
# good data usually and bad data rarely, we generate 100 events and verify that they
|
|
126
|
+
# are all valid.
|
|
127
|
+
factory_iterations.times do
|
|
128
|
+
record = ::FactoryBot.build(factory_name)
|
|
129
|
+
event = ::ElasticGraph::Indexer::TestSupport::Converters.upsert_events_for_records([record]).first
|
|
130
|
+
|
|
131
|
+
expect(event).to be_a_valid_elastic_graph_event(for_indexer: indexer) { |v| v.with_unknown_properties_disallowed }
|
|
132
|
+
|
|
133
|
+
# Also try building a datastore bulk operation for each event. Occasionally we've seen bugs in
|
|
134
|
+
# elasticgraph-indexer that only manifest in specific schema situations that our main ElasticGraph
|
|
135
|
+
# test suite may not cover, so this'll surface whether elasticgraph-indexer produces exceptions from
|
|
136
|
+
# the Ruby code while processing events for the current schema.
|
|
137
|
+
#
|
|
138
|
+
# Note: we could attempt to _actually_ index it into the datastore here (which would provide even
|
|
139
|
+
# greater confidence), but we don't expect the datastore to be booted and available when these tests
|
|
140
|
+
# are running, and we don't want to have to manage cleaning up datastore state as part of these
|
|
141
|
+
# tests. Still, it's a potential further step we could take with this in the future.
|
|
142
|
+
indexer.operation_factory.build(event).operations.each(&:to_datastore_bulk)
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
metadata
CHANGED
|
@@ -1,275 +1,87 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: elasticgraph-local
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.19.
|
|
4
|
+
version: 0.19.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Myron Marston
|
|
8
8
|
- Ben VandenBos
|
|
9
9
|
- Block Engineering
|
|
10
10
|
autorequire:
|
|
11
|
-
bindir:
|
|
11
|
+
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2025-02-06 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: rubocop-factory_bot
|
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
|
18
|
-
requirements:
|
|
19
|
-
- - "~>"
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '2.26'
|
|
22
|
-
type: :development
|
|
23
|
-
prerelease: false
|
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
requirements:
|
|
26
|
-
- - "~>"
|
|
27
|
-
- !ruby/object:Gem::Version
|
|
28
|
-
version: '2.26'
|
|
29
|
-
- !ruby/object:Gem::Dependency
|
|
30
|
-
name: rubocop-rake
|
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
|
32
|
-
requirements:
|
|
33
|
-
- - "~>"
|
|
34
|
-
- !ruby/object:Gem::Version
|
|
35
|
-
version: '0.6'
|
|
36
|
-
type: :development
|
|
37
|
-
prerelease: false
|
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
39
|
-
requirements:
|
|
40
|
-
- - "~>"
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
version: '0.6'
|
|
43
|
-
- !ruby/object:Gem::Dependency
|
|
44
|
-
name: rubocop-rspec
|
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
|
46
|
-
requirements:
|
|
47
|
-
- - "~>"
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: '3.1'
|
|
50
|
-
type: :development
|
|
51
|
-
prerelease: false
|
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
-
requirements:
|
|
54
|
-
- - "~>"
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: '3.1'
|
|
57
|
-
- !ruby/object:Gem::Dependency
|
|
58
|
-
name: standard
|
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
|
60
|
-
requirements:
|
|
61
|
-
- - "~>"
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: 1.41.0
|
|
64
|
-
type: :development
|
|
65
|
-
prerelease: false
|
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
-
requirements:
|
|
68
|
-
- - "~>"
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: 1.41.0
|
|
71
|
-
- !ruby/object:Gem::Dependency
|
|
72
|
-
name: steep
|
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
|
74
|
-
requirements:
|
|
75
|
-
- - "~>"
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: 1.9.0
|
|
78
|
-
type: :development
|
|
79
|
-
prerelease: false
|
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
81
|
-
requirements:
|
|
82
|
-
- - "~>"
|
|
83
|
-
- !ruby/object:Gem::Version
|
|
84
|
-
version: 1.9.0
|
|
85
|
-
- !ruby/object:Gem::Dependency
|
|
86
|
-
name: coderay
|
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
|
88
|
-
requirements:
|
|
89
|
-
- - "~>"
|
|
90
|
-
- !ruby/object:Gem::Version
|
|
91
|
-
version: '1.1'
|
|
92
|
-
type: :development
|
|
93
|
-
prerelease: false
|
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
95
|
-
requirements:
|
|
96
|
-
- - "~>"
|
|
97
|
-
- !ruby/object:Gem::Version
|
|
98
|
-
version: '1.1'
|
|
99
|
-
- !ruby/object:Gem::Dependency
|
|
100
|
-
name: flatware-rspec
|
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
|
102
|
-
requirements:
|
|
103
|
-
- - "~>"
|
|
104
|
-
- !ruby/object:Gem::Version
|
|
105
|
-
version: '2.3'
|
|
106
|
-
- - ">="
|
|
107
|
-
- !ruby/object:Gem::Version
|
|
108
|
-
version: 2.3.3
|
|
109
|
-
type: :development
|
|
110
|
-
prerelease: false
|
|
111
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
112
|
-
requirements:
|
|
113
|
-
- - "~>"
|
|
114
|
-
- !ruby/object:Gem::Version
|
|
115
|
-
version: '2.3'
|
|
116
|
-
- - ">="
|
|
117
|
-
- !ruby/object:Gem::Version
|
|
118
|
-
version: 2.3.3
|
|
119
|
-
- !ruby/object:Gem::Dependency
|
|
120
|
-
name: rspec
|
|
121
|
-
requirement: !ruby/object:Gem::Requirement
|
|
122
|
-
requirements:
|
|
123
|
-
- - "~>"
|
|
124
|
-
- !ruby/object:Gem::Version
|
|
125
|
-
version: '3.13'
|
|
126
|
-
type: :development
|
|
127
|
-
prerelease: false
|
|
128
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
129
|
-
requirements:
|
|
130
|
-
- - "~>"
|
|
131
|
-
- !ruby/object:Gem::Version
|
|
132
|
-
version: '3.13'
|
|
133
|
-
- !ruby/object:Gem::Dependency
|
|
134
|
-
name: super_diff
|
|
135
|
-
requirement: !ruby/object:Gem::Requirement
|
|
136
|
-
requirements:
|
|
137
|
-
- - "~>"
|
|
138
|
-
- !ruby/object:Gem::Version
|
|
139
|
-
version: '0.13'
|
|
140
|
-
type: :development
|
|
141
|
-
prerelease: false
|
|
142
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
143
|
-
requirements:
|
|
144
|
-
- - "~>"
|
|
145
|
-
- !ruby/object:Gem::Version
|
|
146
|
-
version: '0.13'
|
|
147
|
-
- !ruby/object:Gem::Dependency
|
|
148
|
-
name: simplecov
|
|
149
|
-
requirement: !ruby/object:Gem::Requirement
|
|
150
|
-
requirements:
|
|
151
|
-
- - "~>"
|
|
152
|
-
- !ruby/object:Gem::Version
|
|
153
|
-
version: '0.22'
|
|
154
|
-
type: :development
|
|
155
|
-
prerelease: false
|
|
156
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
157
|
-
requirements:
|
|
158
|
-
- - "~>"
|
|
159
|
-
- !ruby/object:Gem::Version
|
|
160
|
-
version: '0.22'
|
|
161
|
-
- !ruby/object:Gem::Dependency
|
|
162
|
-
name: simplecov-console
|
|
163
|
-
requirement: !ruby/object:Gem::Requirement
|
|
164
|
-
requirements:
|
|
165
|
-
- - "~>"
|
|
166
|
-
- !ruby/object:Gem::Version
|
|
167
|
-
version: '0.9'
|
|
168
|
-
type: :development
|
|
169
|
-
prerelease: false
|
|
170
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
171
|
-
requirements:
|
|
172
|
-
- - "~>"
|
|
173
|
-
- !ruby/object:Gem::Version
|
|
174
|
-
version: '0.9'
|
|
175
|
-
- !ruby/object:Gem::Dependency
|
|
176
|
-
name: factory_bot
|
|
177
|
-
requirement: !ruby/object:Gem::Requirement
|
|
178
|
-
requirements:
|
|
179
|
-
- - "~>"
|
|
180
|
-
- !ruby/object:Gem::Version
|
|
181
|
-
version: '6.4'
|
|
182
|
-
type: :development
|
|
183
|
-
prerelease: false
|
|
184
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
-
requirements:
|
|
186
|
-
- - "~>"
|
|
187
|
-
- !ruby/object:Gem::Version
|
|
188
|
-
version: '6.4'
|
|
189
|
-
- !ruby/object:Gem::Dependency
|
|
190
|
-
name: faker
|
|
191
|
-
requirement: !ruby/object:Gem::Requirement
|
|
192
|
-
requirements:
|
|
193
|
-
- - "~>"
|
|
194
|
-
- !ruby/object:Gem::Version
|
|
195
|
-
version: '3.5'
|
|
196
|
-
type: :development
|
|
197
|
-
prerelease: false
|
|
198
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
199
|
-
requirements:
|
|
200
|
-
- - "~>"
|
|
201
|
-
- !ruby/object:Gem::Version
|
|
202
|
-
version: '3.5'
|
|
203
15
|
- !ruby/object:Gem::Dependency
|
|
204
16
|
name: elasticgraph-admin
|
|
205
17
|
requirement: !ruby/object:Gem::Requirement
|
|
206
18
|
requirements:
|
|
207
19
|
- - '='
|
|
208
20
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: 0.19.
|
|
21
|
+
version: 0.19.1.0
|
|
210
22
|
type: :runtime
|
|
211
23
|
prerelease: false
|
|
212
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
213
25
|
requirements:
|
|
214
26
|
- - '='
|
|
215
27
|
- !ruby/object:Gem::Version
|
|
216
|
-
version: 0.19.
|
|
28
|
+
version: 0.19.1.0
|
|
217
29
|
- !ruby/object:Gem::Dependency
|
|
218
30
|
name: elasticgraph-graphql
|
|
219
31
|
requirement: !ruby/object:Gem::Requirement
|
|
220
32
|
requirements:
|
|
221
33
|
- - '='
|
|
222
34
|
- !ruby/object:Gem::Version
|
|
223
|
-
version: 0.19.
|
|
35
|
+
version: 0.19.1.0
|
|
224
36
|
type: :runtime
|
|
225
37
|
prerelease: false
|
|
226
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
227
39
|
requirements:
|
|
228
40
|
- - '='
|
|
229
41
|
- !ruby/object:Gem::Version
|
|
230
|
-
version: 0.19.
|
|
42
|
+
version: 0.19.1.0
|
|
231
43
|
- !ruby/object:Gem::Dependency
|
|
232
44
|
name: elasticgraph-indexer
|
|
233
45
|
requirement: !ruby/object:Gem::Requirement
|
|
234
46
|
requirements:
|
|
235
47
|
- - '='
|
|
236
48
|
- !ruby/object:Gem::Version
|
|
237
|
-
version: 0.19.
|
|
49
|
+
version: 0.19.1.0
|
|
238
50
|
type: :runtime
|
|
239
51
|
prerelease: false
|
|
240
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
241
53
|
requirements:
|
|
242
54
|
- - '='
|
|
243
55
|
- !ruby/object:Gem::Version
|
|
244
|
-
version: 0.19.
|
|
56
|
+
version: 0.19.1.0
|
|
245
57
|
- !ruby/object:Gem::Dependency
|
|
246
58
|
name: elasticgraph-rack
|
|
247
59
|
requirement: !ruby/object:Gem::Requirement
|
|
248
60
|
requirements:
|
|
249
61
|
- - '='
|
|
250
62
|
- !ruby/object:Gem::Version
|
|
251
|
-
version: 0.19.
|
|
63
|
+
version: 0.19.1.0
|
|
252
64
|
type: :runtime
|
|
253
65
|
prerelease: false
|
|
254
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
255
67
|
requirements:
|
|
256
68
|
- - '='
|
|
257
69
|
- !ruby/object:Gem::Version
|
|
258
|
-
version: 0.19.
|
|
70
|
+
version: 0.19.1.0
|
|
259
71
|
- !ruby/object:Gem::Dependency
|
|
260
72
|
name: elasticgraph-schema_definition
|
|
261
73
|
requirement: !ruby/object:Gem::Requirement
|
|
262
74
|
requirements:
|
|
263
75
|
- - '='
|
|
264
76
|
- !ruby/object:Gem::Version
|
|
265
|
-
version: 0.19.
|
|
77
|
+
version: 0.19.1.0
|
|
266
78
|
type: :runtime
|
|
267
79
|
prerelease: false
|
|
268
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
269
81
|
requirements:
|
|
270
82
|
- - '='
|
|
271
83
|
- !ruby/object:Gem::Version
|
|
272
|
-
version: 0.19.
|
|
84
|
+
version: 0.19.1.0
|
|
273
85
|
- !ruby/object:Gem::Dependency
|
|
274
86
|
name: rackup
|
|
275
87
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -313,47 +125,47 @@ dependencies:
|
|
|
313
125
|
- !ruby/object:Gem::Version
|
|
314
126
|
version: '1.9'
|
|
315
127
|
- !ruby/object:Gem::Dependency
|
|
316
|
-
name: elasticgraph-
|
|
128
|
+
name: elasticgraph-apollo
|
|
317
129
|
requirement: !ruby/object:Gem::Requirement
|
|
318
130
|
requirements:
|
|
319
131
|
- - '='
|
|
320
132
|
- !ruby/object:Gem::Version
|
|
321
|
-
version: 0.19.
|
|
133
|
+
version: 0.19.1.0
|
|
322
134
|
type: :development
|
|
323
135
|
prerelease: false
|
|
324
136
|
version_requirements: !ruby/object:Gem::Requirement
|
|
325
137
|
requirements:
|
|
326
138
|
- - '='
|
|
327
139
|
- !ruby/object:Gem::Version
|
|
328
|
-
version: 0.19.
|
|
140
|
+
version: 0.19.1.0
|
|
329
141
|
- !ruby/object:Gem::Dependency
|
|
330
|
-
name: elasticgraph-
|
|
142
|
+
name: elasticgraph-elasticsearch
|
|
331
143
|
requirement: !ruby/object:Gem::Requirement
|
|
332
144
|
requirements:
|
|
333
145
|
- - '='
|
|
334
146
|
- !ruby/object:Gem::Version
|
|
335
|
-
version: 0.19.
|
|
147
|
+
version: 0.19.1.0
|
|
336
148
|
type: :development
|
|
337
149
|
prerelease: false
|
|
338
150
|
version_requirements: !ruby/object:Gem::Requirement
|
|
339
151
|
requirements:
|
|
340
152
|
- - '='
|
|
341
153
|
- !ruby/object:Gem::Version
|
|
342
|
-
version: 0.19.
|
|
154
|
+
version: 0.19.1.0
|
|
343
155
|
- !ruby/object:Gem::Dependency
|
|
344
|
-
name:
|
|
156
|
+
name: elasticgraph-opensearch
|
|
345
157
|
requirement: !ruby/object:Gem::Requirement
|
|
346
158
|
requirements:
|
|
347
|
-
- -
|
|
159
|
+
- - '='
|
|
348
160
|
- !ruby/object:Gem::Version
|
|
349
|
-
version:
|
|
161
|
+
version: 0.19.1.0
|
|
350
162
|
type: :development
|
|
351
163
|
prerelease: false
|
|
352
164
|
version_requirements: !ruby/object:Gem::Requirement
|
|
353
165
|
requirements:
|
|
354
|
-
- -
|
|
166
|
+
- - '='
|
|
355
167
|
- !ruby/object:Gem::Version
|
|
356
|
-
version:
|
|
168
|
+
version: 0.19.1.0
|
|
357
169
|
description:
|
|
358
170
|
email:
|
|
359
171
|
- myron@squareup.com
|
|
@@ -363,7 +175,6 @@ extra_rdoc_files: []
|
|
|
363
175
|
files:
|
|
364
176
|
- LICENSE.txt
|
|
365
177
|
- README.md
|
|
366
|
-
- elasticgraph-local.gemspec
|
|
367
178
|
- lib/elastic_graph/local/config.ru
|
|
368
179
|
- lib/elastic_graph/local/docker_runner.rb
|
|
369
180
|
- lib/elastic_graph/local/elasticsearch/Dockerfile
|
|
@@ -375,16 +186,17 @@ files:
|
|
|
375
186
|
- lib/elastic_graph/local/opensearch/UI-Dockerfile
|
|
376
187
|
- lib/elastic_graph/local/opensearch/docker-compose.yaml
|
|
377
188
|
- lib/elastic_graph/local/rake_tasks.rb
|
|
189
|
+
- lib/elastic_graph/local/spec_support/common_project_specs.rb
|
|
378
190
|
- lib/elastic_graph/local/tested_datastore_versions.yaml
|
|
379
191
|
homepage: https://block.github.io/elasticgraph/
|
|
380
192
|
licenses:
|
|
381
193
|
- MIT
|
|
382
194
|
metadata:
|
|
383
195
|
bug_tracker_uri: https://github.com/block/elasticgraph/issues
|
|
384
|
-
changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.
|
|
196
|
+
changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.1.0
|
|
385
197
|
documentation_uri: https://block.github.io/elasticgraph/docs/main/
|
|
386
198
|
homepage_uri: https://block.github.io/elasticgraph/
|
|
387
|
-
source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.
|
|
199
|
+
source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.1.0/elasticgraph-local
|
|
388
200
|
gem_category: local
|
|
389
201
|
post_install_message:
|
|
390
202
|
rdoc_options: []
|
|
@@ -392,9 +204,12 @@ require_paths:
|
|
|
392
204
|
- lib
|
|
393
205
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
394
206
|
requirements:
|
|
395
|
-
- - "
|
|
207
|
+
- - ">="
|
|
396
208
|
- !ruby/object:Gem::Version
|
|
397
209
|
version: '3.2'
|
|
210
|
+
- - "<"
|
|
211
|
+
- !ruby/object:Gem::Version
|
|
212
|
+
version: '3.5'
|
|
398
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
399
214
|
requirements:
|
|
400
215
|
- - ">="
|
data/elasticgraph-local.gemspec
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Copyright 2024 Block, Inc.
|
|
2
|
-
#
|
|
3
|
-
# Use of this source code is governed by an MIT-style
|
|
4
|
-
# license that can be found in the LICENSE file or at
|
|
5
|
-
# https://opensource.org/licenses/MIT.
|
|
6
|
-
#
|
|
7
|
-
# frozen_string_literal: true
|
|
8
|
-
|
|
9
|
-
require_relative "../gemspec_helper"
|
|
10
|
-
|
|
11
|
-
ElasticGraphGemspecHelper.define_elasticgraph_gem(gemspec_file: __FILE__, category: :local) do |spec, eg_version|
|
|
12
|
-
spec.summary = "Provides support for developing and running ElasticGraph applications locally."
|
|
13
|
-
|
|
14
|
-
spec.add_dependency "elasticgraph-admin", eg_version
|
|
15
|
-
spec.add_dependency "elasticgraph-graphql", eg_version
|
|
16
|
-
spec.add_dependency "elasticgraph-indexer", eg_version
|
|
17
|
-
spec.add_dependency "elasticgraph-rack", eg_version
|
|
18
|
-
spec.add_dependency "elasticgraph-schema_definition", eg_version
|
|
19
|
-
spec.add_dependency "rackup", "~> 2.2"
|
|
20
|
-
spec.add_dependency "rake", "~> 13.2"
|
|
21
|
-
spec.add_dependency "webrick", "~> 1.9"
|
|
22
|
-
|
|
23
|
-
spec.add_development_dependency "elasticgraph-elasticsearch", eg_version
|
|
24
|
-
spec.add_development_dependency "elasticgraph-opensearch", eg_version
|
|
25
|
-
spec.add_development_dependency "httpx", "~> 1.3"
|
|
26
|
-
end
|