GraphQL API Reference

Self-generated API documentation for Meshery’s GraphQL API. The API can be explored interactively using the GraphQL Playground. Documentation is generated from Meshery’s GraphQL schema. Each table below documents a GraphQL type.

WARNING: Fields that are deprecated are marked with {warning-solid}.

Query type

The Query type contains the API’s top-level entry points for all executable queries.

Query.getAvailableAddons

Query details about Addons available (Eg. Prometheus and Grafana).

Returns [AddonList!]!.

Arguments

Name Type Description
selector MeshType Select Mesh Type.

Query.getAvailableNamespaces

Query available Namesapces in your cluster.

Returns [NameSpace!]!.

Query.getControlPlanes

Query Control Plane data for a Service Mesh (or all) in your cluster.

Returns [ControlPlane!]!.

Arguments

Name Type Description
filter ControlPlaneFilter Filter Control Plane Query.

Query.getOperatorStatus

Query status of Meshery Operator in your cluster.

Returns OperatorStatus.

Mutation type

The Mutation type contains all the mutations you can execute.

All mutations receive their arguments in a single input object named input.

Mutation.changeAddonStatus

Change the Addon Status.

Input type: AddonStatusInput

Arguments

Name Type Description
selector MeshType Filter by Serice Mesh.
targetStatus Status! Desired Status.

Returns Status!.

Mutation.changeOperatorStatus

Change the Operator Status.

Input type: OperatorStatusInput

Arguments

Name Type Description
targetStatus Status! Desired status for Meshery Operator.

Returns Status!.

Subscription type

The Subscription type contains all the Subscriptions you can listen to.

Subscription.listenToAddonState

Listen to changes in status of Addons available (Eg. Prometheus and Grafana).

Returns [AddonList!]!.

Arguments

Name Type Description
selector MeshType Select Mesh Type.

Subscription.listenToControlPlaneState

Listen to changes in Control Plane data for a Service Mesh (or all) in your cluster.

Returns [ControlPlane!]!.

Arguments

Name Type Description
filter ControlPlaneFilter Filter Control Plane Query.

Subscription.listenToMeshSyncEvents

Listen to changes in the list of available Namesapces in your cluster.

Returns OperatorControllerStatus!.

Subscription.listenToOperatorState

Listen to changes in status of Meshery Operator in your cluster.

Returns OperatorStatus!.

Object types

Object types represent the resources that the Meshery GraphQL API can return. They contain fields. Each field has its own type, which will either be one of the basic GraphQL scalar types (e.g.: String or Boolean) or other object types. Fields may have arguments. Fields with arguments are exactly like top-level queries, and are listed beneath the table of fields for each object type.

For more information, see Object Types and Fields on graphql.org.

AddonList

Deatils about the Addon Component.

Fields

Name Type Description
endpoint String! Endpoint (if applicable).
name String! Name.
owner String! Owner.

ControlPlane

Control Plane data for a particular Mesh.

Fields

Name Type Description
members [ControlPlaneMember!]! Members of the Mesh.
name String! Service Mesh Name.

ControlPlaneMember

Member Details.

Fields

Name Type Description
component String! Component.
name String! Name.
namespace String! Namespace.
version String! Version.

Error

Fields

Name Type Description
code String! Error Code.
description String! Error Details.

NameSpace

Type to define a k8s Namespace.

Fields

Name Type Description
namespace String! Namespace Name.

OperatorControllerStatus

Controllers of Meshery Operator.

Fields

Name Type Description
error Error Controller Error Log.
name String! Controller Name.
status Status! Controller Status.
version String! Controller Verison.

OperatorStatus

Status of Meshery Operator and its controllers.

Fields

Name Type Description
controllers [OperatorControllerStatus!]! Details about various Controllers of Meshery Operator.
error Error Error Logs encountered by Meshery Operator.
status Status! Status of Meshery Operator.
version String! Verion of Meshery Operator.

Enumeration types

Also called Enums, enumeration types are a special kind of scalar that is restricted to a particular set of allowed values.

For more information, see Enumeration Types on graphql.org.

MeshType

Service Mesh Types.

Value Description
ALL_MESH All meshes that Meshery supports.
APP_MESH AWS App Mesh.
CITRIX_SERVICE_MESH Citrix Service Mesh.
CONSUL Consul by HashiCorp.
INVALID_MESH Invalid Mesh.
ISTIO Istio Service Mesh.
KUMA Kuma.
LINKERD LinkerD Service Mesh.
NETWORK_SERVICE_MESH Network Service Mesh.
NGINX_SERVICE_MESH NGINX Service Mesh.
OCTARINE Octarine Mesh.
OPEN_SERVICE_MESH Open Service Mesh.
TANZU VMware Tanzu Service Mesh.
TRAEFIK_MESH Traefik Mesh.

Status

Value Description
DISABLED Disabled.
ENABLED Enabled.
PROCESSING Processing.
UNKNOWN Unknown.

Scalar types

Scalar values are atomic values, and do not have fields of their own. Basic scalars include strings, boolean values, and numbers. This schema also defines various custom scalar values, such as types for times and dates.

This schema includes custom scalar types for identifiers, with a specific type for each kind of object.

For more information, read about Scalar Types on graphql.org.

Boolean

Represents true or false values.

String

Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.

Input types

Types that may be used as arguments (all scalar types may also be used as arguments).

Only general use input types are listed here. For mutation input types, see the associated mutation type above.

For more information, read about Scalar Types on graphql.org.

ControlPlaneFilter

Filter Control Plane Query.

Arguments

Name Type Description
type MeshType Filter by Service Mesh.