GraphQL API Reference

Self-generated API documentation for Meshery’s GraphQL API. The API can be explored interactively using the GraphQL Playground at http://localhost:9081/api/system/graphql/playground, if you have built and are running Meshery Server from source. 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.connectToNats

Check is Meshey Server is connected to NATS, if not connect to the NATS Server.

Returns Status!.

Arguments

NameTypeDescription
k8scontextIDString!

Query.deployMeshsync

Check the Meshsync Status and deploy if not enabled.

Returns Status!.

Arguments

NameTypeDescription
k8scontextIDString!what to do in-order to deploy meshsync on multiple clusters/contexts.

Query.fetchAllResults

Query for fetching all results for profile ID.

Returns PerfPageResult!.

Arguments

NameTypeDescription
selectorPageFilter!

Query.fetchFilterCatalogContent

Query for getting Filter Catalog from remote provider.

Returns [CatalogFilter!]!.

Arguments

NameTypeDescription
selectorCatalogSelector

Query.fetchPatternCatalogContent

Query for getting Pattern Catalog from remote provider.

Returns [CatalogPattern!]!.

Arguments

NameTypeDescription
selectorCatalogSelector

Query.fetchPatterns

Query for fetching all patterns with selector.

Returns PatternPageResult!.

Arguments

NameTypeDescription
selectorPageFilter!

Query.fetchResults

Query for fetching all results for profile ID.

Returns PerfPageResult!.

Arguments

NameTypeDescription
profileIDString!
selectorPageFilter!

Query.fetchTelemetryComponents

Query for telemetry components.

Returns [TelemetryComp]!.

Arguments

NameTypeDescription
contexts[String!]

Query.getAvailableAddons

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

Returns [AddonList!]!.

Arguments

NameTypeDescription
filterServiceMeshFilterSelect Mesh Type.

Query.getAvailableNamespaces

Query available Namesapces in your cluster.

Returns [NameSpace!]!.

Arguments

NameTypeDescription
k8sClusterIDs[String!]

Query.getClusterResources

Query for getting cluster info.

Returns ClusterResources!.

Arguments

NameTypeDescription
k8scontextIDs[String!]
namespaceString!

Query.getControlPlanes

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

Returns [ControlPlane!]!.

Arguments

NameTypeDescription
filterServiceMeshFilterFilter Control Plane Query.

Query.getDataPlanes

Query Data Plane information for a Service Mesh (or all) in your cluster.

Returns [DataPlane!]!.

Arguments

NameTypeDescription
filterServiceMeshFilterFilter Control Plane Query.

Query.getKubectlDescribe

Query for getting kubectl describe details with meshkit.

Returns KctlDescribeDetails!.

Arguments

NameTypeDescription
kindString!
nameString!
namespaceString!

Query.getMeshModelSummary

Query for meshmodel summary.

Returns MeshModelSummary!.

Arguments

NameTypeDescription
selectorMeshModelSummarySelector!

Query.getMeshsyncStatus

Check the Meshsync Status.

Returns OperatorControllerStatus!.

Arguments

NameTypeDescription
k8scontextIDString!

Query.getNatsStatus

Check is Meshey Server is connected to NATS.

Returns OperatorControllerStatus!.

Arguments

NameTypeDescription
k8scontextIDString!

Query.getOperatorStatus

Query status of Meshery Operator in your cluster.

Returns OperatorStatus.

Arguments

NameTypeDescription
k8scontextIDString!

Query.getPerfResult

Query for performance result.

Returns MesheryResult.

Arguments

NameTypeDescription
idID!

Query.getPerformanceProfiles

Query for fetching all results for profile ID.

Returns PerfPageProfiles!.

Arguments

NameTypeDescription
selectorPageFilter!

Query.resyncCluster

Query to resync the cluster discovery.

Returns Status!.

Arguments

NameTypeDescription
k8scontextIDString!
selectorReSyncActionsSelector to control several resync actions.

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.changeAdapterStatus

Change the Adapter Status.

Input type: AdapterStatusInput

Arguments

NameTypeDescription
adapterString!Name of the adapter to be deployed.
targetPortString!The port on which adapter will be deployed.
targetStatusStatus!Desired status for Meshery Operator.
Returns Status!.

Mutation.changeOperatorStatus

Change the Operator Status.

Input type: OperatorStatusInput

Arguments

NameTypeDescription
contextIDString!
targetStatusStatus!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

NameTypeDescription
filterServiceMeshFilterSelect Mesh Type.

Subscription.listenToControlPlaneState

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

Returns [ControlPlane!]!.

Arguments

NameTypeDescription
filterServiceMeshFilterFilter Control Plane Query.

Subscription.listenToDataPlaneState

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

Returns [DataPlane!]!.

Arguments

NameTypeDescription
filterServiceMeshFilterFilter Control Plane Query.

Subscription.listenToMeshSyncEvents

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

Returns OperatorControllerStatusPerK8sContext.

Arguments

NameTypeDescription
k8scontextIDs[String!]

Subscription.listenToOperatorState

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

Returns OperatorStatusPerK8sContext.

Arguments

NameTypeDescription
k8scontextIDs[String!]

Subscription.subscribeBrokerConnection

Listen to changes in Broker (NATS) Connection.

Returns Boolean!.

Subscription.subscribeClusterResources

Returns ClusterResources!.

Arguments

NameTypeDescription
k8scontextIDs[String!]
namespaceString!

Subscription.subscribeConfiguration

Returns ConfigurationPage!.

Arguments

NameTypeDescription
applicationSelectorPageFilter!
filterSelectorPageFilter!
patternSelectorPageFilter!

Subscription.subscribeK8sContext

Returns K8sContextsPage!.

Arguments

NameTypeDescription
selectorPageFilter!

Subscription.subscribeMeshModelSummary

Returns MeshModelSummary!.

Arguments

NameTypeDescription
selectorMeshModelSummarySelector!

Subscription.subscribeMeshSyncEvents

Listen to the events that MeshSync is sending through Meshery Broker. Note: It does not listen to the changes in meshery database, but to meshsync events.

Returns MeshSyncEvent!.

Arguments

NameTypeDescription
k8scontextIDs[String!]

Subscription.subscribeMesheryControllersStatus

Listen to changes in the status of meshery controllers.

Returns [MesheryControllersStatusListItem!]!.

Arguments

NameTypeDescription
k8scontextIDs[String!]

Subscription.subscribePerfProfiles

Listen to changes in Performance Profiles.

Returns PerfPageProfiles!.

Arguments

NameTypeDescription
selectorPageFilter!

Subscription.subscribePerfResults

Listen to all results for profile ID.

Returns PerfPageResult!.

Arguments

NameTypeDescription
profileIDString!
selectorPageFilter!

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

Details about the Addon Component.

Fields

NameTypeDescription
nameString!Name.
ownerString!Owner.

ApplicationPage

Fields

NameTypeDescription
applications[ApplicationResult]
pageInt!
page_sizeInt!
total_countInt!

ApplicationResult

Fields

NameTypeDescription
application_fileString!
created_atString
idID!
locationLocation!
nameString!
typeNullString!
updated_atString
user_idString!
visibilityString!

CatalogFilter

Fields

NameTypeDescription
catalog_dataMap
created_atString
filter_fileString!
idID!
locationLocation!
nameString!
updated_atString
user_idString!
visibilityString!

CatalogPattern

Fields

NameTypeDescription
catalog_dataMap
created_atString
idID!
locationLocation!
nameString!
pattern_fileString!
updated_atString
user_idString!
visibilityString!

ClusterResources

Details about discovered workloads.

Fields

NameTypeDescription
resources[Resource!]!

ConfigurationPage

Fields

NameTypeDescription
applicationsApplicationPage
filtersFilterPage
patternsPatternPageResult

Container

Fields

NameTypeDescription
containerNameString!
controlPlaneMemberNameString!
imageString!
ports[Container_Port]args: NOT IMPLEMENTED.
resourcesAnyenv: NOT IMPLEMENTED,.
statusContainer_Status

Container_Port

Fields

NameTypeDescription
containerPortInt!
nameString
protocolString!

Container_Status

Fields

NameTypeDescription
containerIDAny
containerStatusNameString!
imageString!
imageIDAny
lastStateAny
readyBoolean!
restartCountAny
startedBoolean!image: String! imageID: String! containerID: String!.
stateAny

ControlPlane

Control Plane data for a particular Mesh.

Fields

NameTypeDescription
members[ControlPlaneMember!]!Members of the Mesh.
nameString!Service Mesh Name.

ControlPlaneMember

Member Details.

Fields

NameTypeDescription
componentString!Component.
data_planes[Container!]DataPlanes.
nameString!Name.
namespaceString!Namespace.
versionString!Version.

DataPlane

Data Plane for a particular Mesh.

Fields

NameTypeDescription
nameString!Service Mesh Name.
proxies[Container!]!Members of the Mesh.

Error

Fields

NameTypeDescription
codeString!Error Code.
descriptionString!Error Details.

FilterPage

Fields

NameTypeDescription
filters[FilterResult]
pageInt!
page_sizeInt!
total_countInt!

FilterResult

Fields

NameTypeDescription
catalog_dataMap
created_atString
filter_fileString!
idID!
locationLocation!
nameString!
updated_atString
user_idString!
visibilityString!

K8sContext

Fields

NameTypeDescription
authMap!
clusterMap!
created_atString!
created_byID!
deployment_typeString!
idString!
kubernetes_server_idID!
meshery_instance_idID!
nameString!
ownerID!
serverString!
updated_atString!
versionString!

K8sContextsPage

Fields

NameTypeDescription
contexts[K8sContext]!
total_countInt!

KctlDescribeDetails

Fields

NameTypeDescription
ctxidString
describeString

Location

Fields

NameTypeDescription
branchString
hostString
pathString
typeString

MeshModelComponent

Fields

NameTypeDescription
countInt!
nameString!

MeshModelRelationship

Fields

NameTypeDescription
countInt!
nameString!

MeshModelSummary

Type MeshModelComponentsSummary define the summary of a Mesh Model.

Fields

NameTypeDescription
components[MeshModelComponent!]
relationships[MeshModelRelationship!]

MeshSyncEvent

Fields

NameTypeDescription
contextIdString!
objectAny!
typeString!

MesheryControllersStatusListItem

Fields

NameTypeDescription
contextIdString!
controllerMesheryController!
statusMesheryControllerStatus!

MesheryResult

Fields

NameTypeDescription
created_atString
meshString
meshery_idString
nameString
performance_profileString
runner_resultsMap
server_board_configString
server_metricsString
test_idString
test_start_timeString
updated_atString
user_idString

NameSpace

Type to define a k8s Namespace.

Fields

NameTypeDescription
namespaceString!Namespace Name.

NullString

Fields

NameTypeDescription
StringString!
ValidBoolean!

OAMCapability

Fields

NameTypeDescription
hostString
idString
metadataAny
oam_definitionAny
oam_ref_schemaString
restrictedBoolean

OperatorControllerStatus

Controllers of Meshery Operator.

Fields

NameTypeDescription
contextIDString!
errorErrorController Error Log.
nameString!Controller Name.
statusStatus!Controller Status.
versionString!Controller Version.

OperatorControllerStatusPerK8sContext

Fields

NameTypeDescription
OperatorControllerStatusOperatorControllerStatus!
contextIDString!

OperatorStatus

Status of Meshery Operator and its controllers.

Fields

NameTypeDescription
contextIDString!
controllers[OperatorControllerStatus!]!Details about various Controllers of Meshery Operator.
errorErrorError Logs encountered by Meshery Operator.
statusStatus!Status of Meshery Operator.
versionString!Verion of Meshery Operator.

OperatorStatusPerK8sContext

Fields

NameTypeDescription
contextIDString!
operatorStatusOperatorStatus!

PatternPageResult

Fields

NameTypeDescription
pageInt!
page_sizeInt!
patterns[PatternResult]
total_countInt!

PatternResult

Fields

NameTypeDescription
canSupportBoolean!
catalog_dataMap
created_atString
errmsgString
idID!
locationLocation!
nameString!
pattern_fileString!
updated_atString
user_idString!
visibilityString!

PerfPageProfiles

Fields

NameTypeDescription
pageInt!
page_sizeInt!
profiles[PerfProfile]
total_countInt!

PerfPageResult

Fields

NameTypeDescription
pageInt!
page_sizeInt!
results[MesheryResult]
total_countInt!

PerfProfile

Fields

NameTypeDescription
concurrent_requestInt!
content_typeString
created_atString
durationString!
endpoints[String]
idString!
last_runString
load_generators[String]
nameString
qpsInt
request_bodyString
request_cookiesString
request_headersString
service_meshString
total_resultsInt
updated_atString
user_idString!

Resource

Fields

NameTypeDescription
countInt!Number of resouce.
kindString!Name of resource.

TelemetryComp

Fields

NameTypeDescription
nameString!
specString!
statusString!

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.

ValueDescription
ALL_MESHAll meshes that Meshery supports.
APP_MESHAWS App Mesh.
CILIUM_SERVICE_MESHCilium Service Mesh.
CITRIX_SERVICE_MESHCitrix Service Mesh.
CONSULConsul by HashiCorp.
INVALID_MESHInvalid Mesh.
ISTIOIstio Service Mesh.
KUMAKuma.
LINKERDLinkerD Service Mesh.
NETWORK_SERVICE_MESHNetwork Service Mesh.
NGINX_SERVICE_MESHNGINX Service Mesh.
OCTARINEOctarine Mesh.
OPEN_SERVICE_MESHOpen Service Mesh.
TANZUVMware Tanzu Service Mesh.
TRAEFIK_MESHTraefik Mesh.

MesheryController

ValueDescription
BROKER
MESHSYNC
OPERATOR

MesheryControllerStatus

ValueDescription
DEPLOYED
DEPLOYING
NOTDEPLOYED
UNKNOWN

Status

ValueDescription
CONNECTEDConnected (Applicable only for NATS status for now).
DISABLEDDisabled.
ENABLEDEnabled.
PROCESSINGProcessing.
UNKNOWNUnknown.

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.

Any

Boolean

Represents true or false values.

ID

Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.

Int

Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Map

String

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

Time

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.

AddonStatusInput

Input for changing Addon Status.

Arguments

NameTypeDescription
k8scontextIDString!kubernetes context ID.
selectorMeshTypeFilter by Serice Mesh.
targetStatusStatus!Desired Status.

CatalogSelector

Arguments

NameTypeDescription
orderString!
pageString!
page_sizeString!
searchString!

MeshModelSummarySelector

Arguments

NameTypeDescription
typeString!

PageFilter

Arguments

NameTypeDescription
fromString
orderString
pageString!
pageSizeString!
searchString
toString
updated_afterString

ReSyncActions

Type ReSyncActions define the actions involved during resync.

Arguments

NameTypeDescription
ReSyncString!
clearDBString!
hardResetString!

ServiceMeshFilter

Filter Control Plane Query.

Arguments

NameTypeDescription
k8sClusterIDs[String!]
typeMeshTypeFilter by Service Mesh.