Module: ElasticGraph::Apollo
- Defined in:
- lib/elastic_graph/apollo/schema_definition/api_extension.rb,
lib/elastic_graph/apollo/graphql/engine_extension.rb,
lib/elastic_graph/apollo/graphql/service_field_resolver.rb,
lib/elastic_graph/apollo/graphql/entities_field_resolver.rb,
lib/elastic_graph/apollo/graphql/http_endpoint_extension.rb,
lib/elastic_graph/apollo/schema_definition/field_extension.rb,
lib/elastic_graph/apollo/schema_definition/state_extension.rb,
lib/elastic_graph/apollo/schema_definition/apollo_directives.rb,
lib/elastic_graph/apollo/schema_definition/factory_extension.rb,
lib/elastic_graph/apollo/schema_definition/argument_extension.rb,
lib/elastic_graph/apollo/schema_definition/enum_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/enum_value_extension.rb,
lib/elastic_graph/apollo/schema_definition/input_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/union_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/entity_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/object_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/scalar_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/interface_type_extension.rb,
lib/elastic_graph/apollo/schema_definition/graphql_sdl_enumerator_extension.rb
Overview
ElasticGraph extension library that implements the [Apollo subgraph federation spec](www.apollographql.com/docs/federation/subgraph-spec/), turning any ElasticGraph instance into an Apollo subgraph.
‘ElasticGraph::Apollo` has two parts:
-
SchemaDefinition is an extension used while defining an ElasticGraph schema. It includes all schema elements that are part of the Apollo spec, including ‘_Entity` and the various directives.
-
GraphQL is an extension used by ‘elasticgraph-graphql` to support queries against Apollo’s subgraph schema additions (e.g. ‘_service` and `_entities`). It includes [reference resolvers](www.apollographql.com/docs/federation/entities/#2-define-a-reference-resolver) for all indexed types in your schema.
To use ‘elasticgraph-apollo`, simply use SchemaDefinition::APIExtension as a schema definition extension module. The GraphQL extension module will get used by `elasticgraph-graphql` automatically.
Defined Under Namespace
Modules: GraphQL, SchemaDefinition