diff --git a/mkdocs/docs/experiments/api/contents.md b/mkdocs/docs/experiments/api/contents.md index c06cec65207..112c4c96d9a 100644 --- a/mkdocs/docs/experiments/api/contents.md +++ b/mkdocs/docs/experiments/api/contents.md @@ -14,6 +14,6 @@ GraphQL Server Contains GraphQL Server API documentation -GraphQL Server +GraphQL Server \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.0/api.html b/mkdocs/docs/graphql/v3.10.0/api.html new file mode 100644 index 00000000000..e4054f55455 --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.0/api.html @@ -0,0 +1,17897 @@ + + + + + + + ChaosCenter API Documentation + + + + +
+ +
+
+ +
+
+

ChaosCenter API Documentation

+
+
+
+

Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.

+
+
+
+
API Endpoints
+
# Dev:
+http://localhost:8080
+# Prod:
+http://localhost:8080/query
+
+
+
+
+
+

Common Error Response

+
+
+

All error responses follow the structure outlined below.

+
{
+  "errors": [
+    {
+      "message": "Error message",
+      "path": [
+        "Request path"
+      ]
+    }
+  ],
+  "data": {}
+}
+
+

Field Descriptions:

+
    +
  • errors:
    An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
    + Type: Array

    +
      +
    • message:
      A description of the error.
      + Type: String

      +
    • +
    • path:
      Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
      + Type: Array of Strings

      +
    • +
    +
  • +
  • data:
    This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
    + Type: Object
    +
  • +
+
+
+
+
+
+
+

Queries

+
+

+ getChaosFault +

+
+
+
+
Description
+

Get the fault list from a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a FaultDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosFault(
+  $projectID: ID!,
+  $request: ExperimentRequest!
+) {
+  getChaosFault(
+    projectID: $projectID,
+    request: $request
+  ) {
+    fault
+    engine
+    csv
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ExperimentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosFault": {
+      "fault": "abc123",
+      "engine": "abc123",
+      "csv": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHub +

+
+
+
+
Description
+

Get the details of a requested ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHubStatus! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ chaosHubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHub(
+  $projectID: ID!,
+  $chaosHubID: ID!
+) {
+  getChaosHub(
+    projectID: $projectID,
+    chaosHubID: $chaosHubID
+  ) {
+    id
+    repoURL
+    repoBranch
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "chaosHubID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "isAvailable": false,
+      "totalFaults": "abc123",
+      "totalExperiments": "xyz789",
+      "name": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "abc123",
+      "isRemoved": false,
+      "sshPrivateKey": "xyz789",
+      "sshPublicKey": "abc123",
+      "lastSyncedAt": "xyz789",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "createdAt": "xyz789",
+      "updatedAt": "xyz789",
+      "description": "xyz789",
+      "isDefault": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHubStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetChaosHubStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHubStats($projectID: ID!) {
+  getChaosHubStats(projectID: $projectID) {
+    totalChaosHubs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"getChaosHubStats": {"totalChaosHubs": 123}}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  getEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "environmentID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getEnvironment": {
+      "projectID": "xyz789",
+      "environmentID": "xyz789",
+      "name": "abc123",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "abc123",
+      "isRemoved": false,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperiment +

+
+
+
+
Description
+

Returns the experiment based on experiment ID

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperiment(
+  $projectID: ID!,
+  $experimentID: String!
+) {
+  getExperiment(
+    projectID: $projectID,
+    experimentID: $experimentID
+  ) {
+    experimentDetails {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+    averageResiliencyScore
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperiment": {
+      "experimentDetails": Experiment,
+      "averageResiliencyScore": 123.45
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRun +

+
+
+
+
Description
+

Returns experiment run based on experiment run ID

+
+
+
+
+
+
+
Response
+

Returns an ExperimentRun! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - ID + +
+ notifyID - ID + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: ID,
+  $notifyID: ID
+) {
+  getExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  ) {
+    projectID
+    experimentRunID
+    experimentType
+    experimentID
+    weightages {
+      faultName
+      weightage
+    }
+    updatedAt
+    createdAt
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+    experimentName
+    experimentManifest
+    phase
+    resiliencyScore
+    faultsPassed
+    faultsFailed
+    faultsAwaited
+    faultsStopped
+    faultsNa
+    totalFaults
+    executionData
+    isRemoved
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+    notifyID
+    runSequence
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "4",
+  "notifyID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRun": {
+      "projectID": "4",
+      "experimentRunID": "4",
+      "experimentType": "abc123",
+      "experimentID": 4,
+      "weightages": [Weightages],
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "infra": Infra,
+      "experimentName": "xyz789",
+      "experimentManifest": "xyz789",
+      "phase": "All",
+      "resiliencyScore": 123.45,
+      "faultsPassed": 987,
+      "faultsFailed": 123,
+      "faultsAwaited": 123,
+      "faultsStopped": 987,
+      "faultsNa": 987,
+      "totalFaults": 123,
+      "executionData": "xyz789",
+      "isRemoved": true,
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails,
+      "notifyID": "4",
+      "runSequence": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRunStats +

+
+
+
+
Description
+

Query to get experiment run stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentRunStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRunStats($projectID: ID!) {
+  getExperimentRunStats(projectID: $projectID) {
+    totalExperimentRuns
+    totalCompletedExperimentRuns
+    totalTerminatedExperimentRuns
+    totalRunningExperimentRuns
+    totalStoppedExperimentRuns
+    totalErroredExperimentRuns
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRunStats": {
+      "totalExperimentRuns": 987,
+      "totalCompletedExperimentRuns": 987,
+      "totalTerminatedExperimentRuns": 123,
+      "totalRunningExperimentRuns": 123,
+      "totalStoppedExperimentRuns": 123,
+      "totalErroredExperimentRuns": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentStats($projectID: ID!) {
+  getExperimentStats(projectID: $projectID) {
+    totalExperiments
+    totalExpCategorizedByResiliencyScore {
+      id
+      count
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentStats": {
+      "totalExperiments": 987,
+      "totalExpCategorizedByResiliencyScore": [
+        ResilienceScoreCategory
+      ]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getGitOpsDetails +

+
+
+
+
Description
+

Returns the git configuration for gitops

+
+
+
+
+
+
+
Response
+

Returns a GitConfigResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetGitOpsDetails($projectID: ID!) {
+  getGitOpsDetails(projectID: $projectID) {
+    enabled
+    projectID
+    branch
+    repoURL
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getGitOpsDetails": {
+      "enabled": false,
+      "projectID": "abc123",
+      "branch": "abc123",
+      "repoURL": "xyz789",
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "xyz789",
+      "password": "abc123",
+      "sshPrivateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getImageRegistry +

+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetImageRegistry($projectID: String!) {
+  getImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "abc123",
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfra +

+
+
+
+
Description
+

Returns infra with a particular infraID in the project

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  getInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "infraID": "xyz789"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfra": {
+      "projectID": 4,
+      "infraID": "4",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "environmentID": "abc123",
+      "platformName": "abc123",
+      "isActive": false,
+      "isInfraConfirmed": true,
+      "isRemoved": true,
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 123,
+      "token": "xyz789",
+      "infraNamespace": "xyz789",
+      "serviceAccount": "abc123",
+      "infraScope": "xyz789",
+      "infraNsExists": true,
+      "infraSaExists": false,
+      "lastExperimentTimestamp": "abc123",
+      "startTime": "abc123",
+      "version": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraDetails +

+
+
+
+
Description
+

Returns infra details based on identifiers

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraDetails(
+  $infraID: ID!,
+  $projectID: ID!
+) {
+  getInfraDetails(
+    infraID: $infraID,
+    projectID: $projectID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "infraID": "4",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraDetails": {
+      "projectID": "4",
+      "infraID": "4",
+      "name": "abc123",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "environmentID": "xyz789",
+      "platformName": "xyz789",
+      "isActive": true,
+      "isInfraConfirmed": false,
+      "isRemoved": false,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "noOfExperiments": 987,
+      "noOfExperimentRuns": 123,
+      "token": "xyz789",
+      "infraNamespace": "abc123",
+      "serviceAccount": "abc123",
+      "infraScope": "xyz789",
+      "infraNsExists": false,
+      "infraSaExists": false,
+      "lastExperimentTimestamp": "xyz789",
+      "startTime": "xyz789",
+      "version": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraManifest +

+
+
+
+
Description
+

Returns the manifest for a given infraID

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ upgrade - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraManifest(
+  $infraID: ID!,
+  $upgrade: Boolean!,
+  $projectID: ID!
+) {
+  getInfraManifest(
+    infraID: $infraID,
+    upgrade: $upgrade,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "infraID": "4",
+  "upgrade": true,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"getInfraManifest": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetInfraStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraStats($projectID: ID!) {
+  getInfraStats(projectID: $projectID) {
+    totalInfrastructures
+    totalActiveInfrastructure
+    totalInactiveInfrastructures
+    totalConfirmedInfrastructure
+    totalNonConfirmedInfrastructures
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraStats": {
+      "totalInfrastructures": 987,
+      "totalActiveInfrastructure": 987,
+      "totalInactiveInfrastructures": 987,
+      "totalConfirmedInfrastructure": 987,
+      "totalNonConfirmedInfrastructures": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getPredefinedExperiment +

+
+
+
+
Description
+

Returns predefined experiment details of selected experiments

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ experimentName - [String!]! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetPredefinedExperiment(
+  $hubID: ID!,
+  $experimentName: [String!]!,
+  $projectID: ID!
+) {
+  getPredefinedExperiment(
+    hubID: $hubID,
+    experimentName: $experimentName,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "hubID": "4",
+  "experimentName": ["xyz789"],
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPredefinedExperiment": [
+      {
+        "experimentName": "xyz789",
+        "experimentCSV": "abc123",
+        "experimentManifest": "abc123"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbe +

+
+
+
+
Description
+

Returns a single Probe based on ProbeName and various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "probeName": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbe": {
+      "projectID": 4,
+      "name": "abc123",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 123,
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeReference +

+
+
+
+
Description
+

Returns all the reference of the Probe based on ProbeName

+
+
+
+
+
+
+
Response
+

Returns a GetProbeReferenceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeReference(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbeReference(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    totalRuns
+    recentExecutions {
+      faultName
+      mode
+      executionHistory {
+        ...ExecutionHistoryFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "probeName": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbeReference": {
+      "projectID": 4,
+      "name": "xyz789",
+      "totalRuns": 123,
+      "recentExecutions": [RecentExecutions]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeYAML +

+
+
+
+
Description
+

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - GetProbeYAMLRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeYAML(
+  $projectID: ID!,
+  $request: GetProbeYAMLRequest!
+) {
+  getProbeYAML(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": GetProbeYAMLRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"getProbeYAML": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbesInExperimentRun +

+
+
+
+
Description
+

Returns all the Probes attached to the requested Experiment Run

+
+
+
+
+
+
+
Response
+

Returns [GetProbesInExperimentRunResponse]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - String! + +
+ faultName - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbesInExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: String!,
+  $faultName: String!
+) {
+  getProbesInExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    faultName: $faultName
+  ) {
+    probe {
+      projectID
+      name
+      description
+      tags
+      type
+      infrastructureType
+      kubernetesHTTPProperties {
+        ...KubernetesHTTPProbeFragment
+      }
+      kubernetesCMDProperties {
+        ...KubernetesCMDProbeFragment
+      }
+      k8sProperties {
+        ...K8SProbeFragment
+      }
+      promProperties {
+        ...PROMProbeFragment
+      }
+      recentExecutions {
+        ...ProbeRecentExecutionsFragment
+      }
+      referencedBy
+      updatedAt
+      createdAt
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+    }
+    mode
+    status {
+      verdict
+      description
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "abc123",
+  "faultName": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbesInExperimentRun": [
+      {
+        "probe": Probe,
+        "mode": "SOT",
+        "status": Status
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getServerVersion +

+
+
+
+
Description
+

Returns version of gql server

+
+
+
+
+
+
+
Response
+

Returns a ServerVersionResponse! +

+
+
+
+

Example

+
+
Query
+ + +
query GetServerVersion {
+  getServerVersion {
+    key
+    value
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getServerVersion": {
+      "key": "abc123",
+      "value": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getVersionDetails +

+
+
+
+
Description
+

Query to get the latest version of infra available

+
+
+
+
+
+
+
Response
+

Returns an InfraVersionDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetVersionDetails($projectID: ID!) {
+  getVersionDetails(projectID: $projectID) {
+    latestVersion
+    compatibleVersions
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getVersionDetails": {
+      "latestVersion": "abc123",
+      "compatibleVersions": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosFaults +

+
+
+
+
Description
+

List the Charts details of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [Chart!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosFaults(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listChaosFaults(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    apiVersion
+    kind
+    metadata {
+      name
+      version
+      annotations {
+        ...AnnotationFragment
+      }
+    }
+    spec {
+      displayName
+      categoryDescription
+      keywords
+      maturity
+      maintainers {
+        ...MaintainerFragment
+      }
+      minKubeVersion
+      provider {
+        ...ProviderFragment
+      }
+      links {
+        ...LinkFragment
+      }
+      faults {
+        ...FaultListFragment
+      }
+      experiments
+      chaosExpCRDLink
+      platforms
+      chaosType
+    }
+    packageInfo {
+      packageName
+      experiments {
+        ...ExperimentsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "hubID": "4",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosFaults": [
+      {
+        "apiVersion": "abc123",
+        "kind": "abc123",
+        "metadata": Metadata,
+        "spec": Spec,
+        "packageInfo": PackageInformation
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosHub +

+
+
+
+
Description
+

Lists all the connected ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [ChaosHubStatus]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListChaosHubRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosHub(
+  $projectID: ID!,
+  $request: ListChaosHubRequest
+) {
+  listChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosHub": [
+      {
+        "id": "4",
+        "repoURL": "abc123",
+        "repoBranch": "abc123",
+        "isAvailable": true,
+        "totalFaults": "xyz789",
+        "totalExperiments": "xyz789",
+        "name": "xyz789",
+        "hubType": "GIT",
+        "isPrivate": true,
+        "authType": "BASIC",
+        "token": "xyz789",
+        "userName": "xyz789",
+        "password": "xyz789",
+        "isRemoved": false,
+        "sshPrivateKey": "abc123",
+        "sshPublicKey": "abc123",
+        "lastSyncedAt": "abc123",
+        "tags": ["abc123"],
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "createdAt": "xyz789",
+        "updatedAt": "xyz789",
+        "description": "abc123",
+        "isDefault": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listEnvironments +

+
+
+
+
Response
+

Returns a ListEnvironmentResponse +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListEnvironments(
+  $projectID: ID!,
+  $request: ListEnvironmentRequest
+) {
+  listEnvironments(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfEnvironments
+    environments {
+      projectID
+      environmentID
+      name
+      description
+      tags
+      type
+      createdAt
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      updatedAt
+      isRemoved
+      infraIDs
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listEnvironments": {
+      "totalNoOfEnvironments": 123,
+      "environments": [Environment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperiment +

+
+
+
+
Description
+

Returns the list of experiments based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperiment(
+  $projectID: ID!,
+  $request: ListExperimentRequest!
+) {
+  listExperiment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperiments
+    experiments {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperiment": {
+      "totalNoOfExperiments": 987,
+      "experiments": [Experiment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperimentRun +

+
+
+
+
Description
+

Returns the list of experiment run based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentRunResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperimentRun(
+  $projectID: ID!,
+  $request: ListExperimentRunRequest!
+) {
+  listExperimentRun(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperimentRuns
+    experimentRuns {
+      projectID
+      experimentRunID
+      experimentType
+      experimentID
+      weightages {
+        ...WeightagesFragment
+      }
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      experimentName
+      experimentManifest
+      phase
+      resiliencyScore
+      faultsPassed
+      faultsFailed
+      faultsAwaited
+      faultsStopped
+      faultsNa
+      totalFaults
+      executionData
+      isRemoved
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+      notifyID
+      runSequence
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRunRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperimentRun": {
+      "totalNoOfExperimentRuns": 987,
+      "experimentRuns": [ExperimentRun]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listImageRegistry +

+
+
+
+
Response
+

Returns [ImageRegistryResponse!] +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListImageRegistry($projectID: String!) {
+  listImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listImageRegistry": [
+      {
+        "isDefault": false,
+        "imageRegistryInfo": ImageRegistry,
+        "imageRegistryID": "xyz789",
+        "projectID": "xyz789",
+        "updatedAt": "abc123",
+        "createdAt": "abc123",
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "isRemoved": true
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listInfras +

+
+
+
+
Description
+

Returns infras with a particular infra type in the project

+
+
+
+
+
+
+
Response
+

Returns a ListInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListInfraRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListInfras(
+  $projectID: ID!,
+  $request: ListInfraRequest
+) {
+  listInfras(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfInfras
+    infras {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listInfras": {
+      "totalNoOfInfras": 123,
+      "infras": [Infra]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listPredefinedExperiments +

+
+
+
+
Description
+

List the PredefinedExperiments present in the hub

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListPredefinedExperiments(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listPredefinedExperiments(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listPredefinedExperiments": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "abc123",
+        "experimentManifest": "xyz789"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listProbes +

+
+
+
+
Description
+

Returns the list of Probes based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns [Probe]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infrastructureType - InfrastructureType + +
+ probeNames - [ID!] + +
+ filter - ProbeFilterInput + +
+
+
+
+

Example

+
+
Query
+ + +
query ListProbes(
+  $projectID: ID!,
+  $infrastructureType: InfrastructureType,
+  $probeNames: [ID!],
+  $filter: ProbeFilterInput
+) {
+  listProbes(
+    projectID: $projectID,
+    infrastructureType: $infrastructureType,
+    probeNames: $probeNames,
+    filter: $filter
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": 4,
+  "infrastructureType": "Kubernetes",
+  "probeNames": [4],
+  "filter": ProbeFilterInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listProbes": [
+      {
+        "projectID": 4,
+        "name": "xyz789",
+        "description": "xyz789",
+        "tags": ["abc123"],
+        "type": "httpProbe",
+        "infrastructureType": "Kubernetes",
+        "kubernetesHTTPProperties": KubernetesHTTPProbe,
+        "kubernetesCMDProperties": KubernetesCMDProbe,
+        "k8sProperties": K8SProbe,
+        "promProperties": PROMProbe,
+        "recentExecutions": [ProbeRecentExecutions],
+        "referencedBy": 987,
+        "updatedAt": "xyz789",
+        "createdAt": "xyz789",
+        "updatedBy": UserDetails,
+        "createdBy": UserDetails
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ validateUniqueProbe +

+
+
+
+
Description
+

Validates if a probe is already present, returns true if unique

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ValidateUniqueProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  validateUniqueProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "probeName": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"validateUniqueProbe": true}}
+
+ + +
+
+
+
+

Mutations

+
+

+ addChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (includes the git clone operation)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  addChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "projectID": 4,
+      "isDefault": true,
+      "name": "xyz789",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "abc123",
+      "isRemoved": true,
+      "createdAt": "xyz789",
+      "updatedAt": "xyz789",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addProbe +

+
+
+
+
Description
+

Creates a new Probe

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  addProbe(
+    request: $request,
+    projectID: $projectID
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ProbeRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addProbe": {
+      "projectID": "4",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["xyz789"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 123,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addRemoteChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (remote hub download)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateRemoteChaosHub! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddRemoteChaosHub(
+  $projectID: ID!,
+  $request: CreateRemoteChaosHub!
+) {
+  addRemoteChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateRemoteChaosHub}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addRemoteChaosHub": {
+      "id": 4,
+      "repoURL": "abc123",
+      "repoBranch": "abc123",
+      "projectID": 4,
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "xyz789",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": true,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ chaosExperimentRun +

+
+
+
+
Description
+

Creates a new experiment run and sends it to subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - ExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ChaosExperimentRun($request: ExperimentRunRequest!) {
+  chaosExperimentRun(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": ExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"chaosExperimentRun": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ confirmInfraRegistration +

+
+
+
+
Description
+

Confirms the subscriber's registration with the control plane

+
+
+
+
+
+
+
Response
+

Returns a ConfirmInfraRegistrationResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ConfirmInfraRegistration($request: InfraIdentity!) {
+  confirmInfraRegistration(request: $request) {
+    isInfraConfirmed
+    newAccessKey
+    infraID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "confirmInfraRegistration": {
+      "isInfraConfirmed": true,
+      "newAccessKey": "xyz789",
+      "infraID": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createChaosExperiment +

+
+
+
+
Description
+

Creates a new experiment and applies its manifest

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  createChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": "4",
+      "cronSyntax": "xyz789",
+      "experimentName": "abc123",
+      "experimentDescription": "abc123",
+      "isCustomExperiment": false,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateEnvironment(
+  $projectID: ID!,
+  $request: CreateEnvironmentRequest
+) {
+  createEnvironment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createEnvironment": {
+      "projectID": "xyz789",
+      "environmentID": "xyz789",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "xyz789",
+      "isRemoved": false,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createImageRegistry +

+
+
+
+
Description
+

Create an Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateImageRegistry(
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  createImageRegistry(
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "abc123",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createImageRegistry": {
+      "isDefault": true,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "xyz789",
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosExperiment +

+
+
+
+
Description
+

Removes a experiment from infra

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ experimentRunID - String + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosExperiment(
+  $experimentID: String!,
+  $experimentRunID: String,
+  $projectID: ID!
+) {
+  deleteChaosExperiment(
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "abc123",
+  "experimentRunID": "xyz789",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosExperiment": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosHub +

+
+
+
+
Description
+

Delete the ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ hubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosHub(
+  $projectID: ID!,
+  $hubID: ID!
+) {
+  deleteChaosHub(
+    projectID: $projectID,
+    hubID: $hubID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "hubID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosHub": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  deleteEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "environmentID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteEnvironment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteImageRegistry +

+
+
+
+
Description
+

Delete the Image Registry

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!
+) {
+  deleteImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteImageRegistry": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteInfra +

+
+
+
+
Description
+

Disconnects an infra and deletes its configuration from the control plane

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  deleteInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteInfra": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteProbe +

+
+
+
+
Description
+

Delete a Probe

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ probeName - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteProbe(
+  $probeName: ID!,
+  $projectID: ID!
+) {
+  deleteProbe(
+    probeName: $probeName,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "probeName": "4",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteProbe": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ disableGitOps +

+
+
+
+
Description
+

Disables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DisableGitOps($projectID: ID!) {
+  disableGitOps(projectID: $projectID)
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"disableGitOps": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ enableGitOps +

+
+
+
+
Description
+

Enables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation EnableGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  enableGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"enableGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ generateSSHKey +

+
+
+
+
Description
+

Generates Private and Public key for SSH authentication

+
+
+
+
+
+
+
Response
+

Returns an SSHKey! +

+
+
+
+

Example

+
+
Query
+ + +
mutation GenerateSSHKey {
+  generateSSHKey {
+    publicKey
+    privateKey
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "generateSSHKey": {
+      "publicKey": "xyz789",
+      "privateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ getManifestWithInfraID +

+
+
+
+
Description
+

Fetches manifest details

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+ accessKey - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GetManifestWithInfraID(
+  $projectID: ID!,
+  $infraID: String!,
+  $accessKey: String!
+) {
+  getManifestWithInfraID(
+    projectID: $projectID,
+    infraID: $infraID,
+    accessKey: $accessKey
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "xyz789",
+  "accessKey": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getManifestWithInfraID": "xyz789"
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ gitopsNotifier +

+
+
+
+
Description
+

Sends workflow run request(single run workflow only) to agent on gitops notification

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ clusterInfo - InfraIdentity! + +
+ experimentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GitopsNotifier(
+  $clusterInfo: InfraIdentity!,
+  $experimentID: ID!
+) {
+  gitopsNotifier(
+    clusterInfo: $clusterInfo,
+    experimentID: $experimentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"clusterInfo": InfraIdentity, "experimentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"gitopsNotifier": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeObj +

+
+
+
+
Description
+

Receives kubernetes object data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeObj($request: KubeObjectData!) {
+  kubeObj(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeObj": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ podLog +

+
+
+
+
Description
+

Receives pod logs for experiments from infra

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLog! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation PodLog($request: PodLog!) {
+  podLog(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLog}
+
+ + +
+
+
Response
+ + +
{"data": {"podLog": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ registerInfra +

+
+
+
+
Description
+

Connect a new infra for a user in a specified project

+
+
+
+
+
+
+
Response
+

Returns a RegisterInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - RegisterInfraRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RegisterInfra(
+  $projectID: ID!,
+  $request: RegisterInfraRequest!
+) {
+  registerInfra(
+    projectID: $projectID,
+    request: $request
+  ) {
+    token
+    infraID
+    name
+    manifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": RegisterInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "registerInfra": {
+      "token": "abc123",
+      "infraID": "xyz789",
+      "name": "abc123",
+      "manifest": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ runChaosExperiment +

+
+
+
+
Description
+

Run the chaos experiment (used by frontend)

+
+
+
+
+
+
+
Response
+

Returns a RunChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RunChaosExperiment(
+  $experimentID: String!,
+  $projectID: ID!
+) {
+  runChaosExperiment(
+    experimentID: $experimentID,
+    projectID: $projectID
+  ) {
+    notifyID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "abc123",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"runChaosExperiment": {"notifyID": 4}}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosExperiment +

+
+
+
+
Description
+

Saves a new experiment or updates if already exists

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - SaveChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosExperiment(
+  $request: SaveChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  saveChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": SaveChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"saveChaosExperiment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosHub +

+
+
+
+
Description
+

Save a ChaosHub configuration without cloning it

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  saveChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "saveChaosHub": {
+      "id": "4",
+      "repoURL": "abc123",
+      "repoBranch": "xyz789",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "xyz789",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ stopExperimentRuns +

+
+
+
+
Description
+

stopExperiment will halt all the ongoing runs of a particular experiment

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+ experimentRunID - String + +
+ notifyID - String + +
+
+
+
+

Example

+
+
Query
+ + +
mutation StopExperimentRuns(
+  $projectID: ID!,
+  $experimentID: String!,
+  $experimentRunID: String,
+  $notifyID: String
+) {
+  stopExperimentRuns(
+    projectID: $projectID,
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "abc123",
+  "experimentRunID": "abc123",
+  "notifyID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"stopExperimentRuns": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ syncChaosHub +

+
+
+
+
Description
+

Sync changes from the Git repository of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ id - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SyncChaosHub(
+  $id: ID!,
+  $projectID: ID!
+) {
+  syncChaosHub(
+    id: $id,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"id": "4", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"syncChaosHub": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosExperiment +

+
+
+
+
Description
+

Updates the experiment

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  updateChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": 4,
+      "cronSyntax": "abc123",
+      "experimentName": "abc123",
+      "experimentDescription": "xyz789",
+      "isCustomExperiment": true,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosHub +

+
+
+
+
Description
+

Update the configuration of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosHub(
+  $projectID: ID!,
+  $request: UpdateChaosHubRequest!
+) {
+  updateChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": UpdateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateCronExperimentState +

+
+
+
+
Description
+

Enable/Disable cron experiment state

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ disable - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateCronExperimentState(
+  $experimentID: String!,
+  $disable: Boolean!,
+  $projectID: ID!
+) {
+  updateCronExperimentState(
+    experimentID: $experimentID,
+    disable: $disable,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "abc123",
+  "disable": false,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateCronExperimentState": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateEnvironment(
+  $projectID: ID!,
+  $request: UpdateEnvironmentRequest
+) {
+  updateEnvironment(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": UpdateEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateEnvironment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateGitOps +

+
+
+
+
Description
+

Updates gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  updateGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "configurations": GitConfig
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateImageRegistry +

+
+
+
+
Description
+

Update the Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  updateImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "abc123",
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateProbe +

+
+
+
+
Description
+

Update the configuration of a Probe

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  updateProbe(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ProbeRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateProbe": "xyz789"}}
+
+ + +
+
+
+
+

Subscriptions

+
+

+ getInfraEvents +

+
+
+
+
Description
+

Listens infra events from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraEventResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetInfraEvents($projectID: String!) {
+  getInfraEvents(projectID: $projectID) {
+    eventID
+    eventType
+    eventName
+    description
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "xyz789"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraEvents": {
+      "eventID": "4",
+      "eventType": "abc123",
+      "eventName": "xyz789",
+      "description": "xyz789",
+      "infra": Infra
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeObject +

+
+
+
+
Description
+

Returns a kubernetes object given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeObjectResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeObject($request: KubeObjectRequest!) {
+  getKubeObject(request: $request) {
+    infraID
+    kubeObj {
+      namespace
+      data {
+        ...ObjectDataFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeObject": {
+      "infraID": "4",
+      "kubeObj": [KubeObject]
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getPodLog +

+
+
+
+
Description
+

Returns experiment logs from the pods

+
+
+
+
+
+
+
Response
+

Returns a PodLogResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLogRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetPodLog($request: PodLogRequest!) {
+  getPodLog(request: $request) {
+    experimentRunID
+    podName
+    podType
+    log
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLogRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPodLog": {
+      "experimentRunID": "4",
+      "podName": "xyz789",
+      "podType": "xyz789",
+      "log": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ infraConnect +

+
+
+
+
Description
+

Listens infra operation request from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraActionResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription InfraConnect($request: InfraIdentity!) {
+  infraConnect(request: $request) {
+    projectID
+    action {
+      requestID
+      requestType
+      k8sManifest
+      namespace
+      externalData
+      username
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "infraConnect": {
+      "projectID": "abc123",
+      "action": ActionPayload
+    }
+  }
+}
+
+ + +
+
+
+
+

Types

+
+

ActionPayload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
requestID - String! + +
requestType - String! + +
k8sManifest - String! + +
namespace - String! + +
externalData - String + +
username - String + +
+
+
+
+
+
Example
+ + +
{
+  "requestID": "abc123",
+  "requestType": "xyz789",
+  "k8sManifest": "xyz789",
+  "namespace": "xyz789",
+  "externalData": "abc123",
+  "username": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Annotation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
categories - String! + +
vendor - String! + +
createdAt - String! + +
repository - String! + +
support - String! + +
chartDescription - String! + +
+
+
+
+
+
Example
+ + +
{
+  "categories": "abc123",
+  "vendor": "abc123",
+  "createdAt": "xyz789",
+  "repository": "xyz789",
+  "support": "xyz789",
+  "chartDescription": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Audit

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
updatedAt - String + +
createdAt - String + +
updatedBy - UserDetails + +
createdBy - UserDetails + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audit Types
+

ExperimentRun

+
+

RecentExperimentRun

+
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

ImageRegistryResponse

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

AuthType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

BASIC

+
+
+

NONE

+
+
+

SSH

+
+
+

TOKEN

+
+
+
+
+
+
+
Example
+ + +
"BASIC"
+
+ + +
+
+
+
+
+
+ Types +
+

Boolean

+
+
+
+
Description
+

The Boolean scalar type represents true or false.

+
+
+
+
+
Example
+ + +
true
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String + ID of the experiment
+ runExperiment - Boolean + Boolean check indicating if the created scenario will be executed or not
+ experimentManifest - String! + Manifest of the experiment
+ experimentType - ExperimentType + Type of the experiment
+ cronSyntax - String! + Cron syntax of the experiment schedule
+ experimentName - String! + Name of the experiment
+ experimentDescription - String! + Description of the experiment
+ weightages - [WeightagesInput!]! + Array containing weightage and name of each chaos experiment in the experiment
+ isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
+ infraID - ID! + ID of the target infra in which the experiment will run
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "runExperiment": true,
+  "experimentManifest": "xyz789",
+  "experimentType": "All",
+  "cronSyntax": "xyz789",
+  "experimentName": "xyz789",
+  "experimentDescription": "abc123",
+  "weightages": [WeightagesInput],
+  "isCustomExperiment": false,
+  "infraID": "4",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentResponse

+
+
+
+
Description
+

Defines the response received for querying the details of chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + ID of the experiment
projectID - ID! + +
cronSyntax - String! + Cron syntax of the experiment schedule
experimentName - String! + Name of the experiment
experimentDescription - String! + Description of the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "projectID": 4,
+  "cronSyntax": "xyz789",
+  "experimentName": "abc123",
+  "experimentDescription": "xyz789",
+  "isCustomExperiment": false,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the chaos hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
projectID - ID! + ID of the project in which the chaos hub is present
isDefault - Boolean! + Default Hub Identifier
name - String! + Name of the chaos hub
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
description - String + Description of ChaosHub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
isRemoved - Boolean! + Bool value indicating if the chaos hub is removed
createdAt - String! + Timestamp when the chaos hub was created
updatedAt - String! + Timestamp when the chaos hub was last updated
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "abc123",
+  "repoBranch": "xyz789",
+  "projectID": "4",
+  "isDefault": true,
+  "name": "abc123",
+  "tags": ["abc123"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "description": "abc123",
+  "hubType": "GIT",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789",
+  "isRemoved": true,
+  "createdAt": "xyz789",
+  "updatedAt": "abc123",
+  "lastSyncedAt": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubFilterInput

+
+
+
+
Description
+

Defines filter options for ChaosHub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubName - String + Name of the ChaosHub
+ tags - [String!] + Tags of a chaos hub
+ description - String + Description of a chaos hub
+
+
+
+
+
Example
+ + +
{
+  "chaosHubName": "abc123",
+  "tags": ["abc123"],
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubStatus

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
isAvailable - Boolean! + Bool value indicating whether the hub is available or not.
totalFaults - String! + Total number of experiments in the hub
totalExperiments - String! + Total experiments
name - String! + Name of the chaos hub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
isRemoved - Boolean! + Bool value indicating whether the hub is private or not.
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
sshPublicKey - String + Public SSH key for authenticating into private chaos hub
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
createdAt - String! + Created at timestamp
updatedAt - String! + Updated at timestamp
description - String + Description of ChaosHub
isDefault - Boolean! + Default Hub Identifier
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "xyz789",
+  "repoBranch": "xyz789",
+  "isAvailable": true,
+  "totalFaults": "xyz789",
+  "totalExperiments": "abc123",
+  "name": "abc123",
+  "hubType": "GIT",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "abc123",
+  "isRemoved": true,
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "abc123",
+  "lastSyncedAt": "abc123",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "createdAt": "xyz789",
+  "updatedAt": "xyz789",
+  "description": "abc123",
+  "isDefault": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Chart

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
apiVersion - String! + +
kind - String! + +
metadata - Metadata! + +
spec - Spec! + +
packageInfo - PackageInformation! + +
+
+
+
+
+
Example
+ + +
{
+  "apiVersion": "xyz789",
+  "kind": "abc123",
+  "metadata": Metadata,
+  "spec": Spec,
+  "packageInfo": PackageInformation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CommonProbeProperties

+
+
+
+
Description
+

Defines the common probe properties shared across different ProbeTypes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + +
CommonProbeProperties Types
+

KubernetesCMDProbe

+
+

PROMProbe

+
+

KubernetesHTTPProbe

+
+

K8SProbe

+
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Comparator

+
+
+
+
Description
+

Defines the properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
type - String! + Type of the Comparator
value - String! + Value of the Comparator
criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "abc123",
+  "value": "abc123",
+  "criteria": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ComparatorInput

+
+
+
+
Description
+

Defines the input properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ type - String! + Type of the Comparator
+ value - String! + Value of the Comparator
+ criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "xyz789",
+  "value": "xyz789",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ConfirmInfraRegistrationResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isInfraConfirmed - Boolean! + +
newAccessKey - String + +
infraID - String + +
+
+
+
+
+
Example
+ + +
{
+  "isInfraConfirmed": false,
+  "newAccessKey": "xyz789",
+  "infraID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateChaosHubRequest

+
+
+
+
Description
+

Defines the details required for creating a chaos hub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "tags": ["xyz789"],
+  "description": "abc123",
+  "repoURL": "xyz789",
+  "repoBranch": "xyz789",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "abc123",
+  "sshPrivateKey": "abc123",
+  "sshPublicKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String! + +
+ type - EnvironmentType! + +
+ description - String + +
+ tags - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "abc123",
+  "type": "PROD",
+  "description": "abc123",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateRemoteChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "tags": ["abc123"],
+  "description": "abc123",
+  "repoURL": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

DateRange

+
+
+
+
Description
+

Defines the start date and end date for the filtering the data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ startDate - String! + Start date
+ endDate - String + End date
+
+
+
+
+
Example
+ + +
{
+  "startDate": "abc123",
+  "endDate": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Environment

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
environmentID - String! + +
name - String! + +
description - String + +
tags - [String!] + +
type - EnvironmentType! + +
createdAt - String! + +
createdBy - UserDetails + +
updatedBy - UserDetails + +
updatedAt - String! + +
isRemoved - Boolean + +
infraIDs - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "xyz789",
+  "environmentID": "abc123",
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "type": "PROD",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "updatedAt": "xyz789",
+  "isRemoved": false,
+  "infraIDs": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the environment
+ description - String + ID of the environment
+ type - EnvironmentType + Type name of environment
+ tags - [String!] + Tags of an environment
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "description": "xyz789",
+  "type": "PROD",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - EnvironmentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

PROD

+
+
+

NON_PROD

+
+
+
+
+
+
+
Example
+ + +
"PROD"
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutedByExperiment

+
+
+
+
Description
+

Defines the Executed by which experiment details for Probes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + Experiment ID
experimentName - String! + Experiment Name
updatedAt - Int! + Timestamp at which the experiment was last updated
updatedBy - UserDetails + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "experimentName": "xyz789",
+  "updatedAt": 123,
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutionHistory

+
+
+
+
Description
+

Defines the Execution History of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
mode - Mode! + Probe Mode
faultName - String! + Fault Name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "mode": "SOT",
+  "faultName": "abc123",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Experiment

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentID - String! + ID of the experiment
experimentType - String + Type of the experiment
experimentManifest - String! + Manifest of the experiment
cronSyntax - String! + Cron syntax of the experiment schedule
name - String! + Name of the experiment
description - String! + Description of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
infra - Infra + Target infra in which the experiment will run
isRemoved - Boolean! + Bool value indicating if the experiment has removed
tags - [String!] + Tags of the experiment
createdBy - UserDetails + User who created the experiment
recentExperimentRunDetails - [RecentExperimentRun] + Array of object containing details of recent experiment runs
updatedBy - UserDetails + Details of the user who updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "experimentID": "xyz789",
+  "experimentType": "abc123",
+  "experimentManifest": "abc123",
+  "cronSyntax": "abc123",
+  "name": "xyz789",
+  "description": "abc123",
+  "weightages": [Weightages],
+  "isCustomExperiment": true,
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "infra": Infra,
+  "isRemoved": false,
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "recentExperimentRunDetails": [RecentExperimentRun],
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentFilterInput

+
+
+
+
Description
+

Defines filter options for experiments

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraName - String + Name of the infra in which the experiment is running
+ infraID - String + ID of the infra in which the experiment is running
+ infraActive - Boolean + Bool value indicating if Chaos Infrastructure is active
+ scheduleType - ScheduleType + Scenario type of the experiment i.e. CRON or NON_CRON
+ status - String + Status of the latest experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraName": "abc123",
+  "infraID": "abc123",
+  "infraActive": true,
+  "scheduleType": "CRON",
+  "status": "abc123",
+  "dateRange": DateRange,
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ category - String! + Name of the chart being used
+ experimentName - String! + Name of the experiment
+ hubID - String! + ID of the hub
+
+
+
+
+
Example
+ + +
{
+  "category": "xyz789",
+  "experimentName": "abc123",
+  "hubID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRun

+
+
+
+
Description
+

Defines the details of a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentRunID - ID! + ID of the experiment run which is to be queried
experimentType - String + Type of the experiment
experimentID - ID! + ID of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
updatedAt - String! + Timestamp at which experiment run was last updated
createdAt - String! + Timestamp at which experiment run was created
infra - Infra! + Target infra in which the experiment will run
experimentName - String! + Name of the experiment
experimentManifest - String! + Manifest of the experiment run
phase - ExperimentRunStatus! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
faultsPassed - Int + Number of faults passed
faultsFailed - Int + Number of faults failed
faultsAwaited - Int + Number of faults awaited
faultsStopped - Int + Number of faults stopped
faultsNa - Int + Number of faults which are not available
totalFaults - Int + Total number of faults
executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the faults
isRemoved - Boolean + Bool value indicating if the experiment run has removed
updatedBy - UserDetails + User who has updated the experiment
createdBy - UserDetails + User who has created the experiment run
notifyID - ID + Notify ID of the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "experimentRunID": 4,
+  "experimentType": "xyz789",
+  "experimentID": 4,
+  "weightages": [Weightages],
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "infra": Infra,
+  "experimentName": "xyz789",
+  "experimentManifest": "xyz789",
+  "phase": "All",
+  "resiliencyScore": 123.45,
+  "faultsPassed": 987,
+  "faultsFailed": 987,
+  "faultsAwaited": 123,
+  "faultsStopped": 123,
+  "faultsNa": 987,
+  "totalFaults": 123,
+  "executionData": "abc123",
+  "isRemoved": false,
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails,
+  "notifyID": 4,
+  "runSequence": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunFilterInput

+
+
+
+
Description
+

Defines input type for experiment run filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraID - String + Name of the infra infra
+ experimentType - ScheduleType + Type of the experiment
+ experimentStatus - ExperimentRunStatus + Status of the experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ experimentRunID - String + ID of experiment run
+ experimentRunStatus - [String] + Array of experiment run status
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraID": "abc123",
+  "experimentType": "CRON",
+  "experimentStatus": "All",
+  "dateRange": DateRange,
+  "experimentRunID": "abc123",
+  "experimentRunStatus": ["abc123"],
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunRequest

+
+
+
+
Description
+

Defines the details for a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String! + ID of the experiment
+ notifyID - String + notifyID is required to give an ack for non cron experiment execution
+ experimentRunID - String! + ID of the experiment run which is to be queried
+ experimentName - String! + Name of the experiment
+ executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the experiments
+ infraID - InfraIdentity! + ID of the infra infra in which the experiment is running
+ revisionID - String! + ID of the revision which consists manifest details
+ completed - Boolean! + Bool value indicating if the experiment run has completed
+ isRemoved - Boolean + Bool value indicating if the experiment run has removed
+ updatedBy - String! + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "notifyID": "abc123",
+  "experimentRunID": "xyz789",
+  "experimentName": "abc123",
+  "executionData": "abc123",
+  "infraID": InfraIdentity,
+  "revisionID": "abc123",
+  "completed": false,
+  "isRemoved": false,
+  "updatedBy": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunSortInput

+
+
+
+
Description
+

Defines sorting options for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunStatus

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Running

+
+
+

Completed

+
+
+

Completed_With_Error

+
+
+

Stopped

+
+
+

Skipped

+
+
+

Error

+
+
+

Timeout

+
+
+

Terminated

+
+
+

Queued

+
+
+

NA

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": false}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Experiment

+
+
+

CronExperiment

+
+
+

ChaosEngine

+
+
+

ChaosSchedule

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

Experiments

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
CSV - String! + +
desc - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "CSV": "xyz789",
+  "desc": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultDetails

+
+
+
+
Description
+

Fault Detail consists of all the fault related details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
fault - String! + fault consists of fault.yaml
engine - String! + engine consists engine.yaml
csv - String! + csv consists chartserviceversion.yaml
+
+
+
+
+
Example
+ + +
{
+  "fault": "abc123",
+  "engine": "xyz789",
+  "csv": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
displayName - String! + +
description - String! + +
plan - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "displayName": "abc123",
+  "description": "abc123",
+  "plan": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Float

+
+
+
+
Description
+

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

+
+
+
+
+
Example
+ + +
123.45
+
+ + +
+
+
+
+
+
+ Types +
+

GET

+
+
+
+
Description
+

Details of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "xyz789",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GETRequest

+
+
+
+
Description
+

Details for input of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetChaosHubStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
totalChaosHubs - Int! + Total number of chaoshubs
+
+
+
+
+
Example
+ + +
{"totalChaosHubs": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentResponse

+
+
+
+
Description
+

Defines the details for a given experiment with some additional data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
experimentDetails - Experiment! + Details of experiment
averageResiliencyScore - Float + Average resiliency score of the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentDetails": Experiment,
+  "averageResiliencyScore": 987.65
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentRunStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperimentRuns - Int! + Total number of experiment runs
totalCompletedExperimentRuns - Int! + Total number of completed experiments runs
totalTerminatedExperimentRuns - Int! + Total number of stopped experiment runs
totalRunningExperimentRuns - Int! + Total number of running experiment runs
totalStoppedExperimentRuns - Int! + Total number of stopped experiment runs
totalErroredExperimentRuns - Int! + Total number of errored experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalExperimentRuns": 123,
+  "totalCompletedExperimentRuns": 987,
+  "totalTerminatedExperimentRuns": 123,
+  "totalRunningExperimentRuns": 123,
+  "totalStoppedExperimentRuns": 987,
+  "totalErroredExperimentRuns": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperiments - Int! + Total number of experiments
totalExpCategorizedByResiliencyScore - [ResilienceScoreCategory]! + Total number of cron experiments
+
+
+
+
+
Example
+ + +
{
+  "totalExperiments": 987,
+  "totalExpCategorizedByResiliencyScore": [
+    ResilienceScoreCategory
+  ]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetInfraStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalInfrastructures - Int! + Total number of infrastructures
totalActiveInfrastructure - Int! + Total number of active infrastructures
totalInactiveInfrastructures - Int! + Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! + Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! + Total number of non confirmed infrastructures
+
+
+
+
+
Example
+ + +
{
+  "totalInfrastructures": 987,
+  "totalActiveInfrastructure": 123,
+  "totalInactiveInfrastructures": 123,
+  "totalConfirmedInfrastructure": 987,
+  "totalNonConfirmedInfrastructures": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeReferenceResponse

+
+
+
+
Description
+

Defines the response of the Probe reference API

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
totalRuns - Int! + Total Runs
recentExecutions - [RecentExecutions]! + Recent Executions of the probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "abc123",
+  "totalRuns": 987,
+  "recentExecutions": [RecentExecutions]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeYAMLRequest

+
+
+
+
Description
+

Defines the input requests for GetProbeYAML query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeName - ID! + Probe name of the probe
+ mode - Mode! + Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
+
+
+
+
+
Example
+ + +
{"probeName": 4, "mode": "SOT"}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbesInExperimentRunResponse

+
+
+
+
Description
+

Defines the response for Get Probe In Experiment Run Query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probe - Probe! + Probe Object
mode - Mode! + Mode of the probe
status - Status! + Status of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probe": Probe,
+  "mode": "SOT",
+  "status": Status
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfig

+
+
+
+
Description
+

Details of setting a Git repository

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ branch - String! + Git branch where the chaos charts will be pushed and synced
+ repoURL - String! + URL of the Git repository
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token used for private repository
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "branch": "abc123",
+  "repoURL": "abc123",
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfigResponse

+
+
+
+
Description
+

Response received after configuring GitOps

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
enabled - Boolean! + Bool value indicating whether GitOps is enabled or not
projectID - String! + ID of the project where GitOps is configured
branch - String + Git branch where the chaos charts will be pushed and synced
repoURL - String + URL of the Git repository
authType - AuthType + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token used for private repository
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "enabled": true,
+  "projectID": "abc123",
+  "branch": "abc123",
+  "repoURL": "xyz789",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

HubType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

GIT

+
+
+

REMOTE

+
+
+
+
+
+
+
Example
+ + +
"GIT"
+
+ + +
+
+
+
+
+
+ Types +
+

ID

+
+
+
+
Description
+

The ID scalar type represents a unique identifier, 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 "4") or integer (such as 4) input value will be accepted as an ID.

+
+
+
+
+
Example
+ + +
4
+
+ + +
+
+
+
+
+
+ Types +
+

INFRA_SCOPE

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

namespace

+
+
+

cluster

+
+
+
+
+
+
+
Example
+ + +
"namespace"
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistry

+
+
+
+
Description
+

Defines details for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryName - String! + Name of Image Registry
imageRepoName - String! + Name of image repository
imageRegistryType - String! + Type of the image registry: public/private
secretName - String + Secret which is used for private registry
secretNamespace - String + Namespace where the secret is available
enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryName": "abc123",
+  "imageRepoName": "xyz789",
+  "imageRegistryType": "xyz789",
+  "secretName": "abc123",
+  "secretNamespace": "xyz789",
+  "enableRegistry": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryInput

+
+
+
+
Description
+

Defines input data for querying the details of an image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
+ imageRegistryName - String! + Name of Image Registry
+ imageRepoName - String! + Name of image repository
+ imageRegistryType - String! + Type of the image registry: public/private
+ secretName - String + Secret which is used for private registry
+ secretNamespace - String + Namespace where the secret is available
+ enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryName": "xyz789",
+  "imageRepoName": "abc123",
+  "imageRegistryType": "xyz789",
+  "secretName": "abc123",
+  "secretNamespace": "xyz789",
+  "enableRegistry": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryResponse

+
+
+
+
Description
+

Defines response data for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryInfo - ImageRegistry + Information Image Registry
imageRegistryID - String! + ID of the image registry
projectID - String! + ID of the project in which image registry is created
updatedAt - String + Timestamp when the image registry was last updated
createdAt - String + Timestamp when the image registry was created
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
isRemoved - Boolean + Bool value indicating if the image registry has been removed
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryInfo": ImageRegistry,
+  "imageRegistryID": "abc123",
+  "projectID": "abc123",
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "isRemoved": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Infra

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
infraID - ID! + ID of the infra
name - String! + Name of the infra
description - String + Description of the infra
tags - [String!] + Tags of the infra
environmentID - String! + Environment ID for the infra
platformName - String! + Infra Platform Name eg. GKE,AWS, Others
isActive - Boolean! + Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! + Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! + Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! + Timestamp when the infra was last updated
createdAt - String! + Timestamp when the infra was created
noOfExperiments - Int + Number of schedules created in the infra
noOfExperimentRuns - Int + Number of experiments run in the infra
token - String! + Token used to verify and retrieve the infra manifest
infraNamespace - String + Namespace where the infra is being installed
serviceAccount - String + Name of service account used by infra
infraScope - String! + Scope of the infra : ns or cluster
infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
lastExperimentTimestamp - String + Timestamp of the last experiment run in the infra
startTime - String! + Timestamp when the infra got connected
version - String! + Version of the infra
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
infraType - InfrastructureType + Type of the infrastructure
updateStatus - UpdateStatus! + update status of infra
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "infraID": "4",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "environmentID": "abc123",
+  "platformName": "abc123",
+  "isActive": true,
+  "isInfraConfirmed": true,
+  "isRemoved": false,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "noOfExperiments": 123,
+  "noOfExperimentRuns": 123,
+  "token": "xyz789",
+  "infraNamespace": "xyz789",
+  "serviceAccount": "xyz789",
+  "infraScope": "abc123",
+  "infraNsExists": false,
+  "infraSaExists": true,
+  "lastExperimentTimestamp": "xyz789",
+  "startTime": "xyz789",
+  "version": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "infraType": "Kubernetes",
+  "updateStatus": "AVAILABLE"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraActionResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
action - ActionPayload! + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "abc123",
+  "action": ActionPayload
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraEventResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
eventID - ID! + +
eventType - String! + +
eventName - String! + +
description - String! + +
infra - Infra! + +
+
+
+
+
+
Example
+ + +
{
+  "eventID": 4,
+  "eventType": "xyz789",
+  "eventName": "xyz789",
+  "description": "abc123",
+  "infra": Infra
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the infra
+ infraID - String + ID of the infra
+ description - String + ID of the infra
+ platformName - String + Platform name of infra
+ infraScope - INFRA_SCOPE + Scope of infra
+ isActive - Boolean + Status of infra
+ tags - [String] + Tags of an infra
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "infraID": "abc123",
+  "description": "xyz789",
+  "platformName": "xyz789",
+  "infraScope": "namespace",
+  "isActive": true,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraIdentity

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - String! + +
+ accessKey - String! + +
+ version - String! + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "abc123",
+  "accessKey": "xyz789",
+  "version": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraVersionDetails

+
+
+
+
Description
+

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
latestVersion - String! + Latest infra version supported
compatibleVersions - [String!]! + List of all infra versions supported
+
+
+
+
+
Example
+ + +
{
+  "latestVersion": "abc123",
+  "compatibleVersions": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfrastructureType

+
+
+
+
Values
+ + + + + + + + + + + + + +
Enum ValueDescription
+

Kubernetes

+
+
+
+
+
+
+
Example
+ + +
"Kubernetes"
+
+ + +
+
+
+
+
+
+ Types +
+

Int

+
+
+
+
Description
+

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

+
+
+
+
+
Example
+ + +
123
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbe

+
+
+
+
Description
+

Defines the K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
group - String + Group of the Probe
version - String! + Version of the Probe
resource - String! + Resource of the Probe
namespace - String + Namespace of the Probe
resourceNames - String + Resource Names of the Probe
fieldSelector - String + Field Selector of the Probe
labelSelector - String + Label Selector of the Probe
operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "group": "xyz789",
+  "version": "xyz789",
+  "resource": "abc123",
+  "namespace": "xyz789",
+  "resourceNames": "xyz789",
+  "fieldSelector": "abc123",
+  "labelSelector": "xyz789",
+  "operation": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbeRequest

+
+
+
+
Description
+

Defines the input for K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ group - String + Group of the Probe
+ version - String! + Version of the Probe
+ resource - String! + Resource of the Probe
+ namespace - String + Namespace of the Probe
+ resourceNames - String + Resource Names of the Probe
+ fieldSelector - String + Field Selector of the Probe
+ labelSelector - String + Label Selector of the Probe
+ operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "group": "abc123",
+  "version": "abc123",
+  "resource": "xyz789",
+  "namespace": "xyz789",
+  "resourceNames": "xyz789",
+  "fieldSelector": "abc123",
+  "labelSelector": "xyz789",
+  "operation": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeGVRRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ group - String! + +
+ version - String! + +
+ resource - String! + +
+
+
+
+
+
Example
+ + +
{
+  "group": "xyz789",
+  "version": "abc123",
+  "resource": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObject

+
+
+
+
Description
+

KubeObject consists of the namespace and the available resources in the same

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
namespace - String! + Namespace of the resource
data - [ObjectData]! + Details of the resource
+
+
+
+
+
Example
+ + +
{
+  "namespace": "xyz789",
+  "data": [ObjectData]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectData

+
+
+
+
Description
+

Defines the details of Kubernetes object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes object details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes object is present
+ kubeObj - String! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "requestID": 4,
+  "infraID": InfraIdentity,
+  "kubeObj": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes object data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra in which the Kubernetes object is present
+ kubeObjRequest - KubeGVRRequest + GVR Request
+ objectType - String! + +
+ workloads - [Workload] + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": 4,
+  "kubeObjRequest": KubeGVRRequest,
+  "objectType": "abc123",
+  "workloads": [Workload]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes object is present
kubeObj - [KubeObject]! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{"infraID": 4, "kubeObj": [KubeObject]}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbe

+
+
+
+
Description
+

Defines the CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
command - String! + Command of the Probe
comparator - Comparator! + Comparator of the Probe
source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "command": "abc123",
+  "comparator": Comparator,
+  "source": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ command - String! + Command of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+ source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "command": "xyz789",
+  "comparator": ComparatorInput,
+  "source": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbe

+
+
+
+
Description
+

Defines the Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
url - String! + URL of the Probe
method - Method! + HTTP method of the Probe
insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "url": "abc123",
+  "method": Method,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ url - String! + URL of the Probe
+ method - MethodRequest! + HTTP method of the Probe
+ insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "url": "xyz789",
+  "method": MethodRequest,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+ +
+
+ Types +
+

ListChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubIDs - [ID!] + Array of ChaosHub IDs for which details will be fetched
+ filter - ChaosHubFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{"chaosHubIDs": [4], "filter": ChaosHubFilterInput}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - EnvironmentFilterInput + Details for fetching filtered data
+ sort - EnvironmentSortInput + Details for fetching sorted data
+
+
+
+
+
Example
+ + +
{
+  "environmentIDs": [4],
+  "pagination": Pagination,
+  "filter": EnvironmentFilterInput,
+  "sort": EnvironmentSortInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfEnvironments - Int! + Total number of environment
environments - [Environment] + +
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfEnvironments": 123,
+  "environments": [Environment]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRequest

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentSortInput + Details for fetching sorted data
+ filter - ExperimentFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentIDs": ["4"],
+  "pagination": Pagination,
+  "sort": ExperimentSortInput,
+  "filter": ExperimentFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentResponse

+
+
+
+
Description
+

Defines the details for a experiment with total experiment count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperiments - Int! + Total number of experiments
experiments - [Experiment]! + Details related to the experiments
+
+
+
+
+
Example
+ + +
{"totalNoOfExperiments": 123, "experiments": [Experiment]}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunRequest

+
+
+
+
Description
+

Defines the details for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentRunIDs - [ID] + Array of experiment run IDs for which details will be fetched
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentRunSortInput + Details for fetching sorted data
+ filter - ExperimentRunFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentRunIDs": [4],
+  "experimentIDs": ["4"],
+  "pagination": Pagination,
+  "sort": ExperimentRunSortInput,
+  "filter": ExperimentRunFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunResponse

+
+
+
+
Description
+

Defines the details of a experiment to sent as response

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperimentRuns - Int! + Total number of experiment runs
experimentRuns - [ExperimentRun]! + Defines details of experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfExperimentRuns": 123,
+  "experimentRuns": [ExperimentRun]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraRequest

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraIDs - [ID!] + Array of infra IDs for which details will be fetched
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - InfraFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "infraIDs": ["4"],
+  "environmentIDs": [4],
+  "pagination": Pagination,
+  "filter": InfraFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraResponse

+
+
+
+
Description
+

Defines the details for a infras with total infras count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfInfras - Int! + Total number of infras
infras - [Infra]! + Details related to the infras
+
+
+
+
+
Example
+ + +
{"totalNoOfInfras": 987, "infras": [Infra]}
+
+ + +
+
+
+
+
+
+ Types +
+

Maintainer

+
+
+
+
Description
+

Defines the details of the maintainer

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the maintainer
email - String! + Email of the maintainer
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Metadata

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
version - String! + +
annotations - Annotation! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "version": "xyz789",
+  "annotations": Annotation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Method

+
+
+
+
Description
+

Defines the methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
get - GET + A GET request
post - POST + A POST request
+
+
+
+
+
Example
+ + +
{"get": GET, "post": POST}
+
+ + +
+
+
+
+
+
+ Types +
+

MethodRequest

+
+
+
+
Description
+

Defines the input for methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ get - GETRequest + A GET request
+ post - POSTRequest + A POST request
+
+
+
+
+
Example
+ + +
{
+  "get": GETRequest,
+  "post": POSTRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Mode

+
+
+
+
Description
+

Defines the different modes of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

SOT

+
+
+

EOT

+
+
+

Edge

+
+
+

Continuous

+
+
+

OnChaos

+
+
+
+
+
+
+
Example
+ + +
"SOT"
+
+ + +
+
+
+
+
+
+ Types +
+

ObjectData

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
labels - [String!] + Labels present in the resource
name - String! + Name of the resource
+
+
+
+
+
Example
+ + +
{
+  "labels": ["abc123"],
+  "name": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POST

+
+
+
+
Description
+

Details of POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
contentType - String + Content Type of the request
body - String + Body of the request
bodyPath - String + Body Path of the HTTP body required for the http post request
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "xyz789",
+  "body": "xyz789",
+  "bodyPath": "abc123",
+  "criteria": "abc123",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POSTRequest

+
+
+
+
Description
+

Details for input of the POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ contentType - String + Content Type of the request
+ body - String + Body of the request
+ bodyPath - String + Body Path of the request for Body
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "abc123",
+  "body": "abc123",
+  "bodyPath": "abc123",
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbe

+
+
+
+
Description
+

Defines the PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
endpoint - String! + Endpoint of the Probe
query - String + Query of the Probe
queryPath - String + Query path of the Probe
comparator - Comparator! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "endpoint": "abc123",
+  "query": "abc123",
+  "queryPath": "abc123",
+  "comparator": Comparator
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbeRequest

+
+
+
+
Description
+

Defines the input for PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ endpoint - String! + Endpoint of the Probe
+ query - String + Query of the Probe
+ queryPath - String + Query path of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "endpoint": "abc123",
+  "query": "abc123",
+  "queryPath": "xyz789",
+  "comparator": ComparatorInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PackageInformation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
packageName - String! + +
experiments - [Experiments!]! + +
+
+
+
+
+
Example
+ + +
{
+  "packageName": "xyz789",
+  "experiments": [Experiments]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Pagination

+
+
+
+
Description
+

Defines data required to fetch paginated data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ page - Int! + Page number for which data will be fetched
+ limit - Int! + Number of data to be fetched
+
+
+
+
+
Example
+ + +
{"page": 987, "limit": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLog

+
+
+
+
Description
+

Response received for querying pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - InfraIdentity! + ID of the cluster
+ requestID - ID! + Unique request ID of a particular node which is being queried
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podType - String! + Type of the pod: chaosengine
+ log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "infraID": InfraIdentity,
+  "requestID": "4",
+  "experimentRunID": 4,
+  "podName": "xyz789",
+  "podType": "abc123",
+  "log": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogRequest

+
+
+
+
Description
+

Defines the details for fetching the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the cluster
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podNamespace - String! + Namespace where the pod is running
+ podType - String! + Type of the pod: chaosEngine or not pod
+ expPod - String + Name of the experiment pod fetched from execution data
+ runnerPod - String + Name of the runner pod fetched from execution data
+ chaosNamespace - String + Namespace where the experiment is executing
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "experimentRunID": "4",
+  "podName": "abc123",
+  "podNamespace": "abc123",
+  "podType": "abc123",
+  "expPod": "xyz789",
+  "runnerPod": "abc123",
+  "chaosNamespace": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogResponse

+
+
+
+
Description
+

Defines the response received for querying querying the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
podName - String! + Name of the pod for which logs are queried
podType - String! + Type of the pod: chaosengine
log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "podName": "abc123",
+  "podType": "abc123",
+  "log": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PredefinedExperimentList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentName - String! + Name of the experiment
experimentCSV - String! + Experiment CSV
experimentManifest - String! + Experiment Manifest
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "experimentCSV": "xyz789",
+  "experimentManifest": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Probe

+
+
+
+
Description
+

Defines the details of the Probe entity

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
description - String + Description of the Probe
tags - [String!] + Tags of the Probe
type - ProbeType! + Type of the Probe [From list of ProbeType enum]
infrastructureType - InfrastructureType! + Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbe + Kubernetes HTTP Properties of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbe + Kubernetes CMD Properties of the specific type of the Probe
k8sProperties - K8SProbe + K8S Properties of the specific type of the Probe
promProperties - PROMProbe + PROM Properties of the specific type of the Probe
recentExecutions - [ProbeRecentExecutions!] + All execution histories of the probe
referencedBy - Int + Referenced by how many faults
updatedAt - String! + Timestamp at which the Probe was last updated
createdAt - String! + Timestamp at which the Probe was created
updatedBy - UserDetails + User who has updated the Probe
createdBy - UserDetails + User who has created the Probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "name": "xyz789",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbe,
+  "kubernetesCMDProperties": KubernetesCMDProbe,
+  "k8sProperties": K8SProbe,
+  "promProperties": PROMProbe,
+  "recentExecutions": [ProbeRecentExecutions],
+  "referencedBy": 123,
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeFilterInput

+
+
+
+
Description
+

Defines the input for Probe filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the Probe
+ dateRange - DateRange + Date range for filtering purpose
+ type - [ProbeType] + Type of the Probe [From list of ProbeType enum]
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "dateRange": DateRange,
+  "type": ["httpProbe"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "faultName": "abc123",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRequest

+
+
+
+
Description
+

Defines the details required for creating a Chaos Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - ID! + Name of the Probe
+ description - String + Description of the Probe
+ tags - [String!] + Tags of the Probe
+ type - ProbeType! + Type of the Probe [From list of ProbeType enum]
+ infrastructureType - InfrastructureType! + Infrastructure type of the Probe
+ kubernetesHTTPProperties - KubernetesHTTPProbeRequest + HTTP Properties of the specific type of the Probe
+ kubernetesCMDProperties - KubernetesCMDProbeRequest + CMD Properties of the specific type of the Probe
+ k8sProperties - K8SProbeRequest + K8S Properties of the specific type of the Probe
+ promProperties - PROMProbeRequest + PROM Properties of the specific type of the Probe
+
+
+
+
+
Example
+ + +
{
+  "name": 4,
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbeRequest,
+  "kubernetesCMDProperties": KubernetesCMDProbeRequest,
+  "k8sProperties": K8SProbeRequest,
+  "promProperties": PROMProbeRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeType

+
+
+
+
Description
+

Defines the different types of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

httpProbe

+
+
+

cmdProbe

+
+
+

promProbe

+
+
+

k8sProbe

+
+
+
+
+
+
+
Example
+ + +
"httpProbe"
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeVerdict

+
+
+
+
Description
+

Defines the older different statuses of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

Passed

+
+
+

Failed

+
+
+

NA

+
+
+

Awaited

+
+
+
+
+
+
+
Example
+ + +
"Passed"
+
+ + +
+
+
+
+
+
+ Types +
+

Provider

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + +
+
+
+
+
+
Example
+ + +
{"name": "xyz789"}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
mode - Mode! + Probe mode
executionHistory - [ExecutionHistory!]! + Execution History
+
+
+
+
+
Example
+ + +
{
+  "faultName": "xyz789",
+  "mode": "SOT",
+  "executionHistory": [ExecutionHistory]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExperimentRun

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
phase - String! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
createdBy - UserDetails + User who created the experiment run
updatedBy - UserDetails + User who updated the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "phase": "xyz789",
+  "resiliencyScore": 123.45,
+  "updatedAt": "xyz789",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "runSequence": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraRequest

+
+
+
+
Description
+

Defines the details for the new infra being connected

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the infra
+ environmentID - String! + Environment ID for the infra
+ infrastructureType - InfrastructureType! + Type of Infra : internal/external
+ description - String + Description of the infra
+ platformName - String! + Infra Platform Name eg. GKE,AWS, Others
+ infraNamespace - String + Namespace where the infra is being installed
+ serviceAccount - String + Name of service account used by infra
+ infraScope - String! + Scope of the infra : ns or infra
+ infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
+ infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
+ skipSsl - Boolean + Bool value indicating whether infra will skip ssl checks or not
+ nodeSelector - String + Node selectors used by infra
+ tolerations - [Toleration] + Node tolerations used by infra
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "environmentID": "xyz789",
+  "infrastructureType": "Kubernetes",
+  "description": "xyz789",
+  "platformName": "xyz789",
+  "infraNamespace": "xyz789",
+  "serviceAccount": "xyz789",
+  "infraScope": "abc123",
+  "infraNsExists": false,
+  "infraSaExists": false,
+  "skipSsl": false,
+  "nodeSelector": "xyz789",
+  "tolerations": [Toleration],
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraResponse

+
+
+
+
Description
+

Response received for registering a new infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
token - String! + Token used to verify and retrieve the infra manifest
infraID - String! + Unique ID for the newly registered infra
name - String! + Infra name as sent in request
manifest - String! + Infra Manifest
+
+
+
+
+
Example
+ + +
{
+  "token": "xyz789",
+  "infraID": "abc123",
+  "name": "xyz789",
+  "manifest": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ResilienceScoreCategory

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
id - Int! + Lower bound of the range(inclusive)
count - Int! + total experiments with avg resilience score between lower bound and upper bound(exclusive)
+
+
+
+
+
Example
+ + +
{"id": 987, "count": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

ResourceDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
description - String + +
tags - [String!] + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ResourceDetails Types
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RunChaosExperimentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
notifyID - ID! + +
+
+
+
+
+
Example
+ + +
{"notifyID": 4}
+
+ + +
+
+
+
+
+
+ Types +
+

SSHKey

+
+
+
+
Description
+

Defines the SSHKey details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
publicKey - String! + Public SSH key authenticating into git repository
privateKey - String! + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "publicKey": "abc123",
+  "privateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

SaveChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the experiment
+ type - ExperimentType + Type of the experiment
+ name - String! + Name of the experiment
+ description - String! + Description of the experiment
+ manifest - String! + Manifest of the experiment
+ infraID - ID! + ID of the target infrastructure in which the experiment will run
+ tags - [String!] + Tags of the infrastructure
+
+
+
+
+
Example
+ + +
{
+  "id": "xyz789",
+  "type": "All",
+  "name": "xyz789",
+  "description": "abc123",
+  "manifest": "abc123",
+  "infraID": 4,
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ScheduleType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

CRON

+
+
+

NON_CRON

+
+
+

ALL

+
+
+
+
+
+
+
Example
+ + +
"CRON"
+
+ + +
+
+
+
+
+
+ Types +
+

ServerVersionResponse

+
+
+
+
Description
+

Response received for fetching GQL server version

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
key - String! + Returns server version key
value - String! + Returns server version value
+
+
+
+
+
Example
+ + +
{
+  "key": "abc123",
+  "value": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Spec

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
displayName - String! + +
categoryDescription - String! + +
keywords - [String!]! + +
maturity - String! + +
maintainers - [Maintainer!]! + +
minKubeVersion - String! + +
provider - Provider! + +
links - [Link!]! + +
faults - [FaultList!]! + +
experiments - [String!] + +
chaosExpCRDLink - String! + +
platforms - [String!]! + +
chaosType - String + +
+
+
+
+
+
Example
+ + +
{
+  "displayName": "xyz789",
+  "categoryDescription": "abc123",
+  "keywords": ["abc123"],
+  "maturity": "xyz789",
+  "maintainers": [Maintainer],
+  "minKubeVersion": "abc123",
+  "provider": Provider,
+  "links": [Link],
+  "faults": [FaultList],
+  "experiments": ["xyz789"],
+  "chaosExpCRDLink": "abc123",
+  "platforms": ["abc123"],
+  "chaosType": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Status

+
+
+
+
Description
+

Status defines whether a probe is pass or fail

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
verdict - ProbeVerdict! + Verdict defines the verdict of the probe, range: Passed, Failed, N/A
description - String + Description defines the description of probe status
+
+
+
+
+
Example
+ + +
{
+  "verdict": "Passed",
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

String

+
+
+
+
Description
+

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

+
+
+
+
+
Example
+ + +
"xyz789"
+
+ + +
+
+
+
+
+
+ Types +
+

Toleration

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ tolerationSeconds - Int + +
+ key - String + +
+ operator - String + +
+ effect - String + +
+ value - String + +
+
+
+
+
+
Example
+ + +
{
+  "tolerationSeconds": 987,
+  "key": "abc123",
+  "operator": "xyz789",
+  "effect": "abc123",
+  "value": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the chaos hub
+ name - String! + Name of the chaos hub
+ description - String + Description of the infra
+ tags - [String!] + Tags of the infra
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "id": "abc123",
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "repoURL": "abc123",
+  "repoBranch": "abc123",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String + +
+ description - String + +
+ tags - [String] + +
+ type - EnvironmentType + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "type": "PROD"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateStatus

+
+
+
+
Description
+

UpdateStatus represents if infra needs to be updated

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

AVAILABLE

+
+
+

MANDATORY

+
+
+

NOT_REQUIRED

+
+
+
+
+
+
+
Example
+ + +
"AVAILABLE"
+
+ + +
+
+
+
+
+
+ Types +
+

UserDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
userID - String! + +
username - String! + +
email - String! + +
+
+
+
+
+
Example
+ + +
{
+  "userID": "abc123",
+  "username": "xyz789",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Weightages

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Name of the fault
weightage - Int! + Weightage of the experiment
+
+
+
+
+
Example
+ + +
{"faultName": "xyz789", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

WeightagesInput

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ faultName - String! + Name of the fault
+ weightage - Int! + Weightage of the fault
+
+
+
+
+
Example
+ + +
{"faultName": "xyz789", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

Workload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + +
+ kind - String! + +
+ namespace - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "kind": "abc123",
+  "namespace": "abc123"
+}
+
+ + +
+
+
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.0/config.yml b/mkdocs/docs/graphql/v3.10.0/config.yml new file mode 100644 index 00000000000..ff61ac839eb --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.0/config.yml @@ -0,0 +1,33 @@ +spectaql: + targetDir: ./mkdocs/docs/graphql/v3.10.0 + logoFile: ./mkdocs/docs/graphql/logo.png + faviconFile: ./mkdocs/docs/graphql/logo.png + displayAllServers: true + themeDir: ./mkdocs/docs/graphql/v3.10.0/custom-theme + +introspection: + removeTrailingPeriodFromDescriptions: false + schemaFile: ./chaoscenter/graphql/definitions/shared/*.graphqls + queryNameStrategy: capitalizeFirst + fieldExpansionDepth: 2 + + spectaqlDirective: + enable: true + +extensions: + graphqlScalarExamples: true + +info: + title: ChaosCenter API Documentation + description: Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform. + + x-introItems: + - title: Common Error Response + file: ./mkdocs/docs/graphql/v3.10.0/error_response_guide.md + +servers: + - url: http://localhost:8080 + description: Dev + - url: http://localhost:8080/query + description: Prod + production: true diff --git a/mkdocs/docs/graphql/v3.10.0/custom-theme/stylesheets/custom.scss b/mkdocs/docs/graphql/v3.10.0/custom-theme/stylesheets/custom.scss new file mode 100644 index 00000000000..68e1aa2268c --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.0/custom-theme/stylesheets/custom.scss @@ -0,0 +1,24 @@ + +$line-height-heading: 1.2; +$font-size-large-heading: 1.7105263158rem; +$font-weight-large-heading: 700; +$content-padding: 20px; +$text-color: #535b60; +$text-weight: 400; +$text-size: 1.5789473684rem; + +#spectaql { + h2 { + color: $text-color; + font-weight: $text-weight; + font-size: $text-size; + } + + .doc-heading { + line-height: $line-height-heading; + font-size: $font-size-large-heading; + font-weight: $font-weight-large-heading; + color: #535b60 + } + +} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.0/error_response_guide.md b/mkdocs/docs/graphql/v3.10.0/error_response_guide.md new file mode 100644 index 00000000000..76e4ab30fce --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.0/error_response_guide.md @@ -0,0 +1,29 @@ +All error responses follow the structure outlined below. + +```json +{ + "errors": [ + { + "message": "Error message", + "path": [ + "Request path" + ] + } + ], + "data": {} +} +``` + +### Field Descriptions: +- **errors**:
+ An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
+ **Type: `Array`**

+ - **message**:
+ A description of the error.
+ **Type: `String`**

+ - **path**:
+ Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
+ **Type: `Array of Strings`**

+- **data**:
+ This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
+ **Type: `Object`**
diff --git a/mkdocs/docs/graphql/v3.10.0/images/favicon.png b/mkdocs/docs/graphql/v3.10.0/images/favicon.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.10.0/images/favicon.png differ diff --git a/mkdocs/docs/graphql/v3.10.0/images/logo.png b/mkdocs/docs/graphql/v3.10.0/images/logo.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.10.0/images/logo.png differ diff --git a/mkdocs/docs/graphql/v3.10.0/javascripts/spectaql.min.js b/mkdocs/docs/graphql/v3.10.0/javascripts/spectaql.min.js new file mode 100644 index 00000000000..6ef3202c222 --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.0/javascripts/spectaql.min.js @@ -0,0 +1 @@ +function scrollSpy(){var l=5,e=document.querySelector("html"),c=(e&&(e=window.getComputedStyle(e).scrollPaddingTop)&&"string"==typeof e&&"auto"!==e&&e.endsWith("px")&&(l+=parseInt(e.split("px")[0])),"nav-scroll-active"),i=null,d=[];function t(){i=null;var e=document.querySelectorAll("[data-traverse-target]");Array.prototype.forEach.call(e,function(e){d.push({id:e.id,top:e.offsetTop})})}var n=debounce(function(){t(),o()},500),o=debounce(function(){var e,t,n,o,r=(e=>{for(var t=e+l,n=0;n=d[n].top&&(!o||t{toggleMenu(),scrollSpy()}); \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.0/stylesheets/spectaql.min.css b/mkdocs/docs/graphql/v3.10.0/stylesheets/spectaql.min.css new file mode 100644 index 00000000000..e7666ab6b36 --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.0/stylesheets/spectaql.min.css @@ -0,0 +1 @@ +#spectaql h2{color:#535b60;font-weight:400;font-size:1.5789473684rem}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;font-weight:700;color:#535b60}#spectaql{padding:0;margin:0}#spectaql pre{overflow:auto;margin-top:0;margin-bottom:20px}#spectaql pre code{display:block;background:#ccc}#spectaql table{width:100%;table-layout:fixed;text-align:left;border-collapse:collapse}#spectaql table td,#spectaql table th{margin:0;padding:0}#spectaql #introduction .example-section>*,#spectaql .definition-heading,#spectaql .doc-heading,#spectaql .introduction-item-title,#spectaql .operation-heading{overflow:hidden;text-overflow:ellipsis}#spectaql #page{display:flex}#spectaql #page *{box-sizing:border-box}#spectaql #page.drawer-open #sidebar{z-index:1000;transform:translateX(0)}#spectaql #page.drawer-open .drawer-overlay{display:block;background:rgba(0,0,0,.5);z-index:10}#spectaql #sidebar{position:fixed;min-width:250px;max-width:250px;flex-shrink:0;transition:transform .2s ease-out;transform:translateX(-100%);z-index:10;padding-top:20px;background:#fff}@media (min-width:48em){#spectaql #sidebar{position:relative;transform:none}}@media (min-width:64em){#spectaql #sidebar{min-width:300px;max-width:300px}}#spectaql .sidebar-top-container{display:flex;align-items:center;padding:0 20px}#spectaql #mobile-navbar{display:flex;align-items:center;position:sticky;top:0}@media (min-width:48em){#spectaql #mobile-navbar{display:none}}#spectaql .sidebar-open-button{display:flex;align-items:flex-start;margin:0;padding:0;border:none;background:0 0}#spectaql .sidebar-open-button .hamburger{width:16px;height:14px;cursor:pointer}#spectaql .sidebar-open-button .hamburger::after{display:block;content:"";height:2px;background:#535b60;box-shadow:0 5px 0 #535b60,0 10px 0 #535b60}#spectaql .sidebar-open-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .close-button{display:block}#spectaql .close-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:48em){#spectaql .close-button{display:none}}#spectaql .drawer-overlay{display:none;position:absolute;top:0;left:0;bottom:0;right:0;background:rgba(0,0,0,0)}@media (min-width:48em){#spectaql .drawer-overlay{display:none!important}}#spectaql #nav{display:flex;flex-direction:column;max-height:calc(100vh - 0px);padding:0 20px;padding-bottom:20px;position:sticky;top:0;overflow:auto}#spectaql #logo{margin-right:auto}#spectaql #logo img{display:block;width:100%;max-width:100%}#spectaql .nav-group-items,#spectaql .nav-group-section-items{padding:0;margin:0}#spectaql .nav-group-items>li,#spectaql .nav-group-section-items>li{list-style:none}#spectaql .nav-group-items .nav-group-section-title,#spectaql .nav-group-items>li,#spectaql .nav-group-section-items .nav-group-section-title,#spectaql .nav-group-section-items>li{overflow:hidden;text-overflow:ellipsis}#spectaql .nav-group-section-items{display:none}#spectaql .nav-scroll-expand .nav-group-section-items{display:block}#spectaql #docs{position:relative;margin:0 auto;min-width:100px;max-width:88em;flex-grow:1;flex-shrink:1;padding:20px}@media (min-width:48em){#spectaql .doc-row{display:flex;flex-wrap:wrap}}#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:100%}@media (min-width:48em){#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:50%}}@media (min-width:48em){#spectaql .doc-row .doc-copy{padding-right:20px}}@media (min-width:48em){#spectaql .doc-row .doc-examples{padding-left:20px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e}#spectaql{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.6;background:#fff;color:#535b60}@media (min-width:32em){#spectaql{font-size:16px}}#spectaql a{color:#0298bf;text-decoration:none}#spectaql a:hover{color:#0182a2}#spectaql a:active,#spectaql a:focus{color:#0298bf}#spectaql code{font-size:.875em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}#spectaql pre{color:#fff}#spectaql pre code{background:#222}#spectaql pre code,#spectaql pre code.hljs{font-size:.82em;line-height:1.4;padding:15px 20px}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;margin-top:10px}@media (min-width:48em){#spectaql .doc-heading{margin-top:-10px}}#spectaql .close-button{background:0 0;border:none;padding:5px;font-size:16px;font-weight:700;color:#535b60}#spectaql #introduction{margin-bottom:60px}#spectaql #introduction .example-section:not(.example-section-is-code){margin-bottom:20px}#spectaql #introduction .example-section:not(.example-section-is-code) h5,#spectaql #introduction .example-section:not(.example-section-is-code) p{margin:0;font-size:1em}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:20px;padding-bottom:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:30px;padding-bottom:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:40px;padding-bottom:40px}}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:20px;padding-right:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:30px;padding-right:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:50px;padding-right:50px}}#spectaql #sidebar{padding-bottom:0;background:#fff}#spectaql #sidebar a{color:#535b60}#spectaql #sidebar a.nav-scroll-active,#spectaql #sidebar a:hover{font-weight:700}#spectaql #sidebar a.nav-scroll-active{color:#535b60}#spectaql #sidebar a:hover{color:#0182a2}@media (min-width:48em){#spectaql #sidebar{border-right:2px solid #d8d8d8}}#spectaql #mobile-navbar{background:#fff;margin-top:-20px;margin-left:-20px;margin-right:-20px}@media (min-width:32em){#spectaql #mobile-navbar{margin-top:-30px;margin-left:-30px;margin-right:-30px}}#spectaql #mobile-navbar .sidebar-open-button::after{display:block;content:"All Topics";margin-left:10px;color:#535b60}#spectaql #nav .nav-group{margin-top:20px}#spectaql #nav .nav-group li{margin-bottom:5px}#spectaql #nav .nav-group-title{font-size:.875em;font-weight:400;margin:0 0 6px 0;color:#999}#spectaql #nav .nav-group-section-title{font-size:inherit;margin:0;margin-bottom:5px;font-weight:400}#spectaql #nav .nav-group-section-items{margin-left:.75em}#spectaql .definition,#spectaql .operation{margin-bottom:60px}#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.72em}#spectaql .definition .definition-heading code,#spectaql .definition .operation-heading code,#spectaql .operation .definition-heading code,#spectaql .operation .operation-heading code{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:32em){#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.7105263158rem}}#spectaql .definition-group-name,#spectaql .group-heading,#spectaql .operation-group-name{border-top:2px solid #d8d8d8;padding-top:3px;color:#999;font-size:inherit;font-weight:inherit}#spectaql .definition-group-name a,#spectaql .group-heading a,#spectaql .operation-group-name a{color:#999}#spectaql .definition-group-name a:hover,#spectaql .group-heading a:hover,#spectaql .operation-group-name a:hover{font-weight:700}#spectaql .doc-examples{margin-top:20px}#spectaql .doc-examples .example-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .doc-examples .example-section-is-code h5{color:#999;text-transform:uppercase;background:#000;font-size:.75em;font-weight:700;padding:.6em 0 .6em 20px;margin:0;opacity:1}@media (min-width:48em){#spectaql .doc-examples{margin-top:0}}#spectaql .doc-copy p{margin:0 0 20px 0}#spectaql .doc-copy p:last-child{margin-bottom:0}#spectaql .doc-copy table tr th{font-weight:400;border-bottom:2px solid #d8d8d8}#spectaql .doc-copy table tr td{border-bottom:1px solid #e0e0e0}#spectaql .doc-copy table tr.row-has-field-arguments td,#spectaql .doc-copy table tr:last-child td{border-bottom:none}#spectaql .doc-copy table tr td,#spectaql .doc-copy table tr th{padding:5px}#spectaql .doc-copy table tr td:first-child,#spectaql .doc-copy table tr th:first-child{padding-left:0}#spectaql .doc-copy table tr td:last-child,#spectaql .doc-copy table tr th:last-child{padding-right:0}#spectaql .doc-copy .doc-copy-section{margin-bottom:30px}#spectaql .doc-copy .doc-copy-section>h5{margin:0 0 5px 0;font-size:inherit;font-weight:inherit;color:#999}#spectaql .doc-copy .definition-description>h5,#spectaql .doc-copy .definition-properties>h5,#spectaql .doc-copy .operation-description>h5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .field-arguments{font-size:.875em;background-color:#fafbfc;border:1px solid #e0e0e0;padding:10px;margin-bottom:5px}#spectaql .field-arguments p{margin:10px 0 0 0}#spectaql .field-arguments h5.field-arguments-heading{margin:0;padding:0 0 10px 0;font-weight:inherit;color:#999}#spectaql .field-arguments .field-argument{border-top:1px #e0e0e0 solid;padding:10px 0}#spectaql .field-arguments .field-argument:last-child{padding-bottom:0}#spectaql .field-arguments .field-argument-name{margin:0;font-size:inherit;font-weight:inherit}#spectaql .deprecation-reason{word-break:break-word}#spectaql .deprecation-reason::before{display:inline;content:"Deprecated";padding:2px 5px;margin-right:5px;background:#fed7d8;color:#c60609;font-weight:700;font-size:.875em} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.x/api.html b/mkdocs/docs/graphql/v3.10.x/api.html new file mode 100644 index 00000000000..dbcfca8f863 --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.x/api.html @@ -0,0 +1,17877 @@ + + + + + + + ChaosCenter API Documentation + + + + +
+ +
+
+ +
+
+

ChaosCenter API Documentation

+
+
+
+

Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.

+
+
+
+
API Endpoints
+
# Dev:
+http://localhost:8080
+# Prod:
+http://localhost:8080/query
+
+
+
+
+
+

Common Error Response

+
+
+

All error responses follow the structure outlined below.

+
{
+  "errors": [
+    {
+      "message": "Error message",
+      "path": [
+        "Request path"
+      ]
+    }
+  ],
+  "data": {}
+}
+
+

Field Descriptions:

+
    +
  • errors:
    An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
    + Type: Array

    +
      +
    • message:
      A description of the error.
      + Type: String

      +
    • +
    • path:
      Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
      + Type: Array of Strings

      +
    • +
    +
  • +
  • data:
    This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
    + Type: Object
    +
  • +
+
+
+
+
+
+
+

Queries

+
+

+ getChaosFault +

+
+
+
+
Description
+

Get the fault list from a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a FaultDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosFault(
+  $projectID: ID!,
+  $request: ExperimentRequest!
+) {
+  getChaosFault(
+    projectID: $projectID,
+    request: $request
+  ) {
+    fault
+    engine
+    csv
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ExperimentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosFault": {
+      "fault": "abc123",
+      "engine": "abc123",
+      "csv": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHub +

+
+
+
+
Description
+

Get the details of a requested ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHubStatus! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ chaosHubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHub(
+  $projectID: ID!,
+  $chaosHubID: ID!
+) {
+  getChaosHub(
+    projectID: $projectID,
+    chaosHubID: $chaosHubID
+  ) {
+    id
+    repoURL
+    repoBranch
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "chaosHubID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "isAvailable": true,
+      "totalFaults": "xyz789",
+      "totalExperiments": "xyz789",
+      "name": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "abc123",
+      "isRemoved": false,
+      "sshPrivateKey": "xyz789",
+      "sshPublicKey": "xyz789",
+      "lastSyncedAt": "xyz789",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "createdAt": "abc123",
+      "updatedAt": "xyz789",
+      "description": "xyz789",
+      "isDefault": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHubStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetChaosHubStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHubStats($projectID: ID!) {
+  getChaosHubStats(projectID: $projectID) {
+    totalChaosHubs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"getChaosHubStats": {"totalChaosHubs": 123}}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  getEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "environmentID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getEnvironment": {
+      "projectID": "abc123",
+      "environmentID": "xyz789",
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "type": "PROD",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "xyz789",
+      "isRemoved": true,
+      "infraIDs": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperiment +

+
+
+
+
Description
+

Returns the experiment based on experiment ID

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperiment(
+  $projectID: ID!,
+  $experimentID: String!
+) {
+  getExperiment(
+    projectID: $projectID,
+    experimentID: $experimentID
+  ) {
+    experimentDetails {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+    averageResiliencyScore
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperiment": {
+      "experimentDetails": Experiment,
+      "averageResiliencyScore": 123.45
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRun +

+
+
+
+
Description
+

Returns experiment run based on experiment run ID

+
+
+
+
+
+
+
Response
+

Returns an ExperimentRun! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - ID + +
+ notifyID - ID + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: ID,
+  $notifyID: ID
+) {
+  getExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  ) {
+    projectID
+    experimentRunID
+    experimentType
+    experimentID
+    weightages {
+      faultName
+      weightage
+    }
+    updatedAt
+    createdAt
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+    experimentName
+    experimentManifest
+    phase
+    resiliencyScore
+    faultsPassed
+    faultsFailed
+    faultsAwaited
+    faultsStopped
+    faultsNa
+    totalFaults
+    executionData
+    isRemoved
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+    notifyID
+    runSequence
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "4",
+  "notifyID": 4
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRun": {
+      "projectID": 4,
+      "experimentRunID": 4,
+      "experimentType": "xyz789",
+      "experimentID": 4,
+      "weightages": [Weightages],
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "infra": Infra,
+      "experimentName": "xyz789",
+      "experimentManifest": "xyz789",
+      "phase": "All",
+      "resiliencyScore": 987.65,
+      "faultsPassed": 123,
+      "faultsFailed": 987,
+      "faultsAwaited": 123,
+      "faultsStopped": 123,
+      "faultsNa": 123,
+      "totalFaults": 123,
+      "executionData": "abc123",
+      "isRemoved": false,
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails,
+      "notifyID": 4,
+      "runSequence": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRunStats +

+
+
+
+
Description
+

Query to get experiment run stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentRunStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRunStats($projectID: ID!) {
+  getExperimentRunStats(projectID: $projectID) {
+    totalExperimentRuns
+    totalCompletedExperimentRuns
+    totalTerminatedExperimentRuns
+    totalRunningExperimentRuns
+    totalStoppedExperimentRuns
+    totalErroredExperimentRuns
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRunStats": {
+      "totalExperimentRuns": 123,
+      "totalCompletedExperimentRuns": 987,
+      "totalTerminatedExperimentRuns": 123,
+      "totalRunningExperimentRuns": 123,
+      "totalStoppedExperimentRuns": 123,
+      "totalErroredExperimentRuns": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentStats($projectID: ID!) {
+  getExperimentStats(projectID: $projectID) {
+    totalExperiments
+    totalExpCategorizedByResiliencyScore {
+      id
+      count
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentStats": {
+      "totalExperiments": 987,
+      "totalExpCategorizedByResiliencyScore": [
+        ResilienceScoreCategory
+      ]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getGitOpsDetails +

+
+
+
+
Description
+

Returns the git configuration for gitops

+
+
+
+
+
+
+
Response
+

Returns a GitConfigResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetGitOpsDetails($projectID: ID!) {
+  getGitOpsDetails(projectID: $projectID) {
+    enabled
+    projectID
+    branch
+    repoURL
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getGitOpsDetails": {
+      "enabled": false,
+      "projectID": "xyz789",
+      "branch": "xyz789",
+      "repoURL": "xyz789",
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "xyz789",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getImageRegistry +

+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetImageRegistry($projectID: String!) {
+  getImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "abc123",
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfra +

+
+
+
+
Description
+

Returns infra with a particular infraID in the project

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  getInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfra": {
+      "projectID": "4",
+      "infraID": "4",
+      "name": "abc123",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "environmentID": "xyz789",
+      "platformName": "abc123",
+      "isActive": false,
+      "isInfraConfirmed": true,
+      "isRemoved": false,
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "noOfExperiments": 987,
+      "noOfExperimentRuns": 987,
+      "token": "xyz789",
+      "infraNamespace": "xyz789",
+      "serviceAccount": "xyz789",
+      "infraScope": "abc123",
+      "infraNsExists": true,
+      "infraSaExists": false,
+      "lastExperimentTimestamp": "xyz789",
+      "startTime": "abc123",
+      "version": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraDetails +

+
+
+
+
Description
+

Returns infra details based on identifiers

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraDetails(
+  $infraID: ID!,
+  $projectID: ID!
+) {
+  getInfraDetails(
+    infraID: $infraID,
+    projectID: $projectID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "infraID": "4",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraDetails": {
+      "projectID": "4",
+      "infraID": 4,
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["abc123"],
+      "environmentID": "abc123",
+      "platformName": "abc123",
+      "isActive": true,
+      "isInfraConfirmed": true,
+      "isRemoved": true,
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 987,
+      "token": "abc123",
+      "infraNamespace": "abc123",
+      "serviceAccount": "xyz789",
+      "infraScope": "abc123",
+      "infraNsExists": false,
+      "infraSaExists": false,
+      "lastExperimentTimestamp": "xyz789",
+      "startTime": "abc123",
+      "version": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraManifest +

+
+
+
+
Description
+

Returns the manifest for a given infraID

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ upgrade - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraManifest(
+  $infraID: ID!,
+  $upgrade: Boolean!,
+  $projectID: ID!
+) {
+  getInfraManifest(
+    infraID: $infraID,
+    upgrade: $upgrade,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "infraID": "4",
+  "upgrade": true,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"getInfraManifest": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetInfraStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraStats($projectID: ID!) {
+  getInfraStats(projectID: $projectID) {
+    totalInfrastructures
+    totalActiveInfrastructure
+    totalInactiveInfrastructures
+    totalConfirmedInfrastructure
+    totalNonConfirmedInfrastructures
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraStats": {
+      "totalInfrastructures": 123,
+      "totalActiveInfrastructure": 123,
+      "totalInactiveInfrastructures": 123,
+      "totalConfirmedInfrastructure": 987,
+      "totalNonConfirmedInfrastructures": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getPredefinedExperiment +

+
+
+
+
Description
+

Returns predefined experiment details of selected experiments

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ experimentName - [String!]! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetPredefinedExperiment(
+  $hubID: ID!,
+  $experimentName: [String!]!,
+  $projectID: ID!
+) {
+  getPredefinedExperiment(
+    hubID: $hubID,
+    experimentName: $experimentName,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "hubID": "4",
+  "experimentName": ["abc123"],
+  "projectID": 4
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPredefinedExperiment": [
+      {
+        "experimentName": "xyz789",
+        "experimentCSV": "abc123",
+        "experimentManifest": "abc123"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbe +

+
+
+
+
Description
+

Returns a single Probe based on ProbeName and various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbe": {
+      "projectID": 4,
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["xyz789"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 123,
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeReference +

+
+
+
+
Description
+

Returns all the reference of the Probe based on ProbeName

+
+
+
+
+
+
+
Response
+

Returns a GetProbeReferenceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeReference(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbeReference(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    totalRuns
+    recentExecutions {
+      faultName
+      mode
+      executionHistory {
+        ...ExecutionHistoryFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbeReference": {
+      "projectID": "4",
+      "name": "xyz789",
+      "totalRuns": 987,
+      "recentExecutions": [RecentExecutions]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeYAML +

+
+
+
+
Description
+

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - GetProbeYAMLRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeYAML(
+  $projectID: ID!,
+  $request: GetProbeYAMLRequest!
+) {
+  getProbeYAML(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": GetProbeYAMLRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"getProbeYAML": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbesInExperimentRun +

+
+
+
+
Description
+

Returns all the Probes attached to the requested Experiment Run

+
+
+
+
+
+
+
Response
+

Returns [GetProbesInExperimentRunResponse]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - String! + +
+ faultName - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbesInExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: String!,
+  $faultName: String!
+) {
+  getProbesInExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    faultName: $faultName
+  ) {
+    probe {
+      projectID
+      name
+      description
+      tags
+      type
+      infrastructureType
+      kubernetesHTTPProperties {
+        ...KubernetesHTTPProbeFragment
+      }
+      kubernetesCMDProperties {
+        ...KubernetesCMDProbeFragment
+      }
+      k8sProperties {
+        ...K8SProbeFragment
+      }
+      promProperties {
+        ...PROMProbeFragment
+      }
+      recentExecutions {
+        ...ProbeRecentExecutionsFragment
+      }
+      referencedBy
+      updatedAt
+      createdAt
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+    }
+    mode
+    status {
+      verdict
+      description
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": 4,
+  "experimentRunID": "abc123",
+  "faultName": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbesInExperimentRun": [
+      {
+        "probe": Probe,
+        "mode": "SOT",
+        "status": Status
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getServerVersion +

+
+
+
+
Description
+

Returns version of gql server

+
+
+
+
+
+
+
Response
+

Returns a ServerVersionResponse! +

+
+
+
+

Example

+
+
Query
+ + +
query GetServerVersion {
+  getServerVersion {
+    key
+    value
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getServerVersion": {
+      "key": "xyz789",
+      "value": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getVersionDetails +

+
+
+
+
Description
+

Query to get the latest version of infra available

+
+
+
+
+
+
+
Response
+

Returns an InfraVersionDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetVersionDetails($projectID: ID!) {
+  getVersionDetails(projectID: $projectID) {
+    latestVersion
+    compatibleVersions
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getVersionDetails": {
+      "latestVersion": "abc123",
+      "compatibleVersions": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosFaults +

+
+
+
+
Description
+

List the Charts details of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [Chart!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosFaults(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listChaosFaults(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    apiVersion
+    kind
+    metadata {
+      name
+      version
+      annotations {
+        ...AnnotationFragment
+      }
+    }
+    spec {
+      displayName
+      categoryDescription
+      keywords
+      maturity
+      maintainers {
+        ...MaintainerFragment
+      }
+      minKubeVersion
+      provider {
+        ...ProviderFragment
+      }
+      links {
+        ...LinkFragment
+      }
+      faults {
+        ...FaultListFragment
+      }
+      experiments
+      chaosExpCRDLink
+      platforms
+      chaosType
+    }
+    packageInfo {
+      packageName
+      experiments {
+        ...ExperimentsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosFaults": [
+      {
+        "apiVersion": "xyz789",
+        "kind": "abc123",
+        "metadata": Metadata,
+        "spec": Spec,
+        "packageInfo": PackageInformation
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosHub +

+
+
+
+
Description
+

Lists all the connected ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [ChaosHubStatus]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListChaosHubRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosHub(
+  $projectID: ID!,
+  $request: ListChaosHubRequest
+) {
+  listChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosHub": [
+      {
+        "id": 4,
+        "repoURL": "abc123",
+        "repoBranch": "abc123",
+        "isAvailable": true,
+        "totalFaults": "abc123",
+        "totalExperiments": "abc123",
+        "name": "abc123",
+        "hubType": "GIT",
+        "isPrivate": true,
+        "authType": "BASIC",
+        "token": "xyz789",
+        "userName": "abc123",
+        "password": "abc123",
+        "isRemoved": false,
+        "sshPrivateKey": "xyz789",
+        "sshPublicKey": "xyz789",
+        "lastSyncedAt": "xyz789",
+        "tags": ["abc123"],
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "createdAt": "xyz789",
+        "updatedAt": "xyz789",
+        "description": "abc123",
+        "isDefault": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listEnvironments +

+
+
+
+
Response
+

Returns a ListEnvironmentResponse +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListEnvironments(
+  $projectID: ID!,
+  $request: ListEnvironmentRequest
+) {
+  listEnvironments(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfEnvironments
+    environments {
+      projectID
+      environmentID
+      name
+      description
+      tags
+      type
+      createdAt
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      updatedAt
+      isRemoved
+      infraIDs
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listEnvironments": {
+      "totalNoOfEnvironments": 123,
+      "environments": [Environment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperiment +

+
+
+
+
Description
+

Returns the list of experiments based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperiment(
+  $projectID: ID!,
+  $request: ListExperimentRequest!
+) {
+  listExperiment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperiments
+    experiments {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperiment": {
+      "totalNoOfExperiments": 123,
+      "experiments": [Experiment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperimentRun +

+
+
+
+
Description
+

Returns the list of experiment run based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentRunResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperimentRun(
+  $projectID: ID!,
+  $request: ListExperimentRunRequest!
+) {
+  listExperimentRun(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperimentRuns
+    experimentRuns {
+      projectID
+      experimentRunID
+      experimentType
+      experimentID
+      weightages {
+        ...WeightagesFragment
+      }
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      experimentName
+      experimentManifest
+      phase
+      resiliencyScore
+      faultsPassed
+      faultsFailed
+      faultsAwaited
+      faultsStopped
+      faultsNa
+      totalFaults
+      executionData
+      isRemoved
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+      notifyID
+      runSequence
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRunRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperimentRun": {
+      "totalNoOfExperimentRuns": 987,
+      "experimentRuns": [ExperimentRun]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listImageRegistry +

+
+
+
+
Response
+

Returns [ImageRegistryResponse!] +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListImageRegistry($projectID: String!) {
+  listImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listImageRegistry": [
+      {
+        "isDefault": false,
+        "imageRegistryInfo": ImageRegistry,
+        "imageRegistryID": "xyz789",
+        "projectID": "xyz789",
+        "updatedAt": "xyz789",
+        "createdAt": "abc123",
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "isRemoved": true
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listInfras +

+
+
+
+
Description
+

Returns infras with a particular infra type in the project

+
+
+
+
+
+
+
Response
+

Returns a ListInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListInfraRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListInfras(
+  $projectID: ID!,
+  $request: ListInfraRequest
+) {
+  listInfras(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfInfras
+    infras {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listInfras": {
+      "totalNoOfInfras": 987,
+      "infras": [Infra]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listPredefinedExperiments +

+
+
+
+
Description
+

List the PredefinedExperiments present in the hub

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListPredefinedExperiments(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listPredefinedExperiments(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": 4, "projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listPredefinedExperiments": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "xyz789",
+        "experimentManifest": "abc123"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listProbes +

+
+
+
+
Description
+

Returns the list of Probes based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns [Probe]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infrastructureType - InfrastructureType + +
+ probeNames - [ID!] + +
+ filter - ProbeFilterInput + +
+
+
+
+

Example

+
+
Query
+ + +
query ListProbes(
+  $projectID: ID!,
+  $infrastructureType: InfrastructureType,
+  $probeNames: [ID!],
+  $filter: ProbeFilterInput
+) {
+  listProbes(
+    projectID: $projectID,
+    infrastructureType: $infrastructureType,
+    probeNames: $probeNames,
+    filter: $filter
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infrastructureType": "Kubernetes",
+  "probeNames": ["4"],
+  "filter": ProbeFilterInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listProbes": [
+      {
+        "projectID": 4,
+        "name": "xyz789",
+        "description": "abc123",
+        "tags": ["xyz789"],
+        "type": "httpProbe",
+        "infrastructureType": "Kubernetes",
+        "kubernetesHTTPProperties": KubernetesHTTPProbe,
+        "kubernetesCMDProperties": KubernetesCMDProbe,
+        "k8sProperties": K8SProbe,
+        "promProperties": PROMProbe,
+        "recentExecutions": [ProbeRecentExecutions],
+        "referencedBy": 123,
+        "updatedAt": "abc123",
+        "createdAt": "xyz789",
+        "updatedBy": UserDetails,
+        "createdBy": UserDetails
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ validateUniqueProbe +

+
+
+
+
Description
+

Validates if a probe is already present, returns true if unique

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ValidateUniqueProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  validateUniqueProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"validateUniqueProbe": true}}
+
+ + +
+
+
+
+

Mutations

+
+

+ addChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (includes the git clone operation)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  addChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addChaosHub": {
+      "id": "4",
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "xyz789",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "xyz789",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addProbe +

+
+
+
+
Description
+

Creates a new Probe

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  addProbe(
+    request: $request,
+    projectID: $projectID
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ProbeRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addProbe": {
+      "projectID": "4",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["xyz789"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 987,
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addRemoteChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (remote hub download)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateRemoteChaosHub! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddRemoteChaosHub(
+  $projectID: ID!,
+  $request: CreateRemoteChaosHub!
+) {
+  addRemoteChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateRemoteChaosHub}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addRemoteChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "projectID": "4",
+      "isDefault": false,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "xyz789",
+      "password": "xyz789",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ chaosExperimentRun +

+
+
+
+
Description
+

Creates a new experiment run and sends it to subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - ExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ChaosExperimentRun($request: ExperimentRunRequest!) {
+  chaosExperimentRun(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": ExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"chaosExperimentRun": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ confirmInfraRegistration +

+
+
+
+
Description
+

Confirms the subscriber's registration with the control plane

+
+
+
+
+
+
+
Response
+

Returns a ConfirmInfraRegistrationResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ConfirmInfraRegistration($request: InfraIdentity!) {
+  confirmInfraRegistration(request: $request) {
+    isInfraConfirmed
+    newAccessKey
+    infraID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "confirmInfraRegistration": {
+      "isInfraConfirmed": false,
+      "newAccessKey": "abc123",
+      "infraID": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createChaosExperiment +

+
+
+
+
Description
+

Creates a new experiment and applies its manifest

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  createChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": "4",
+      "cronSyntax": "xyz789",
+      "experimentName": "abc123",
+      "experimentDescription": "abc123",
+      "isCustomExperiment": true,
+      "tags": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateEnvironment(
+  $projectID: ID!,
+  $request: CreateEnvironmentRequest
+) {
+  createEnvironment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createEnvironment": {
+      "projectID": "xyz789",
+      "environmentID": "xyz789",
+      "name": "abc123",
+      "description": "abc123",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "xyz789",
+      "isRemoved": true,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createImageRegistry +

+
+
+
+
Description
+

Create an Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateImageRegistry(
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  createImageRegistry(
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "xyz789",
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosExperiment +

+
+
+
+
Description
+

Removes a experiment from infra

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ experimentRunID - String + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosExperiment(
+  $experimentID: String!,
+  $experimentRunID: String,
+  $projectID: ID!
+) {
+  deleteChaosExperiment(
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "abc123",
+  "experimentRunID": "abc123",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosExperiment": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosHub +

+
+
+
+
Description
+

Delete the ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ hubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosHub(
+  $projectID: ID!,
+  $hubID: ID!
+) {
+  deleteChaosHub(
+    projectID: $projectID,
+    hubID: $hubID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "hubID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosHub": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  deleteEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "environmentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteEnvironment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteImageRegistry +

+
+
+
+
Description
+

Delete the Image Registry

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!
+) {
+  deleteImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "xyz789",
+  "projectID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteImageRegistry": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteInfra +

+
+
+
+
Description
+

Disconnects an infra and deletes its configuration from the control plane

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  deleteInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "infraID": "abc123"}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteInfra": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteProbe +

+
+
+
+
Description
+

Delete a Probe

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ probeName - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteProbe(
+  $probeName: ID!,
+  $projectID: ID!
+) {
+  deleteProbe(
+    probeName: $probeName,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"probeName": 4, "projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteProbe": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ disableGitOps +

+
+
+
+
Description
+

Disables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DisableGitOps($projectID: ID!) {
+  disableGitOps(projectID: $projectID)
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"disableGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ enableGitOps +

+
+
+
+
Description
+

Enables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation EnableGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  enableGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"enableGitOps": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ generateSSHKey +

+
+
+
+
Description
+

Generates Private and Public key for SSH authentication

+
+
+
+
+
+
+
Response
+

Returns an SSHKey! +

+
+
+
+

Example

+
+
Query
+ + +
mutation GenerateSSHKey {
+  generateSSHKey {
+    publicKey
+    privateKey
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "generateSSHKey": {
+      "publicKey": "abc123",
+      "privateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ getManifestWithInfraID +

+
+
+
+
Description
+

Fetches manifest details

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+ accessKey - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GetManifestWithInfraID(
+  $projectID: ID!,
+  $infraID: String!,
+  $accessKey: String!
+) {
+  getManifestWithInfraID(
+    projectID: $projectID,
+    infraID: $infraID,
+    accessKey: $accessKey
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "xyz789",
+  "accessKey": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getManifestWithInfraID": "xyz789"
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ gitopsNotifier +

+
+
+
+
Description
+

Sends workflow run request(single run workflow only) to agent on gitops notification

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ clusterInfo - InfraIdentity! + +
+ experimentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GitopsNotifier(
+  $clusterInfo: InfraIdentity!,
+  $experimentID: ID!
+) {
+  gitopsNotifier(
+    clusterInfo: $clusterInfo,
+    experimentID: $experimentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"clusterInfo": InfraIdentity, "experimentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"gitopsNotifier": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeObj +

+
+
+
+
Description
+

Receives kubernetes object data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeObj($request: KubeObjectData!) {
+  kubeObj(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeObj": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ podLog +

+
+
+
+
Description
+

Receives pod logs for experiments from infra

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLog! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation PodLog($request: PodLog!) {
+  podLog(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLog}
+
+ + +
+
+
Response
+ + +
{"data": {"podLog": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ registerInfra +

+
+
+
+
Description
+

Connect a new infra for a user in a specified project

+
+
+
+
+
+
+
Response
+

Returns a RegisterInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - RegisterInfraRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RegisterInfra(
+  $projectID: ID!,
+  $request: RegisterInfraRequest!
+) {
+  registerInfra(
+    projectID: $projectID,
+    request: $request
+  ) {
+    token
+    infraID
+    name
+    manifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": RegisterInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "registerInfra": {
+      "token": "xyz789",
+      "infraID": "xyz789",
+      "name": "xyz789",
+      "manifest": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ runChaosExperiment +

+
+
+
+
Description
+

Run the chaos experiment (used by frontend)

+
+
+
+
+
+
+
Response
+

Returns a RunChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RunChaosExperiment(
+  $experimentID: String!,
+  $projectID: ID!
+) {
+  runChaosExperiment(
+    experimentID: $experimentID,
+    projectID: $projectID
+  ) {
+    notifyID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"experimentID": "xyz789", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "runChaosExperiment": {"notifyID": "4"}
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosExperiment +

+
+
+
+
Description
+

Saves a new experiment or updates if already exists

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - SaveChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosExperiment(
+  $request: SaveChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  saveChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": SaveChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"saveChaosExperiment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosHub +

+
+
+
+
Description
+

Save a ChaosHub configuration without cloning it

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  saveChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "saveChaosHub": {
+      "id": 4,
+      "repoURL": "abc123",
+      "repoBranch": "xyz789",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": true,
+      "createdAt": "xyz789",
+      "updatedAt": "xyz789",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ stopExperimentRuns +

+
+
+
+
Description
+

stopExperiment will halt all the ongoing runs of a particular experiment

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+ experimentRunID - String + +
+ notifyID - String + +
+
+
+
+

Example

+
+
Query
+ + +
mutation StopExperimentRuns(
+  $projectID: ID!,
+  $experimentID: String!,
+  $experimentRunID: String,
+  $notifyID: String
+) {
+  stopExperimentRuns(
+    projectID: $projectID,
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "abc123",
+  "experimentRunID": "xyz789",
+  "notifyID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"stopExperimentRuns": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ syncChaosHub +

+
+
+
+
Description
+

Sync changes from the Git repository of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ id - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SyncChaosHub(
+  $id: ID!,
+  $projectID: ID!
+) {
+  syncChaosHub(
+    id: $id,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"id": 4, "projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"syncChaosHub": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosExperiment +

+
+
+
+
Description
+

Updates the experiment

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  updateChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": 4,
+      "cronSyntax": "xyz789",
+      "experimentName": "xyz789",
+      "experimentDescription": "xyz789",
+      "isCustomExperiment": true,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosHub +

+
+
+
+
Description
+

Update the configuration of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosHub(
+  $projectID: ID!,
+  $request: UpdateChaosHubRequest!
+) {
+  updateChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": UpdateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosHub": {
+      "id": "4",
+      "repoURL": "abc123",
+      "repoBranch": "abc123",
+      "projectID": 4,
+      "isDefault": false,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "xyz789",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": true,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateCronExperimentState +

+
+
+
+
Description
+

Enable/Disable cron experiment state

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ disable - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateCronExperimentState(
+  $experimentID: String!,
+  $disable: Boolean!,
+  $projectID: ID!
+) {
+  updateCronExperimentState(
+    experimentID: $experimentID,
+    disable: $disable,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "xyz789",
+  "disable": true,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateCronExperimentState": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateEnvironment(
+  $projectID: ID!,
+  $request: UpdateEnvironmentRequest
+) {
+  updateEnvironment(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": UpdateEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"updateEnvironment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateGitOps +

+
+
+
+
Description
+

Updates gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  updateGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"updateGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateImageRegistry +

+
+
+
+
Description
+

Update the Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  updateImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateImageRegistry": {
+      "isDefault": true,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "xyz789",
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateProbe +

+
+
+
+
Description
+

Update the configuration of a Probe

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  updateProbe(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"request": ProbeRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"updateProbe": "abc123"}}
+
+ + +
+
+
+
+

Subscriptions

+
+

+ getInfraEvents +

+
+
+
+
Description
+

Listens infra events from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraEventResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetInfraEvents($projectID: String!) {
+  getInfraEvents(projectID: $projectID) {
+    eventID
+    eventType
+    eventName
+    description
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraEvents": {
+      "eventID": 4,
+      "eventType": "abc123",
+      "eventName": "xyz789",
+      "description": "abc123",
+      "infra": Infra
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeObject +

+
+
+
+
Description
+

Returns a kubernetes object given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeObjectResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeObject($request: KubeObjectRequest!) {
+  getKubeObject(request: $request) {
+    infraID
+    kubeObj {
+      namespace
+      data {
+        ...ObjectDataFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeObject": {
+      "infraID": 4,
+      "kubeObj": [KubeObject]
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getPodLog +

+
+
+
+
Description
+

Returns experiment logs from the pods

+
+
+
+
+
+
+
Response
+

Returns a PodLogResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLogRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetPodLog($request: PodLogRequest!) {
+  getPodLog(request: $request) {
+    experimentRunID
+    podName
+    podType
+    log
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLogRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPodLog": {
+      "experimentRunID": 4,
+      "podName": "xyz789",
+      "podType": "xyz789",
+      "log": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ infraConnect +

+
+
+
+
Description
+

Listens infra operation request from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraActionResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription InfraConnect($request: InfraIdentity!) {
+  infraConnect(request: $request) {
+    projectID
+    action {
+      requestID
+      requestType
+      k8sManifest
+      namespace
+      externalData
+      username
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "infraConnect": {
+      "projectID": "abc123",
+      "action": ActionPayload
+    }
+  }
+}
+
+ + +
+
+
+
+

Types

+
+

ActionPayload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
requestID - String! + +
requestType - String! + +
k8sManifest - String! + +
namespace - String! + +
externalData - String + +
username - String + +
+
+
+
+
+
Example
+ + +
{
+  "requestID": "abc123",
+  "requestType": "abc123",
+  "k8sManifest": "abc123",
+  "namespace": "abc123",
+  "externalData": "xyz789",
+  "username": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Annotation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
categories - String! + +
vendor - String! + +
createdAt - String! + +
repository - String! + +
support - String! + +
chartDescription - String! + +
+
+
+
+
+
Example
+ + +
{
+  "categories": "abc123",
+  "vendor": "xyz789",
+  "createdAt": "xyz789",
+  "repository": "abc123",
+  "support": "xyz789",
+  "chartDescription": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Audit

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
updatedAt - String + +
createdAt - String + +
updatedBy - UserDetails + +
createdBy - UserDetails + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audit Types
+

ExperimentRun

+
+

RecentExperimentRun

+
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

ImageRegistryResponse

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

AuthType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

BASIC

+
+
+

NONE

+
+
+

SSH

+
+
+

TOKEN

+
+
+
+
+
+
+
Example
+ + +
"BASIC"
+
+ + +
+
+
+
+
+
+ Types +
+

Boolean

+
+
+
+
Description
+

The Boolean scalar type represents true or false.

+
+
+
+
+
+
+
+
+ Types +
+

ChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String + ID of the experiment
+ runExperiment - Boolean + Boolean check indicating if the created scenario will be executed or not
+ experimentManifest - String! + Manifest of the experiment
+ experimentType - ExperimentType + Type of the experiment
+ cronSyntax - String! + Cron syntax of the experiment schedule
+ experimentName - String! + Name of the experiment
+ experimentDescription - String! + Description of the experiment
+ weightages - [WeightagesInput!]! + Array containing weightage and name of each chaos experiment in the experiment
+ isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
+ infraID - ID! + ID of the target infra in which the experiment will run
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "runExperiment": false,
+  "experimentManifest": "abc123",
+  "experimentType": "All",
+  "cronSyntax": "xyz789",
+  "experimentName": "abc123",
+  "experimentDescription": "abc123",
+  "weightages": [WeightagesInput],
+  "isCustomExperiment": true,
+  "infraID": 4,
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentResponse

+
+
+
+
Description
+

Defines the response received for querying the details of chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + ID of the experiment
projectID - ID! + +
cronSyntax - String! + Cron syntax of the experiment schedule
experimentName - String! + Name of the experiment
experimentDescription - String! + Description of the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "projectID": 4,
+  "cronSyntax": "xyz789",
+  "experimentName": "abc123",
+  "experimentDescription": "xyz789",
+  "isCustomExperiment": false,
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the chaos hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
projectID - ID! + ID of the project in which the chaos hub is present
isDefault - Boolean! + Default Hub Identifier
name - String! + Name of the chaos hub
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
description - String + Description of ChaosHub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
isRemoved - Boolean! + Bool value indicating if the chaos hub is removed
createdAt - String! + Timestamp when the chaos hub was created
updatedAt - String! + Timestamp when the chaos hub was last updated
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "xyz789",
+  "repoBranch": "xyz789",
+  "projectID": "4",
+  "isDefault": true,
+  "name": "abc123",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "description": "xyz789",
+  "hubType": "GIT",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789",
+  "isRemoved": false,
+  "createdAt": "abc123",
+  "updatedAt": "xyz789",
+  "lastSyncedAt": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubFilterInput

+
+
+
+
Description
+

Defines filter options for ChaosHub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubName - String + Name of the ChaosHub
+ tags - [String!] + Tags of a chaos hub
+ description - String + Description of a chaos hub
+
+
+
+
+
Example
+ + +
{
+  "chaosHubName": "abc123",
+  "tags": ["abc123"],
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubStatus

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
isAvailable - Boolean! + Bool value indicating whether the hub is available or not.
totalFaults - String! + Total number of experiments in the hub
totalExperiments - String! + Total experiments
name - String! + Name of the chaos hub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
isRemoved - Boolean! + Bool value indicating whether the hub is private or not.
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
sshPublicKey - String + Public SSH key for authenticating into private chaos hub
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
createdAt - String! + Created at timestamp
updatedAt - String! + Updated at timestamp
description - String + Description of ChaosHub
isDefault - Boolean! + Default Hub Identifier
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "abc123",
+  "repoBranch": "abc123",
+  "isAvailable": false,
+  "totalFaults": "abc123",
+  "totalExperiments": "xyz789",
+  "name": "xyz789",
+  "hubType": "GIT",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "xyz789",
+  "isRemoved": true,
+  "sshPrivateKey": "abc123",
+  "sshPublicKey": "abc123",
+  "lastSyncedAt": "abc123",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "createdAt": "xyz789",
+  "updatedAt": "abc123",
+  "description": "abc123",
+  "isDefault": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Chart

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
apiVersion - String! + +
kind - String! + +
metadata - Metadata! + +
spec - Spec! + +
packageInfo - PackageInformation! + +
+
+
+
+
+
Example
+ + +
{
+  "apiVersion": "xyz789",
+  "kind": "xyz789",
+  "metadata": Metadata,
+  "spec": Spec,
+  "packageInfo": PackageInformation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CommonProbeProperties

+
+
+
+
Description
+

Defines the common probe properties shared across different ProbeTypes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + +
CommonProbeProperties Types
+

KubernetesCMDProbe

+
+

PROMProbe

+
+

KubernetesHTTPProbe

+
+

K8SProbe

+
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Comparator

+
+
+
+
Description
+

Defines the properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
type - String! + Type of the Comparator
value - String! + Value of the Comparator
criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "abc123",
+  "value": "abc123",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ComparatorInput

+
+
+
+
Description
+

Defines the input properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ type - String! + Type of the Comparator
+ value - String! + Value of the Comparator
+ criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "xyz789",
+  "value": "abc123",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ConfirmInfraRegistrationResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isInfraConfirmed - Boolean! + +
newAccessKey - String + +
infraID - String + +
+
+
+
+
+
Example
+ + +
{
+  "isInfraConfirmed": false,
+  "newAccessKey": "abc123",
+  "infraID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateChaosHubRequest

+
+
+
+
Description
+

Defines the details required for creating a chaos hub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "tags": ["abc123"],
+  "description": "xyz789",
+  "repoURL": "xyz789",
+  "repoBranch": "xyz789",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "xyz789",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String! + +
+ type - EnvironmentType! + +
+ description - String + +
+ tags - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "abc123",
+  "type": "PROD",
+  "description": "abc123",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateRemoteChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "tags": ["xyz789"],
+  "description": "abc123",
+  "repoURL": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

DateRange

+
+
+
+
Description
+

Defines the start date and end date for the filtering the data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ startDate - String! + Start date
+ endDate - String + End date
+
+
+
+
+
Example
+ + +
{
+  "startDate": "xyz789",
+  "endDate": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Environment

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
environmentID - String! + +
name - String! + +
description - String + +
tags - [String!] + +
type - EnvironmentType! + +
createdAt - String! + +
createdBy - UserDetails + +
updatedBy - UserDetails + +
updatedAt - String! + +
isRemoved - Boolean + +
infraIDs - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "abc123",
+  "environmentID": "abc123",
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "type": "PROD",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "updatedAt": "xyz789",
+  "isRemoved": false,
+  "infraIDs": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the environment
+ description - String + ID of the environment
+ type - EnvironmentType + Type name of environment
+ tags - [String!] + Tags of an environment
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "description": "abc123",
+  "type": "PROD",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - EnvironmentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

PROD

+
+
+

NON_PROD

+
+
+
+
+
+
+
Example
+ + +
"PROD"
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutedByExperiment

+
+
+
+
Description
+

Defines the Executed by which experiment details for Probes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + Experiment ID
experimentName - String! + Experiment Name
updatedAt - Int! + Timestamp at which the experiment was last updated
updatedBy - UserDetails + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "experimentName": "xyz789",
+  "updatedAt": 987,
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutionHistory

+
+
+
+
Description
+

Defines the Execution History of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
mode - Mode! + Probe Mode
faultName - String! + Fault Name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "mode": "SOT",
+  "faultName": "xyz789",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Experiment

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentID - String! + ID of the experiment
experimentType - String + Type of the experiment
experimentManifest - String! + Manifest of the experiment
cronSyntax - String! + Cron syntax of the experiment schedule
name - String! + Name of the experiment
description - String! + Description of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
infra - Infra + Target infra in which the experiment will run
isRemoved - Boolean! + Bool value indicating if the experiment has removed
tags - [String!] + Tags of the experiment
createdBy - UserDetails + User who created the experiment
recentExperimentRunDetails - [RecentExperimentRun] + Array of object containing details of recent experiment runs
updatedBy - UserDetails + Details of the user who updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "experimentID": "abc123",
+  "experimentType": "abc123",
+  "experimentManifest": "abc123",
+  "cronSyntax": "xyz789",
+  "name": "abc123",
+  "description": "abc123",
+  "weightages": [Weightages],
+  "isCustomExperiment": false,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "infra": Infra,
+  "isRemoved": true,
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "recentExperimentRunDetails": [RecentExperimentRun],
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentFilterInput

+
+
+
+
Description
+

Defines filter options for experiments

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraName - String + Name of the infra in which the experiment is running
+ infraID - String + ID of the infra in which the experiment is running
+ infraActive - Boolean + Bool value indicating if Chaos Infrastructure is active
+ scheduleType - ScheduleType + Scenario type of the experiment i.e. CRON or NON_CRON
+ status - String + Status of the latest experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "abc123",
+  "infraName": "abc123",
+  "infraID": "xyz789",
+  "infraActive": false,
+  "scheduleType": "CRON",
+  "status": "abc123",
+  "dateRange": DateRange,
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ category - String! + Name of the chart being used
+ experimentName - String! + Name of the experiment
+ hubID - String! + ID of the hub
+
+
+
+
+
Example
+ + +
{
+  "category": "abc123",
+  "experimentName": "abc123",
+  "hubID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRun

+
+
+
+
Description
+

Defines the details of a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentRunID - ID! + ID of the experiment run which is to be queried
experimentType - String + Type of the experiment
experimentID - ID! + ID of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
updatedAt - String! + Timestamp at which experiment run was last updated
createdAt - String! + Timestamp at which experiment run was created
infra - Infra! + Target infra in which the experiment will run
experimentName - String! + Name of the experiment
experimentManifest - String! + Manifest of the experiment run
phase - ExperimentRunStatus! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
faultsPassed - Int + Number of faults passed
faultsFailed - Int + Number of faults failed
faultsAwaited - Int + Number of faults awaited
faultsStopped - Int + Number of faults stopped
faultsNa - Int + Number of faults which are not available
totalFaults - Int + Total number of faults
executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the faults
isRemoved - Boolean + Bool value indicating if the experiment run has removed
updatedBy - UserDetails + User who has updated the experiment
createdBy - UserDetails + User who has created the experiment run
notifyID - ID + Notify ID of the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "4",
+  "experimentType": "abc123",
+  "experimentID": "4",
+  "weightages": [Weightages],
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "infra": Infra,
+  "experimentName": "xyz789",
+  "experimentManifest": "abc123",
+  "phase": "All",
+  "resiliencyScore": 123.45,
+  "faultsPassed": 987,
+  "faultsFailed": 987,
+  "faultsAwaited": 123,
+  "faultsStopped": 123,
+  "faultsNa": 987,
+  "totalFaults": 123,
+  "executionData": "abc123",
+  "isRemoved": false,
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails,
+  "notifyID": 4,
+  "runSequence": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunFilterInput

+
+
+
+
Description
+

Defines input type for experiment run filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraID - String + Name of the infra infra
+ experimentType - ScheduleType + Type of the experiment
+ experimentStatus - ExperimentRunStatus + Status of the experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ experimentRunID - String + ID of experiment run
+ experimentRunStatus - [String] + Array of experiment run status
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraID": "abc123",
+  "experimentType": "CRON",
+  "experimentStatus": "All",
+  "dateRange": DateRange,
+  "experimentRunID": "abc123",
+  "experimentRunStatus": ["abc123"],
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunRequest

+
+
+
+
Description
+

Defines the details for a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String! + ID of the experiment
+ notifyID - String + notifyID is required to give an ack for non cron experiment execution
+ experimentRunID - String! + ID of the experiment run which is to be queried
+ experimentName - String! + Name of the experiment
+ executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the experiments
+ infraID - InfraIdentity! + ID of the infra infra in which the experiment is running
+ revisionID - String! + ID of the revision which consists manifest details
+ completed - Boolean! + Bool value indicating if the experiment run has completed
+ isRemoved - Boolean + Bool value indicating if the experiment run has removed
+ updatedBy - String! + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "notifyID": "abc123",
+  "experimentRunID": "abc123",
+  "experimentName": "xyz789",
+  "executionData": "xyz789",
+  "infraID": InfraIdentity,
+  "revisionID": "abc123",
+  "completed": false,
+  "isRemoved": true,
+  "updatedBy": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunSortInput

+
+
+
+
Description
+

Defines sorting options for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunStatus

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Running

+
+
+

Completed

+
+
+

Completed_With_Error

+
+
+

Stopped

+
+
+

Skipped

+
+
+

Error

+
+
+

Timeout

+
+
+

Terminated

+
+
+

Queued

+
+
+

NA

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Experiment

+
+
+

CronExperiment

+
+
+

ChaosEngine

+
+
+

ChaosSchedule

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

Experiments

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
CSV - String! + +
desc - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "CSV": "abc123",
+  "desc": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultDetails

+
+
+
+
Description
+

Fault Detail consists of all the fault related details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
fault - String! + fault consists of fault.yaml
engine - String! + engine consists engine.yaml
csv - String! + csv consists chartserviceversion.yaml
+
+
+
+
+
Example
+ + +
{
+  "fault": "abc123",
+  "engine": "abc123",
+  "csv": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
displayName - String! + +
description - String! + +
plan - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "displayName": "xyz789",
+  "description": "xyz789",
+  "plan": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Float

+
+
+
+
Description
+

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

+
+
+
+
+
Example
+ + +
123.45
+
+ + +
+
+
+
+
+
+ Types +
+

GET

+
+
+
+
Description
+

Details of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "abc123",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GETRequest

+
+
+
+
Description
+

Details for input of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "abc123",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetChaosHubStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
totalChaosHubs - Int! + Total number of chaoshubs
+
+
+
+
+
Example
+ + +
{"totalChaosHubs": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentResponse

+
+
+
+
Description
+

Defines the details for a given experiment with some additional data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
experimentDetails - Experiment! + Details of experiment
averageResiliencyScore - Float + Average resiliency score of the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentDetails": Experiment,
+  "averageResiliencyScore": 987.65
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentRunStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperimentRuns - Int! + Total number of experiment runs
totalCompletedExperimentRuns - Int! + Total number of completed experiments runs
totalTerminatedExperimentRuns - Int! + Total number of stopped experiment runs
totalRunningExperimentRuns - Int! + Total number of running experiment runs
totalStoppedExperimentRuns - Int! + Total number of stopped experiment runs
totalErroredExperimentRuns - Int! + Total number of errored experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalExperimentRuns": 987,
+  "totalCompletedExperimentRuns": 987,
+  "totalTerminatedExperimentRuns": 987,
+  "totalRunningExperimentRuns": 987,
+  "totalStoppedExperimentRuns": 987,
+  "totalErroredExperimentRuns": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperiments - Int! + Total number of experiments
totalExpCategorizedByResiliencyScore - [ResilienceScoreCategory]! + Total number of cron experiments
+
+
+
+
+
Example
+ + +
{
+  "totalExperiments": 987,
+  "totalExpCategorizedByResiliencyScore": [
+    ResilienceScoreCategory
+  ]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetInfraStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalInfrastructures - Int! + Total number of infrastructures
totalActiveInfrastructure - Int! + Total number of active infrastructures
totalInactiveInfrastructures - Int! + Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! + Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! + Total number of non confirmed infrastructures
+
+
+
+
+
Example
+ + +
{
+  "totalInfrastructures": 987,
+  "totalActiveInfrastructure": 123,
+  "totalInactiveInfrastructures": 123,
+  "totalConfirmedInfrastructure": 987,
+  "totalNonConfirmedInfrastructures": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeReferenceResponse

+
+
+
+
Description
+

Defines the response of the Probe reference API

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
totalRuns - Int! + Total Runs
recentExecutions - [RecentExecutions]! + Recent Executions of the probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "xyz789",
+  "totalRuns": 123,
+  "recentExecutions": [RecentExecutions]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeYAMLRequest

+
+
+
+
Description
+

Defines the input requests for GetProbeYAML query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeName - ID! + Probe name of the probe
+ mode - Mode! + Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
+
+
+
+
+
Example
+ + +
{"probeName": 4, "mode": "SOT"}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbesInExperimentRunResponse

+
+
+
+
Description
+

Defines the response for Get Probe In Experiment Run Query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probe - Probe! + Probe Object
mode - Mode! + Mode of the probe
status - Status! + Status of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probe": Probe,
+  "mode": "SOT",
+  "status": Status
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfig

+
+
+
+
Description
+

Details of setting a Git repository

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ branch - String! + Git branch where the chaos charts will be pushed and synced
+ repoURL - String! + URL of the Git repository
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token used for private repository
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "branch": "abc123",
+  "repoURL": "xyz789",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfigResponse

+
+
+
+
Description
+

Response received after configuring GitOps

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
enabled - Boolean! + Bool value indicating whether GitOps is enabled or not
projectID - String! + ID of the project where GitOps is configured
branch - String + Git branch where the chaos charts will be pushed and synced
repoURL - String + URL of the Git repository
authType - AuthType + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token used for private repository
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "enabled": true,
+  "projectID": "abc123",
+  "branch": "abc123",
+  "repoURL": "abc123",
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "xyz789",
+  "sshPrivateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

HubType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

GIT

+
+
+

REMOTE

+
+
+
+
+
+
+
Example
+ + +
"GIT"
+
+ + +
+
+
+
+
+
+ Types +
+

ID

+
+
+
+
Description
+

The ID scalar type represents a unique identifier, 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 "4") or integer (such as 4) input value will be accepted as an ID.

+
+
+
+
+
Example
+ + +
4
+
+ + +
+
+
+
+
+
+ Types +
+

INFRA_SCOPE

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

namespace

+
+
+

cluster

+
+
+
+
+
+
+
Example
+ + +
"namespace"
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistry

+
+
+
+
Description
+

Defines details for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryName - String! + Name of Image Registry
imageRepoName - String! + Name of image repository
imageRegistryType - String! + Type of the image registry: public/private
secretName - String + Secret which is used for private registry
secretNamespace - String + Namespace where the secret is available
enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": false,
+  "imageRegistryName": "abc123",
+  "imageRepoName": "xyz789",
+  "imageRegistryType": "abc123",
+  "secretName": "abc123",
+  "secretNamespace": "abc123",
+  "enableRegistry": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryInput

+
+
+
+
Description
+

Defines input data for querying the details of an image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
+ imageRegistryName - String! + Name of Image Registry
+ imageRepoName - String! + Name of image repository
+ imageRegistryType - String! + Type of the image registry: public/private
+ secretName - String + Secret which is used for private registry
+ secretNamespace - String + Namespace where the secret is available
+ enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryName": "xyz789",
+  "imageRepoName": "xyz789",
+  "imageRegistryType": "abc123",
+  "secretName": "xyz789",
+  "secretNamespace": "xyz789",
+  "enableRegistry": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryResponse

+
+
+
+
Description
+

Defines response data for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryInfo - ImageRegistry + Information Image Registry
imageRegistryID - String! + ID of the image registry
projectID - String! + ID of the project in which image registry is created
updatedAt - String + Timestamp when the image registry was last updated
createdAt - String + Timestamp when the image registry was created
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
isRemoved - Boolean + Bool value indicating if the image registry has been removed
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryInfo": ImageRegistry,
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789",
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "isRemoved": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Infra

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
infraID - ID! + ID of the infra
name - String! + Name of the infra
description - String + Description of the infra
tags - [String!] + Tags of the infra
environmentID - String! + Environment ID for the infra
platformName - String! + Infra Platform Name eg. GKE,AWS, Others
isActive - Boolean! + Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! + Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! + Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! + Timestamp when the infra was last updated
createdAt - String! + Timestamp when the infra was created
noOfExperiments - Int + Number of schedules created in the infra
noOfExperimentRuns - Int + Number of experiments run in the infra
token - String! + Token used to verify and retrieve the infra manifest
infraNamespace - String + Namespace where the infra is being installed
serviceAccount - String + Name of service account used by infra
infraScope - String! + Scope of the infra : ns or cluster
infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
lastExperimentTimestamp - String + Timestamp of the last experiment run in the infra
startTime - String! + Timestamp when the infra got connected
version - String! + Version of the infra
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
infraType - InfrastructureType + Type of the infrastructure
updateStatus - UpdateStatus! + update status of infra
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "infraID": "4",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "environmentID": "xyz789",
+  "platformName": "xyz789",
+  "isActive": true,
+  "isInfraConfirmed": true,
+  "isRemoved": true,
+  "updatedAt": "xyz789",
+  "createdAt": "abc123",
+  "noOfExperiments": 123,
+  "noOfExperimentRuns": 123,
+  "token": "xyz789",
+  "infraNamespace": "abc123",
+  "serviceAccount": "abc123",
+  "infraScope": "xyz789",
+  "infraNsExists": true,
+  "infraSaExists": true,
+  "lastExperimentTimestamp": "xyz789",
+  "startTime": "xyz789",
+  "version": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "infraType": "Kubernetes",
+  "updateStatus": "AVAILABLE"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraActionResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
action - ActionPayload! + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "xyz789",
+  "action": ActionPayload
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraEventResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
eventID - ID! + +
eventType - String! + +
eventName - String! + +
description - String! + +
infra - Infra! + +
+
+
+
+
+
Example
+ + +
{
+  "eventID": "4",
+  "eventType": "xyz789",
+  "eventName": "xyz789",
+  "description": "abc123",
+  "infra": Infra
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the infra
+ infraID - String + ID of the infra
+ description - String + ID of the infra
+ platformName - String + Platform name of infra
+ infraScope - INFRA_SCOPE + Scope of infra
+ isActive - Boolean + Status of infra
+ tags - [String] + Tags of an infra
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "infraID": "abc123",
+  "description": "xyz789",
+  "platformName": "xyz789",
+  "infraScope": "namespace",
+  "isActive": true,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraIdentity

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - String! + +
+ accessKey - String! + +
+ version - String! + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "abc123",
+  "accessKey": "abc123",
+  "version": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraVersionDetails

+
+
+
+
Description
+

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
latestVersion - String! + Latest infra version supported
compatibleVersions - [String!]! + List of all infra versions supported
+
+
+
+
+
Example
+ + +
{
+  "latestVersion": "xyz789",
+  "compatibleVersions": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfrastructureType

+
+
+
+
Values
+ + + + + + + + + + + + + +
Enum ValueDescription
+

Kubernetes

+
+
+
+
+
+
+
Example
+ + +
"Kubernetes"
+
+ + +
+
+
+
+
+
+ Types +
+

Int

+
+
+
+
Description
+

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

+
+
+
+
+
Example
+ + +
123
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbe

+
+
+
+
Description
+

Defines the K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
group - String + Group of the Probe
version - String! + Version of the Probe
resource - String! + Resource of the Probe
namespace - String + Namespace of the Probe
resourceNames - String + Resource Names of the Probe
fieldSelector - String + Field Selector of the Probe
labelSelector - String + Label Selector of the Probe
operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "group": "xyz789",
+  "version": "xyz789",
+  "resource": "xyz789",
+  "namespace": "abc123",
+  "resourceNames": "xyz789",
+  "fieldSelector": "xyz789",
+  "labelSelector": "abc123",
+  "operation": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbeRequest

+
+
+
+
Description
+

Defines the input for K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ group - String + Group of the Probe
+ version - String! + Version of the Probe
+ resource - String! + Resource of the Probe
+ namespace - String + Namespace of the Probe
+ resourceNames - String + Resource Names of the Probe
+ fieldSelector - String + Field Selector of the Probe
+ labelSelector - String + Label Selector of the Probe
+ operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "group": "abc123",
+  "version": "xyz789",
+  "resource": "xyz789",
+  "namespace": "abc123",
+  "resourceNames": "abc123",
+  "fieldSelector": "xyz789",
+  "labelSelector": "xyz789",
+  "operation": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeGVRRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ group - String! + +
+ version - String! + +
+ resource - String! + +
+
+
+
+
+
Example
+ + +
{
+  "group": "abc123",
+  "version": "abc123",
+  "resource": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObject

+
+
+
+
Description
+

KubeObject consists of the namespace and the available resources in the same

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
namespace - String! + Namespace of the resource
data - [ObjectData]! + Details of the resource
+
+
+
+
+
Example
+ + +
{
+  "namespace": "xyz789",
+  "data": [ObjectData]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectData

+
+
+
+
Description
+

Defines the details of Kubernetes object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes object details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes object is present
+ kubeObj - String! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "requestID": 4,
+  "infraID": InfraIdentity,
+  "kubeObj": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes object data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra in which the Kubernetes object is present
+ kubeObjRequest - KubeGVRRequest + GVR Request
+ objectType - String! + +
+ workloads - [Workload] + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "kubeObjRequest": KubeGVRRequest,
+  "objectType": "xyz789",
+  "workloads": [Workload]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes object is present
kubeObj - [KubeObject]! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "kubeObj": [KubeObject]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbe

+
+
+
+
Description
+

Defines the CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
command - String! + Command of the Probe
comparator - Comparator! + Comparator of the Probe
source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "command": "abc123",
+  "comparator": Comparator,
+  "source": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ command - String! + Command of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+ source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "command": "xyz789",
+  "comparator": ComparatorInput,
+  "source": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbe

+
+
+
+
Description
+

Defines the Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
url - String! + URL of the Probe
method - Method! + HTTP method of the Probe
insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "url": "abc123",
+  "method": Method,
+  "insecureSkipVerify": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ url - String! + URL of the Probe
+ method - MethodRequest! + HTTP method of the Probe
+ insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "url": "xyz789",
+  "method": MethodRequest,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+ +
+
+ Types +
+

ListChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubIDs - [ID!] + Array of ChaosHub IDs for which details will be fetched
+ filter - ChaosHubFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{"chaosHubIDs": [4], "filter": ChaosHubFilterInput}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - EnvironmentFilterInput + Details for fetching filtered data
+ sort - EnvironmentSortInput + Details for fetching sorted data
+
+
+
+
+
Example
+ + +
{
+  "environmentIDs": ["4"],
+  "pagination": Pagination,
+  "filter": EnvironmentFilterInput,
+  "sort": EnvironmentSortInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfEnvironments - Int! + Total number of environment
environments - [Environment] + +
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfEnvironments": 987,
+  "environments": [Environment]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRequest

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentSortInput + Details for fetching sorted data
+ filter - ExperimentFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentIDs": [4],
+  "pagination": Pagination,
+  "sort": ExperimentSortInput,
+  "filter": ExperimentFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentResponse

+
+
+
+
Description
+

Defines the details for a experiment with total experiment count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperiments - Int! + Total number of experiments
experiments - [Experiment]! + Details related to the experiments
+
+
+
+
+
Example
+ + +
{"totalNoOfExperiments": 123, "experiments": [Experiment]}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunRequest

+
+
+
+
Description
+

Defines the details for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentRunIDs - [ID] + Array of experiment run IDs for which details will be fetched
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentRunSortInput + Details for fetching sorted data
+ filter - ExperimentRunFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentRunIDs": [4],
+  "experimentIDs": [4],
+  "pagination": Pagination,
+  "sort": ExperimentRunSortInput,
+  "filter": ExperimentRunFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunResponse

+
+
+
+
Description
+

Defines the details of a experiment to sent as response

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperimentRuns - Int! + Total number of experiment runs
experimentRuns - [ExperimentRun]! + Defines details of experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfExperimentRuns": 987,
+  "experimentRuns": [ExperimentRun]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraRequest

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraIDs - [ID!] + Array of infra IDs for which details will be fetched
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - InfraFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "infraIDs": [4],
+  "environmentIDs": ["4"],
+  "pagination": Pagination,
+  "filter": InfraFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraResponse

+
+
+
+
Description
+

Defines the details for a infras with total infras count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfInfras - Int! + Total number of infras
infras - [Infra]! + Details related to the infras
+
+
+
+
+
Example
+ + +
{"totalNoOfInfras": 987, "infras": [Infra]}
+
+ + +
+
+
+
+
+
+ Types +
+

Maintainer

+
+
+
+
Description
+

Defines the details of the maintainer

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the maintainer
email - String! + Email of the maintainer
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Metadata

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
version - String! + +
annotations - Annotation! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "version": "xyz789",
+  "annotations": Annotation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Method

+
+
+
+
Description
+

Defines the methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
get - GET + A GET request
post - POST + A POST request
+
+
+
+
+
Example
+ + +
{"get": GET, "post": POST}
+
+ + +
+
+
+
+
+
+ Types +
+

MethodRequest

+
+
+
+
Description
+

Defines the input for methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ get - GETRequest + A GET request
+ post - POSTRequest + A POST request
+
+
+
+
+
Example
+ + +
{
+  "get": GETRequest,
+  "post": POSTRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Mode

+
+
+
+
Description
+

Defines the different modes of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

SOT

+
+
+

EOT

+
+
+

Edge

+
+
+

Continuous

+
+
+

OnChaos

+
+
+
+
+
+
+
Example
+ + +
"SOT"
+
+ + +
+
+
+
+
+
+ Types +
+

ObjectData

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
labels - [String!] + Labels present in the resource
name - String! + Name of the resource
+
+
+
+
+
Example
+ + +
{
+  "labels": ["xyz789"],
+  "name": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POST

+
+
+
+
Description
+

Details of POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
contentType - String + Content Type of the request
body - String + Body of the request
bodyPath - String + Body Path of the HTTP body required for the http post request
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "xyz789",
+  "body": "abc123",
+  "bodyPath": "abc123",
+  "criteria": "abc123",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POSTRequest

+
+
+
+
Description
+

Details for input of the POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ contentType - String + Content Type of the request
+ body - String + Body of the request
+ bodyPath - String + Body Path of the request for Body
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "xyz789",
+  "body": "xyz789",
+  "bodyPath": "xyz789",
+  "criteria": "xyz789",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbe

+
+
+
+
Description
+

Defines the PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
endpoint - String! + Endpoint of the Probe
query - String + Query of the Probe
queryPath - String + Query path of the Probe
comparator - Comparator! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "endpoint": "abc123",
+  "query": "xyz789",
+  "queryPath": "abc123",
+  "comparator": Comparator
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbeRequest

+
+
+
+
Description
+

Defines the input for PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ endpoint - String! + Endpoint of the Probe
+ query - String + Query of the Probe
+ queryPath - String + Query path of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "endpoint": "xyz789",
+  "query": "abc123",
+  "queryPath": "xyz789",
+  "comparator": ComparatorInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PackageInformation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
packageName - String! + +
experiments - [Experiments!]! + +
+
+
+
+
+
Example
+ + +
{
+  "packageName": "abc123",
+  "experiments": [Experiments]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Pagination

+
+
+
+
Description
+

Defines data required to fetch paginated data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ page - Int! + Page number for which data will be fetched
+ limit - Int! + Number of data to be fetched
+
+
+
+
+
Example
+ + +
{"page": 987, "limit": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLog

+
+
+
+
Description
+

Response received for querying pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - InfraIdentity! + ID of the cluster
+ requestID - ID! + Unique request ID of a particular node which is being queried
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podType - String! + Type of the pod: chaosengine
+ log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "infraID": InfraIdentity,
+  "requestID": "4",
+  "experimentRunID": "4",
+  "podName": "abc123",
+  "podType": "xyz789",
+  "log": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogRequest

+
+
+
+
Description
+

Defines the details for fetching the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the cluster
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podNamespace - String! + Namespace where the pod is running
+ podType - String! + Type of the pod: chaosEngine or not pod
+ expPod - String + Name of the experiment pod fetched from execution data
+ runnerPod - String + Name of the runner pod fetched from execution data
+ chaosNamespace - String + Namespace where the experiment is executing
+
+
+
+
+
Example
+ + +
{
+  "infraID": 4,
+  "experimentRunID": "4",
+  "podName": "xyz789",
+  "podNamespace": "abc123",
+  "podType": "xyz789",
+  "expPod": "abc123",
+  "runnerPod": "xyz789",
+  "chaosNamespace": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogResponse

+
+
+
+
Description
+

Defines the response received for querying querying the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
podName - String! + Name of the pod for which logs are queried
podType - String! + Type of the pod: chaosengine
log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "podName": "abc123",
+  "podType": "xyz789",
+  "log": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PredefinedExperimentList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentName - String! + Name of the experiment
experimentCSV - String! + Experiment CSV
experimentManifest - String! + Experiment Manifest
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "experimentCSV": "xyz789",
+  "experimentManifest": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Probe

+
+
+
+
Description
+

Defines the details of the Probe entity

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
description - String + Description of the Probe
tags - [String!] + Tags of the Probe
type - ProbeType! + Type of the Probe [From list of ProbeType enum]
infrastructureType - InfrastructureType! + Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbe + Kubernetes HTTP Properties of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbe + Kubernetes CMD Properties of the specific type of the Probe
k8sProperties - K8SProbe + K8S Properties of the specific type of the Probe
promProperties - PROMProbe + PROM Properties of the specific type of the Probe
recentExecutions - [ProbeRecentExecutions!] + All execution histories of the probe
referencedBy - Int + Referenced by how many faults
updatedAt - String! + Timestamp at which the Probe was last updated
createdAt - String! + Timestamp at which the Probe was created
updatedBy - UserDetails + User who has updated the Probe
createdBy - UserDetails + User who has created the Probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbe,
+  "kubernetesCMDProperties": KubernetesCMDProbe,
+  "k8sProperties": K8SProbe,
+  "promProperties": PROMProbe,
+  "recentExecutions": [ProbeRecentExecutions],
+  "referencedBy": 987,
+  "updatedAt": "xyz789",
+  "createdAt": "abc123",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeFilterInput

+
+
+
+
Description
+

Defines the input for Probe filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the Probe
+ dateRange - DateRange + Date range for filtering purpose
+ type - [ProbeType] + Type of the Probe [From list of ProbeType enum]
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "dateRange": DateRange,
+  "type": ["httpProbe"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "faultName": "abc123",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRequest

+
+
+
+
Description
+

Defines the details required for creating a Chaos Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - ID! + Name of the Probe
+ description - String + Description of the Probe
+ tags - [String!] + Tags of the Probe
+ type - ProbeType! + Type of the Probe [From list of ProbeType enum]
+ infrastructureType - InfrastructureType! + Infrastructure type of the Probe
+ kubernetesHTTPProperties - KubernetesHTTPProbeRequest + HTTP Properties of the specific type of the Probe
+ kubernetesCMDProperties - KubernetesCMDProbeRequest + CMD Properties of the specific type of the Probe
+ k8sProperties - K8SProbeRequest + K8S Properties of the specific type of the Probe
+ promProperties - PROMProbeRequest + PROM Properties of the specific type of the Probe
+
+
+
+
+
Example
+ + +
{
+  "name": "4",
+  "description": "abc123",
+  "tags": ["xyz789"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbeRequest,
+  "kubernetesCMDProperties": KubernetesCMDProbeRequest,
+  "k8sProperties": K8SProbeRequest,
+  "promProperties": PROMProbeRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeType

+
+
+
+
Description
+

Defines the different types of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

httpProbe

+
+
+

cmdProbe

+
+
+

promProbe

+
+
+

k8sProbe

+
+
+
+
+
+
+
Example
+ + +
"httpProbe"
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeVerdict

+
+
+
+
Description
+

Defines the older different statuses of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

Passed

+
+
+

Failed

+
+
+

NA

+
+
+

Awaited

+
+
+
+
+
+
+
Example
+ + +
"Passed"
+
+ + +
+
+
+
+
+
+ Types +
+

Provider

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + +
+
+
+
+
+
Example
+ + +
{"name": "xyz789"}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
mode - Mode! + Probe mode
executionHistory - [ExecutionHistory!]! + Execution History
+
+
+
+
+
Example
+ + +
{
+  "faultName": "xyz789",
+  "mode": "SOT",
+  "executionHistory": [ExecutionHistory]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExperimentRun

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
phase - String! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
createdBy - UserDetails + User who created the experiment run
updatedBy - UserDetails + User who updated the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": 4,
+  "phase": "abc123",
+  "resiliencyScore": 987.65,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "runSequence": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraRequest

+
+
+
+
Description
+

Defines the details for the new infra being connected

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the infra
+ environmentID - String! + Environment ID for the infra
+ infrastructureType - InfrastructureType! + Type of Infra : internal/external
+ description - String + Description of the infra
+ platformName - String! + Infra Platform Name eg. GKE,AWS, Others
+ infraNamespace - String + Namespace where the infra is being installed
+ serviceAccount - String + Name of service account used by infra
+ infraScope - String! + Scope of the infra : ns or infra
+ infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
+ infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
+ skipSsl - Boolean + Bool value indicating whether infra will skip ssl checks or not
+ nodeSelector - String + Node selectors used by infra
+ tolerations - [Toleration] + Node tolerations used by infra
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "environmentID": "abc123",
+  "infrastructureType": "Kubernetes",
+  "description": "xyz789",
+  "platformName": "xyz789",
+  "infraNamespace": "xyz789",
+  "serviceAccount": "xyz789",
+  "infraScope": "xyz789",
+  "infraNsExists": false,
+  "infraSaExists": true,
+  "skipSsl": true,
+  "nodeSelector": "abc123",
+  "tolerations": [Toleration],
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraResponse

+
+
+
+
Description
+

Response received for registering a new infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
token - String! + Token used to verify and retrieve the infra manifest
infraID - String! + Unique ID for the newly registered infra
name - String! + Infra name as sent in request
manifest - String! + Infra Manifest
+
+
+
+
+
Example
+ + +
{
+  "token": "xyz789",
+  "infraID": "xyz789",
+  "name": "xyz789",
+  "manifest": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ResilienceScoreCategory

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
id - Int! + Lower bound of the range(inclusive)
count - Int! + total experiments with avg resilience score between lower bound and upper bound(exclusive)
+
+
+
+
+
Example
+ + +
{"id": 987, "count": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

ResourceDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
description - String + +
tags - [String!] + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ResourceDetails Types
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "description": "abc123",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RunChaosExperimentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
notifyID - ID! + +
+
+
+
+
+
Example
+ + +
{"notifyID": 4}
+
+ + +
+
+
+
+
+
+ Types +
+

SSHKey

+
+
+
+
Description
+

Defines the SSHKey details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
publicKey - String! + Public SSH key authenticating into git repository
privateKey - String! + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "publicKey": "xyz789",
+  "privateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

SaveChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the experiment
+ type - ExperimentType + Type of the experiment
+ name - String! + Name of the experiment
+ description - String! + Description of the experiment
+ manifest - String! + Manifest of the experiment
+ infraID - ID! + ID of the target infrastructure in which the experiment will run
+ tags - [String!] + Tags of the infrastructure
+
+
+
+
+
Example
+ + +
{
+  "id": "abc123",
+  "type": "All",
+  "name": "abc123",
+  "description": "xyz789",
+  "manifest": "xyz789",
+  "infraID": "4",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ScheduleType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

CRON

+
+
+

NON_CRON

+
+
+

ALL

+
+
+
+
+
+
+
Example
+ + +
"CRON"
+
+ + +
+
+
+
+
+
+ Types +
+

ServerVersionResponse

+
+
+
+
Description
+

Response received for fetching GQL server version

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
key - String! + Returns server version key
value - String! + Returns server version value
+
+
+
+
+
Example
+ + +
{
+  "key": "abc123",
+  "value": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Spec

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
displayName - String! + +
categoryDescription - String! + +
keywords - [String!]! + +
maturity - String! + +
maintainers - [Maintainer!]! + +
minKubeVersion - String! + +
provider - Provider! + +
links - [Link!]! + +
faults - [FaultList!]! + +
experiments - [String!] + +
chaosExpCRDLink - String! + +
platforms - [String!]! + +
chaosType - String + +
+
+
+
+
+
Example
+ + +
{
+  "displayName": "xyz789",
+  "categoryDescription": "xyz789",
+  "keywords": ["xyz789"],
+  "maturity": "abc123",
+  "maintainers": [Maintainer],
+  "minKubeVersion": "xyz789",
+  "provider": Provider,
+  "links": [Link],
+  "faults": [FaultList],
+  "experiments": ["abc123"],
+  "chaosExpCRDLink": "abc123",
+  "platforms": ["abc123"],
+  "chaosType": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Status

+
+
+
+
Description
+

Status defines whether a probe is pass or fail

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
verdict - ProbeVerdict! + Verdict defines the verdict of the probe, range: Passed, Failed, N/A
description - String + Description defines the description of probe status
+
+
+
+
+
Example
+ + +
{
+  "verdict": "Passed",
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

String

+
+
+
+
Description
+

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

+
+
+
+
+
Example
+ + +
"xyz789"
+
+ + +
+
+
+
+
+
+ Types +
+

Toleration

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ tolerationSeconds - Int + +
+ key - String + +
+ operator - String + +
+ effect - String + +
+ value - String + +
+
+
+
+
+
Example
+ + +
{
+  "tolerationSeconds": 123,
+  "key": "xyz789",
+  "operator": "xyz789",
+  "effect": "xyz789",
+  "value": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the chaos hub
+ name - String! + Name of the chaos hub
+ description - String + Description of the infra
+ tags - [String!] + Tags of the infra
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "id": "abc123",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "repoURL": "xyz789",
+  "repoBranch": "abc123",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String + +
+ description - String + +
+ tags - [String] + +
+ type - EnvironmentType + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "abc123",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "type": "PROD"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateStatus

+
+
+
+
Description
+

UpdateStatus represents if infra needs to be updated

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

AVAILABLE

+
+
+

MANDATORY

+
+
+

NOT_REQUIRED

+
+
+
+
+
+
+
Example
+ + +
"AVAILABLE"
+
+ + +
+
+
+
+
+
+ Types +
+

UserDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
userID - String! + +
username - String! + +
email - String! + +
+
+
+
+
+
Example
+ + +
{
+  "userID": "abc123",
+  "username": "xyz789",
+  "email": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Weightages

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Name of the fault
weightage - Int! + Weightage of the experiment
+
+
+
+
+
Example
+ + +
{"faultName": "abc123", "weightage": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

WeightagesInput

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ faultName - String! + Name of the fault
+ weightage - Int! + Weightage of the fault
+
+
+
+
+
Example
+ + +
{"faultName": "abc123", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

Workload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + +
+ kind - String! + +
+ namespace - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "kind": "abc123",
+  "namespace": "abc123"
+}
+
+ + +
+
+
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.x/config.yml b/mkdocs/docs/graphql/v3.10.x/config.yml new file mode 100644 index 00000000000..8227cec250b --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.x/config.yml @@ -0,0 +1,33 @@ +spectaql: + targetDir: ./mkdocs/docs/graphql/v3.10.x + logoFile: ./mkdocs/docs/graphql/logo.png + faviconFile: ./mkdocs/docs/graphql/logo.png + displayAllServers: true + themeDir: ./mkdocs/docs/graphql/v3.10.x/custom-theme + +introspection: + removeTrailingPeriodFromDescriptions: false + schemaFile: ./chaoscenter/graphql/definitions/shared/*.graphqls + queryNameStrategy: capitalizeFirst + fieldExpansionDepth: 2 + + spectaqlDirective: + enable: true + +extensions: + graphqlScalarExamples: true + +info: + title: ChaosCenter API Documentation + description: Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform. + + x-introItems: + - title: Common Error Response + file: ./mkdocs/docs/graphql/v3.10.x/error_response_guide.md + +servers: + - url: http://localhost:8080 + description: Dev + - url: http://localhost:8080/query + description: Prod + production: true diff --git a/mkdocs/docs/graphql/v3.10.x/custom-theme/stylesheets/custom.scss b/mkdocs/docs/graphql/v3.10.x/custom-theme/stylesheets/custom.scss new file mode 100644 index 00000000000..68e1aa2268c --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.x/custom-theme/stylesheets/custom.scss @@ -0,0 +1,24 @@ + +$line-height-heading: 1.2; +$font-size-large-heading: 1.7105263158rem; +$font-weight-large-heading: 700; +$content-padding: 20px; +$text-color: #535b60; +$text-weight: 400; +$text-size: 1.5789473684rem; + +#spectaql { + h2 { + color: $text-color; + font-weight: $text-weight; + font-size: $text-size; + } + + .doc-heading { + line-height: $line-height-heading; + font-size: $font-size-large-heading; + font-weight: $font-weight-large-heading; + color: #535b60 + } + +} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.x/error_response_guide.md b/mkdocs/docs/graphql/v3.10.x/error_response_guide.md new file mode 100644 index 00000000000..76e4ab30fce --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.x/error_response_guide.md @@ -0,0 +1,29 @@ +All error responses follow the structure outlined below. + +```json +{ + "errors": [ + { + "message": "Error message", + "path": [ + "Request path" + ] + } + ], + "data": {} +} +``` + +### Field Descriptions: +- **errors**:
+ An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
+ **Type: `Array`**

+ - **message**:
+ A description of the error.
+ **Type: `String`**

+ - **path**:
+ Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
+ **Type: `Array of Strings`**

+- **data**:
+ This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
+ **Type: `Object`**
diff --git a/mkdocs/docs/graphql/v3.10.x/images/favicon.png b/mkdocs/docs/graphql/v3.10.x/images/favicon.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.10.x/images/favicon.png differ diff --git a/mkdocs/docs/graphql/v3.10.x/images/logo.png b/mkdocs/docs/graphql/v3.10.x/images/logo.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.10.x/images/logo.png differ diff --git a/mkdocs/docs/graphql/v3.10.x/javascripts/spectaql.min.js b/mkdocs/docs/graphql/v3.10.x/javascripts/spectaql.min.js new file mode 100644 index 00000000000..6ef3202c222 --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.x/javascripts/spectaql.min.js @@ -0,0 +1 @@ +function scrollSpy(){var l=5,e=document.querySelector("html"),c=(e&&(e=window.getComputedStyle(e).scrollPaddingTop)&&"string"==typeof e&&"auto"!==e&&e.endsWith("px")&&(l+=parseInt(e.split("px")[0])),"nav-scroll-active"),i=null,d=[];function t(){i=null;var e=document.querySelectorAll("[data-traverse-target]");Array.prototype.forEach.call(e,function(e){d.push({id:e.id,top:e.offsetTop})})}var n=debounce(function(){t(),o()},500),o=debounce(function(){var e,t,n,o,r=(e=>{for(var t=e+l,n=0;n=d[n].top&&(!o||t{toggleMenu(),scrollSpy()}); \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.10.x/stylesheets/spectaql.min.css b/mkdocs/docs/graphql/v3.10.x/stylesheets/spectaql.min.css new file mode 100644 index 00000000000..e7666ab6b36 --- /dev/null +++ b/mkdocs/docs/graphql/v3.10.x/stylesheets/spectaql.min.css @@ -0,0 +1 @@ +#spectaql h2{color:#535b60;font-weight:400;font-size:1.5789473684rem}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;font-weight:700;color:#535b60}#spectaql{padding:0;margin:0}#spectaql pre{overflow:auto;margin-top:0;margin-bottom:20px}#spectaql pre code{display:block;background:#ccc}#spectaql table{width:100%;table-layout:fixed;text-align:left;border-collapse:collapse}#spectaql table td,#spectaql table th{margin:0;padding:0}#spectaql #introduction .example-section>*,#spectaql .definition-heading,#spectaql .doc-heading,#spectaql .introduction-item-title,#spectaql .operation-heading{overflow:hidden;text-overflow:ellipsis}#spectaql #page{display:flex}#spectaql #page *{box-sizing:border-box}#spectaql #page.drawer-open #sidebar{z-index:1000;transform:translateX(0)}#spectaql #page.drawer-open .drawer-overlay{display:block;background:rgba(0,0,0,.5);z-index:10}#spectaql #sidebar{position:fixed;min-width:250px;max-width:250px;flex-shrink:0;transition:transform .2s ease-out;transform:translateX(-100%);z-index:10;padding-top:20px;background:#fff}@media (min-width:48em){#spectaql #sidebar{position:relative;transform:none}}@media (min-width:64em){#spectaql #sidebar{min-width:300px;max-width:300px}}#spectaql .sidebar-top-container{display:flex;align-items:center;padding:0 20px}#spectaql #mobile-navbar{display:flex;align-items:center;position:sticky;top:0}@media (min-width:48em){#spectaql #mobile-navbar{display:none}}#spectaql .sidebar-open-button{display:flex;align-items:flex-start;margin:0;padding:0;border:none;background:0 0}#spectaql .sidebar-open-button .hamburger{width:16px;height:14px;cursor:pointer}#spectaql .sidebar-open-button .hamburger::after{display:block;content:"";height:2px;background:#535b60;box-shadow:0 5px 0 #535b60,0 10px 0 #535b60}#spectaql .sidebar-open-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .close-button{display:block}#spectaql .close-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:48em){#spectaql .close-button{display:none}}#spectaql .drawer-overlay{display:none;position:absolute;top:0;left:0;bottom:0;right:0;background:rgba(0,0,0,0)}@media (min-width:48em){#spectaql .drawer-overlay{display:none!important}}#spectaql #nav{display:flex;flex-direction:column;max-height:calc(100vh - 0px);padding:0 20px;padding-bottom:20px;position:sticky;top:0;overflow:auto}#spectaql #logo{margin-right:auto}#spectaql #logo img{display:block;width:100%;max-width:100%}#spectaql .nav-group-items,#spectaql .nav-group-section-items{padding:0;margin:0}#spectaql .nav-group-items>li,#spectaql .nav-group-section-items>li{list-style:none}#spectaql .nav-group-items .nav-group-section-title,#spectaql .nav-group-items>li,#spectaql .nav-group-section-items .nav-group-section-title,#spectaql .nav-group-section-items>li{overflow:hidden;text-overflow:ellipsis}#spectaql .nav-group-section-items{display:none}#spectaql .nav-scroll-expand .nav-group-section-items{display:block}#spectaql #docs{position:relative;margin:0 auto;min-width:100px;max-width:88em;flex-grow:1;flex-shrink:1;padding:20px}@media (min-width:48em){#spectaql .doc-row{display:flex;flex-wrap:wrap}}#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:100%}@media (min-width:48em){#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:50%}}@media (min-width:48em){#spectaql .doc-row .doc-copy{padding-right:20px}}@media (min-width:48em){#spectaql .doc-row .doc-examples{padding-left:20px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e}#spectaql{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.6;background:#fff;color:#535b60}@media (min-width:32em){#spectaql{font-size:16px}}#spectaql a{color:#0298bf;text-decoration:none}#spectaql a:hover{color:#0182a2}#spectaql a:active,#spectaql a:focus{color:#0298bf}#spectaql code{font-size:.875em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}#spectaql pre{color:#fff}#spectaql pre code{background:#222}#spectaql pre code,#spectaql pre code.hljs{font-size:.82em;line-height:1.4;padding:15px 20px}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;margin-top:10px}@media (min-width:48em){#spectaql .doc-heading{margin-top:-10px}}#spectaql .close-button{background:0 0;border:none;padding:5px;font-size:16px;font-weight:700;color:#535b60}#spectaql #introduction{margin-bottom:60px}#spectaql #introduction .example-section:not(.example-section-is-code){margin-bottom:20px}#spectaql #introduction .example-section:not(.example-section-is-code) h5,#spectaql #introduction .example-section:not(.example-section-is-code) p{margin:0;font-size:1em}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:20px;padding-bottom:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:30px;padding-bottom:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:40px;padding-bottom:40px}}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:20px;padding-right:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:30px;padding-right:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:50px;padding-right:50px}}#spectaql #sidebar{padding-bottom:0;background:#fff}#spectaql #sidebar a{color:#535b60}#spectaql #sidebar a.nav-scroll-active,#spectaql #sidebar a:hover{font-weight:700}#spectaql #sidebar a.nav-scroll-active{color:#535b60}#spectaql #sidebar a:hover{color:#0182a2}@media (min-width:48em){#spectaql #sidebar{border-right:2px solid #d8d8d8}}#spectaql #mobile-navbar{background:#fff;margin-top:-20px;margin-left:-20px;margin-right:-20px}@media (min-width:32em){#spectaql #mobile-navbar{margin-top:-30px;margin-left:-30px;margin-right:-30px}}#spectaql #mobile-navbar .sidebar-open-button::after{display:block;content:"All Topics";margin-left:10px;color:#535b60}#spectaql #nav .nav-group{margin-top:20px}#spectaql #nav .nav-group li{margin-bottom:5px}#spectaql #nav .nav-group-title{font-size:.875em;font-weight:400;margin:0 0 6px 0;color:#999}#spectaql #nav .nav-group-section-title{font-size:inherit;margin:0;margin-bottom:5px;font-weight:400}#spectaql #nav .nav-group-section-items{margin-left:.75em}#spectaql .definition,#spectaql .operation{margin-bottom:60px}#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.72em}#spectaql .definition .definition-heading code,#spectaql .definition .operation-heading code,#spectaql .operation .definition-heading code,#spectaql .operation .operation-heading code{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:32em){#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.7105263158rem}}#spectaql .definition-group-name,#spectaql .group-heading,#spectaql .operation-group-name{border-top:2px solid #d8d8d8;padding-top:3px;color:#999;font-size:inherit;font-weight:inherit}#spectaql .definition-group-name a,#spectaql .group-heading a,#spectaql .operation-group-name a{color:#999}#spectaql .definition-group-name a:hover,#spectaql .group-heading a:hover,#spectaql .operation-group-name a:hover{font-weight:700}#spectaql .doc-examples{margin-top:20px}#spectaql .doc-examples .example-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .doc-examples .example-section-is-code h5{color:#999;text-transform:uppercase;background:#000;font-size:.75em;font-weight:700;padding:.6em 0 .6em 20px;margin:0;opacity:1}@media (min-width:48em){#spectaql .doc-examples{margin-top:0}}#spectaql .doc-copy p{margin:0 0 20px 0}#spectaql .doc-copy p:last-child{margin-bottom:0}#spectaql .doc-copy table tr th{font-weight:400;border-bottom:2px solid #d8d8d8}#spectaql .doc-copy table tr td{border-bottom:1px solid #e0e0e0}#spectaql .doc-copy table tr.row-has-field-arguments td,#spectaql .doc-copy table tr:last-child td{border-bottom:none}#spectaql .doc-copy table tr td,#spectaql .doc-copy table tr th{padding:5px}#spectaql .doc-copy table tr td:first-child,#spectaql .doc-copy table tr th:first-child{padding-left:0}#spectaql .doc-copy table tr td:last-child,#spectaql .doc-copy table tr th:last-child{padding-right:0}#spectaql .doc-copy .doc-copy-section{margin-bottom:30px}#spectaql .doc-copy .doc-copy-section>h5{margin:0 0 5px 0;font-size:inherit;font-weight:inherit;color:#999}#spectaql .doc-copy .definition-description>h5,#spectaql .doc-copy .definition-properties>h5,#spectaql .doc-copy .operation-description>h5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .field-arguments{font-size:.875em;background-color:#fafbfc;border:1px solid #e0e0e0;padding:10px;margin-bottom:5px}#spectaql .field-arguments p{margin:10px 0 0 0}#spectaql .field-arguments h5.field-arguments-heading{margin:0;padding:0 0 10px 0;font-weight:inherit;color:#999}#spectaql .field-arguments .field-argument{border-top:1px #e0e0e0 solid;padding:10px 0}#spectaql .field-arguments .field-argument:last-child{padding-bottom:0}#spectaql .field-arguments .field-argument-name{margin:0;font-size:inherit;font-weight:inherit}#spectaql .deprecation-reason{word-break:break-word}#spectaql .deprecation-reason::before{display:inline;content:"Deprecated";padding:2px 5px;margin-right:5px;background:#fed7d8;color:#c60609;font-weight:700;font-size:.875em} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.0/api.html b/mkdocs/docs/graphql/v3.11.0/api.html new file mode 100644 index 00000000000..8e22f6d326a --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.0/api.html @@ -0,0 +1,18295 @@ + + + + + + + ChaosCenter API Documentation + + + + +
+ +
+
+ +
+
+

ChaosCenter API Documentation

+
+
+
+

Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.

+
+
+
+
API Endpoints
+
# Dev:
+http://localhost:8080
+# Prod:
+http://localhost:8080/query
+
+
+
+
+
+

Common Error Response

+
+
+

All error responses follow the structure outlined below.

+
{
+  "errors": [
+    {
+      "message": "Error message",
+      "path": [
+        "Request path"
+      ]
+    }
+  ],
+  "data": {}
+}
+
+

Field Descriptions:

+
    +
  • errors:
    An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
    + Type: Array

    +
      +
    • message:
      A description of the error.
      + Type: String

      +
    • +
    • path:
      Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
      + Type: Array of Strings

      +
    • +
    +
  • +
  • data:
    This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
    + Type: Object
    +
  • +
+
+
+
+
+
+
+

Queries

+
+

+ getChaosFault +

+
+
+
+
Description
+

Get the fault list from a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a FaultDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosFault(
+  $projectID: ID!,
+  $request: ExperimentRequest!
+) {
+  getChaosFault(
+    projectID: $projectID,
+    request: $request
+  ) {
+    fault
+    engine
+    csv
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ExperimentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosFault": {
+      "fault": "abc123",
+      "engine": "abc123",
+      "csv": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHub +

+
+
+
+
Description
+

Get the details of a requested ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHubStatus! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ chaosHubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHub(
+  $projectID: ID!,
+  $chaosHubID: ID!
+) {
+  getChaosHub(
+    projectID: $projectID,
+    chaosHubID: $chaosHubID
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "chaosHubID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosHub": {
+      "id": "4",
+      "repoURL": "abc123",
+      "repoBranch": "abc123",
+      "remoteHub": "abc123",
+      "isAvailable": false,
+      "totalFaults": "xyz789",
+      "totalExperiments": "abc123",
+      "name": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "xyz789",
+      "isRemoved": false,
+      "sshPrivateKey": "abc123",
+      "sshPublicKey": "abc123",
+      "lastSyncedAt": "xyz789",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "description": "abc123",
+      "isDefault": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHubStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetChaosHubStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHubStats($projectID: ID!) {
+  getChaosHubStats(projectID: $projectID) {
+    totalChaosHubs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"getChaosHubStats": {"totalChaosHubs": 123}}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  getEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "environmentID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getEnvironment": {
+      "projectID": "xyz789",
+      "environmentID": "xyz789",
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "abc123",
+      "isRemoved": false,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperiment +

+
+
+
+
Description
+

Returns the experiment based on experiment ID

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperiment(
+  $projectID: ID!,
+  $experimentID: String!
+) {
+  getExperiment(
+    projectID: $projectID,
+    experimentID: $experimentID
+  ) {
+    experimentDetails {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+    averageResiliencyScore
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "experimentID": "xyz789"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperiment": {
+      "experimentDetails": Experiment,
+      "averageResiliencyScore": 987.65
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRun +

+
+
+
+
Description
+

Returns experiment run based on experiment run ID

+
+
+
+
+
+
+
Response
+

Returns an ExperimentRun! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - ID + +
+ notifyID - ID + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: ID,
+  $notifyID: ID
+) {
+  getExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  ) {
+    projectID
+    experimentRunID
+    experimentType
+    experimentID
+    weightages {
+      faultName
+      weightage
+    }
+    updatedAt
+    createdAt
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+    experimentName
+    experimentManifest
+    phase
+    resiliencyScore
+    faultsPassed
+    faultsFailed
+    faultsAwaited
+    faultsStopped
+    faultsNa
+    totalFaults
+    executionData
+    isRemoved
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+    notifyID
+    runSequence
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "4",
+  "notifyID": 4
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRun": {
+      "projectID": 4,
+      "experimentRunID": "4",
+      "experimentType": "abc123",
+      "experimentID": 4,
+      "weightages": [Weightages],
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "infra": Infra,
+      "experimentName": "xyz789",
+      "experimentManifest": "xyz789",
+      "phase": "All",
+      "resiliencyScore": 123.45,
+      "faultsPassed": 987,
+      "faultsFailed": 123,
+      "faultsAwaited": 987,
+      "faultsStopped": 987,
+      "faultsNa": 123,
+      "totalFaults": 987,
+      "executionData": "xyz789",
+      "isRemoved": false,
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails,
+      "notifyID": 4,
+      "runSequence": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRunStats +

+
+
+
+
Description
+

Query to get experiment run stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentRunStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRunStats($projectID: ID!) {
+  getExperimentRunStats(projectID: $projectID) {
+    totalExperimentRuns
+    totalCompletedExperimentRuns
+    totalTerminatedExperimentRuns
+    totalRunningExperimentRuns
+    totalStoppedExperimentRuns
+    totalErroredExperimentRuns
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRunStats": {
+      "totalExperimentRuns": 123,
+      "totalCompletedExperimentRuns": 987,
+      "totalTerminatedExperimentRuns": 123,
+      "totalRunningExperimentRuns": 123,
+      "totalStoppedExperimentRuns": 987,
+      "totalErroredExperimentRuns": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentStats($projectID: ID!) {
+  getExperimentStats(projectID: $projectID) {
+    totalExperiments
+    totalExpCategorizedByResiliencyScore {
+      id
+      count
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentStats": {
+      "totalExperiments": 987,
+      "totalExpCategorizedByResiliencyScore": [
+        ResilienceScoreCategory
+      ]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getGitOpsDetails +

+
+
+
+
Description
+

Returns the git configuration for gitops

+
+
+
+
+
+
+
Response
+

Returns a GitConfigResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetGitOpsDetails($projectID: ID!) {
+  getGitOpsDetails(projectID: $projectID) {
+    enabled
+    projectID
+    branch
+    repoURL
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getGitOpsDetails": {
+      "enabled": false,
+      "projectID": "abc123",
+      "branch": "abc123",
+      "repoURL": "abc123",
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "xyz789",
+      "password": "abc123",
+      "sshPrivateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getImageRegistry +

+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetImageRegistry($projectID: String!) {
+  getImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getImageRegistry": {
+      "isDefault": true,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "xyz789",
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfra +

+
+
+
+
Description
+

Returns infra with a particular infraID in the project

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  getInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfra": {
+      "projectID": "4",
+      "infraID": 4,
+      "name": "abc123",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "environmentID": "xyz789",
+      "platformName": "abc123",
+      "isActive": false,
+      "isInfraConfirmed": false,
+      "isRemoved": true,
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "noOfExperiments": 987,
+      "noOfExperimentRuns": 123,
+      "token": "abc123",
+      "infraNamespace": "abc123",
+      "serviceAccount": "xyz789",
+      "infraScope": "abc123",
+      "infraNsExists": true,
+      "infraSaExists": true,
+      "lastExperimentTimestamp": "abc123",
+      "startTime": "xyz789",
+      "version": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraDetails +

+
+
+
+
Description
+

Returns infra details based on identifiers

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraDetails(
+  $infraID: ID!,
+  $projectID: ID!
+) {
+  getInfraDetails(
+    infraID: $infraID,
+    projectID: $projectID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"infraID": "4", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraDetails": {
+      "projectID": "4",
+      "infraID": 4,
+      "name": "abc123",
+      "description": "abc123",
+      "tags": ["abc123"],
+      "environmentID": "xyz789",
+      "platformName": "abc123",
+      "isActive": false,
+      "isInfraConfirmed": true,
+      "isRemoved": false,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 987,
+      "token": "abc123",
+      "infraNamespace": "abc123",
+      "serviceAccount": "abc123",
+      "infraScope": "abc123",
+      "infraNsExists": true,
+      "infraSaExists": true,
+      "lastExperimentTimestamp": "abc123",
+      "startTime": "xyz789",
+      "version": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraManifest +

+
+
+
+
Description
+

Returns the manifest for a given infraID

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ upgrade - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraManifest(
+  $infraID: ID!,
+  $upgrade: Boolean!,
+  $projectID: ID!
+) {
+  getInfraManifest(
+    infraID: $infraID,
+    upgrade: $upgrade,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "infraID": "4",
+  "upgrade": false,
+  "projectID": 4
+}
+
+ + +
+
+
Response
+ + +
{"data": {"getInfraManifest": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetInfraStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraStats($projectID: ID!) {
+  getInfraStats(projectID: $projectID) {
+    totalInfrastructures
+    totalActiveInfrastructure
+    totalInactiveInfrastructures
+    totalConfirmedInfrastructure
+    totalNonConfirmedInfrastructures
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraStats": {
+      "totalInfrastructures": 123,
+      "totalActiveInfrastructure": 987,
+      "totalInactiveInfrastructures": 123,
+      "totalConfirmedInfrastructure": 987,
+      "totalNonConfirmedInfrastructures": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getPredefinedExperiment +

+
+
+
+
Description
+

Returns predefined experiment details of selected experiments

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ experimentName - [String!]! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetPredefinedExperiment(
+  $hubID: ID!,
+  $experimentName: [String!]!,
+  $projectID: ID!
+) {
+  getPredefinedExperiment(
+    hubID: $hubID,
+    experimentName: $experimentName,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "hubID": "4",
+  "experimentName": ["xyz789"],
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPredefinedExperiment": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "xyz789",
+        "experimentManifest": "xyz789"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbe +

+
+
+
+
Description
+

Returns a single Probe based on ProbeName and various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbe": {
+      "projectID": 4,
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 987,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeReference +

+
+
+
+
Description
+

Returns all the reference of the Probe based on ProbeName

+
+
+
+
+
+
+
Response
+

Returns a GetProbeReferenceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeReference(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbeReference(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    totalRuns
+    recentExecutions {
+      faultName
+      mode
+      executionHistory {
+        ...ExecutionHistoryFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbeReference": {
+      "projectID": "4",
+      "name": "abc123",
+      "totalRuns": 123,
+      "recentExecutions": [RecentExecutions]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeYAML +

+
+
+
+
Description
+

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - GetProbeYAMLRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeYAML(
+  $projectID: ID!,
+  $request: GetProbeYAMLRequest!
+) {
+  getProbeYAML(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": GetProbeYAMLRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"getProbeYAML": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbesInExperimentRun +

+
+
+
+
Description
+

Returns all the Probes attached to the requested Experiment Run

+
+
+
+
+
+
+
Response
+

Returns [GetProbesInExperimentRunResponse]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - String! + +
+ faultName - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbesInExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: String!,
+  $faultName: String!
+) {
+  getProbesInExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    faultName: $faultName
+  ) {
+    probe {
+      projectID
+      name
+      description
+      tags
+      type
+      infrastructureType
+      kubernetesHTTPProperties {
+        ...KubernetesHTTPProbeFragment
+      }
+      kubernetesCMDProperties {
+        ...KubernetesCMDProbeFragment
+      }
+      k8sProperties {
+        ...K8SProbeFragment
+      }
+      promProperties {
+        ...PROMProbeFragment
+      }
+      recentExecutions {
+        ...ProbeRecentExecutionsFragment
+      }
+      referencedBy
+      updatedAt
+      createdAt
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+    }
+    mode
+    status {
+      verdict
+      description
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "abc123",
+  "faultName": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbesInExperimentRun": [
+      {
+        "probe": Probe,
+        "mode": "SOT",
+        "status": Status
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getServerVersion +

+
+
+
+
Description
+

Returns version of gql server

+
+
+
+
+
+
+
Response
+

Returns a ServerVersionResponse! +

+
+
+
+

Example

+
+
Query
+ + +
query GetServerVersion {
+  getServerVersion {
+    key
+    value
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getServerVersion": {
+      "key": "abc123",
+      "value": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getVersionDetails +

+
+
+
+
Description
+

Query to get the latest version of infra available

+
+
+
+
+
+
+
Response
+

Returns an InfraVersionDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetVersionDetails($projectID: ID!) {
+  getVersionDetails(projectID: $projectID) {
+    latestVersion
+    compatibleVersions
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getVersionDetails": {
+      "latestVersion": "xyz789",
+      "compatibleVersions": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosFaults +

+
+
+
+
Description
+

List the Charts details of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [Chart!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosFaults(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listChaosFaults(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    apiVersion
+    kind
+    metadata {
+      name
+      version
+      annotations {
+        ...AnnotationFragment
+      }
+    }
+    spec {
+      displayName
+      categoryDescription
+      keywords
+      maturity
+      maintainers {
+        ...MaintainerFragment
+      }
+      minKubeVersion
+      provider {
+        ...ProviderFragment
+      }
+      links {
+        ...LinkFragment
+      }
+      faults {
+        ...FaultListFragment
+      }
+      experiments
+      chaosExpCRDLink
+      platforms
+      chaosType
+    }
+    packageInfo {
+      packageName
+      experiments {
+        ...ExperimentsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": "4", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosFaults": [
+      {
+        "apiVersion": "abc123",
+        "kind": "abc123",
+        "metadata": Metadata,
+        "spec": Spec,
+        "packageInfo": PackageInformation
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosHub +

+
+
+
+
Description
+

Lists all the connected ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [ChaosHubStatus]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListChaosHubRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosHub(
+  $projectID: ID!,
+  $request: ListChaosHubRequest
+) {
+  listChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosHub": [
+      {
+        "id": "4",
+        "repoURL": "xyz789",
+        "repoBranch": "xyz789",
+        "remoteHub": "xyz789",
+        "isAvailable": true,
+        "totalFaults": "xyz789",
+        "totalExperiments": "abc123",
+        "name": "abc123",
+        "hubType": "GIT",
+        "isPrivate": false,
+        "authType": "BASIC",
+        "token": "abc123",
+        "userName": "xyz789",
+        "password": "abc123",
+        "isRemoved": false,
+        "sshPrivateKey": "abc123",
+        "sshPublicKey": "xyz789",
+        "lastSyncedAt": "xyz789",
+        "tags": ["abc123"],
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "createdAt": "abc123",
+        "updatedAt": "xyz789",
+        "description": "xyz789",
+        "isDefault": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listEnvironments +

+
+
+
+
Response
+

Returns a ListEnvironmentResponse +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListEnvironments(
+  $projectID: ID!,
+  $request: ListEnvironmentRequest
+) {
+  listEnvironments(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfEnvironments
+    environments {
+      projectID
+      environmentID
+      name
+      description
+      tags
+      type
+      createdAt
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      updatedAt
+      isRemoved
+      infraIDs
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listEnvironments": {
+      "totalNoOfEnvironments": 987,
+      "environments": [Environment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperiment +

+
+
+
+
Description
+

Returns the list of experiments based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperiment(
+  $projectID: ID!,
+  $request: ListExperimentRequest!
+) {
+  listExperiment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperiments
+    experiments {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperiment": {
+      "totalNoOfExperiments": 123,
+      "experiments": [Experiment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperimentRun +

+
+
+
+
Description
+

Returns the list of experiment run based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentRunResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperimentRun(
+  $projectID: ID!,
+  $request: ListExperimentRunRequest!
+) {
+  listExperimentRun(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperimentRuns
+    experimentRuns {
+      projectID
+      experimentRunID
+      experimentType
+      experimentID
+      weightages {
+        ...WeightagesFragment
+      }
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      experimentName
+      experimentManifest
+      phase
+      resiliencyScore
+      faultsPassed
+      faultsFailed
+      faultsAwaited
+      faultsStopped
+      faultsNa
+      totalFaults
+      executionData
+      isRemoved
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+      notifyID
+      runSequence
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRunRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperimentRun": {
+      "totalNoOfExperimentRuns": 123,
+      "experimentRuns": [ExperimentRun]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listImageRegistry +

+
+
+
+
Response
+

Returns [ImageRegistryResponse!] +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListImageRegistry($projectID: String!) {
+  listImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listImageRegistry": [
+      {
+        "isDefault": false,
+        "imageRegistryInfo": ImageRegistry,
+        "imageRegistryID": "abc123",
+        "projectID": "xyz789",
+        "updatedAt": "abc123",
+        "createdAt": "xyz789",
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "isRemoved": true
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listInfras +

+
+
+
+
Description
+

Returns infras with a particular infra type in the project

+
+
+
+
+
+
+
Response
+

Returns a ListInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListInfraRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListInfras(
+  $projectID: ID!,
+  $request: ListInfraRequest
+) {
+  listInfras(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfInfras
+    infras {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listInfras": {
+      "totalNoOfInfras": 987,
+      "infras": [Infra]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listPredefinedExperiments +

+
+
+
+
Description
+

List the PredefinedExperiments present in the hub

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListPredefinedExperiments(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listPredefinedExperiments(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listPredefinedExperiments": [
+      {
+        "experimentName": "xyz789",
+        "experimentCSV": "xyz789",
+        "experimentManifest": "abc123"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listProbes +

+
+
+
+
Description
+

Returns the list of Probes based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns [Probe]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infrastructureType - InfrastructureType + +
+ probeNames - [ID!] + +
+ filter - ProbeFilterInput + +
+
+
+
+

Example

+
+
Query
+ + +
query ListProbes(
+  $projectID: ID!,
+  $infrastructureType: InfrastructureType,
+  $probeNames: [ID!],
+  $filter: ProbeFilterInput
+) {
+  listProbes(
+    projectID: $projectID,
+    infrastructureType: $infrastructureType,
+    probeNames: $probeNames,
+    filter: $filter
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infrastructureType": "Kubernetes",
+  "probeNames": [4],
+  "filter": ProbeFilterInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listProbes": [
+      {
+        "projectID": "4",
+        "name": "xyz789",
+        "description": "xyz789",
+        "tags": ["xyz789"],
+        "type": "httpProbe",
+        "infrastructureType": "Kubernetes",
+        "kubernetesHTTPProperties": KubernetesHTTPProbe,
+        "kubernetesCMDProperties": KubernetesCMDProbe,
+        "k8sProperties": K8SProbe,
+        "promProperties": PROMProbe,
+        "recentExecutions": [ProbeRecentExecutions],
+        "referencedBy": 987,
+        "updatedAt": "abc123",
+        "createdAt": "abc123",
+        "updatedBy": UserDetails,
+        "createdBy": UserDetails
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ validateUniqueProbe +

+
+
+
+
Description
+

Validates if a probe is already present, returns true if unique

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ValidateUniqueProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  validateUniqueProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "probeName": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"validateUniqueProbe": false}}
+
+ + +
+
+
+
+

Mutations

+
+

+ addChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (includes the git clone operation)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  addChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "remoteHub": "abc123",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addProbe +

+
+
+
+
Description
+

Creates a new Probe

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  addProbe(
+    request: $request,
+    projectID: $projectID
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ProbeRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addProbe": {
+      "projectID": 4,
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 123,
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addRemoteChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (remote hub download)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateRemoteChaosHub! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddRemoteChaosHub(
+  $projectID: ID!,
+  $request: CreateRemoteChaosHub!
+) {
+  addRemoteChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateRemoteChaosHub
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addRemoteChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "remoteHub": "xyz789",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "xyz789",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ chaosExperimentRun +

+
+
+
+
Description
+

Creates a new experiment run and sends it to subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - ExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ChaosExperimentRun($request: ExperimentRunRequest!) {
+  chaosExperimentRun(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": ExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"chaosExperimentRun": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ confirmInfraRegistration +

+
+
+
+
Description
+

Confirms the subscriber's registration with the control plane

+
+
+
+
+
+
+
Response
+

Returns a ConfirmInfraRegistrationResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ConfirmInfraRegistration($request: InfraIdentity!) {
+  confirmInfraRegistration(request: $request) {
+    isInfraConfirmed
+    newAccessKey
+    infraID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "confirmInfraRegistration": {
+      "isInfraConfirmed": false,
+      "newAccessKey": "xyz789",
+      "infraID": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createChaosExperiment +

+
+
+
+
Description
+

Creates a new experiment and applies its manifest

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  createChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ChaosExperimentRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": 4,
+      "cronSyntax": "abc123",
+      "experimentName": "xyz789",
+      "experimentDescription": "abc123",
+      "isCustomExperiment": false,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateEnvironment(
+  $projectID: ID!,
+  $request: CreateEnvironmentRequest
+) {
+  createEnvironment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createEnvironment": {
+      "projectID": "abc123",
+      "environmentID": "abc123",
+      "name": "abc123",
+      "description": "xyz789",
+      "tags": ["xyz789"],
+      "type": "PROD",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "abc123",
+      "isRemoved": true,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createImageRegistry +

+
+
+
+
Description
+

Create an Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateImageRegistry(
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  createImageRegistry(
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createImageRegistry": {
+      "isDefault": true,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "abc123",
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosExperiment +

+
+
+
+
Description
+

Removes a experiment from infra

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ experimentRunID - String + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosExperiment(
+  $experimentID: String!,
+  $experimentRunID: String,
+  $projectID: ID!
+) {
+  deleteChaosExperiment(
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "abc123",
+  "experimentRunID": "xyz789",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosExperiment": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosHub +

+
+
+
+
Description
+

Delete the ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ hubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosHub(
+  $projectID: ID!,
+  $hubID: ID!
+) {
+  deleteChaosHub(
+    projectID: $projectID,
+    hubID: $hubID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "hubID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosHub": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  deleteEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "environmentID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteEnvironment": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteImageRegistry +

+
+
+
+
Description
+

Delete the Image Registry

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!
+) {
+  deleteImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "xyz789",
+  "projectID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteImageRegistry": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteInfra +

+
+
+
+
Description
+

Disconnects an infra and deletes its configuration from the control plane

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  deleteInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "infraID": "abc123"}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteInfra": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteProbe +

+
+
+
+
Description
+

Delete a Probe

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ probeName - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteProbe(
+  $probeName: ID!,
+  $projectID: ID!
+) {
+  deleteProbe(
+    probeName: $probeName,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"probeName": 4, "projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteProbe": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ disableGitOps +

+
+
+
+
Description
+

Disables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DisableGitOps($projectID: ID!) {
+  disableGitOps(projectID: $projectID)
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"disableGitOps": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ enableGitOps +

+
+
+
+
Description
+

Enables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation EnableGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  enableGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"enableGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ generateSSHKey +

+
+
+
+
Description
+

Generates Private and Public key for SSH authentication

+
+
+
+
+
+
+
Response
+

Returns an SSHKey! +

+
+
+
+

Example

+
+
Query
+ + +
mutation GenerateSSHKey {
+  generateSSHKey {
+    publicKey
+    privateKey
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "generateSSHKey": {
+      "publicKey": "abc123",
+      "privateKey": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ getManifestWithInfraID +

+
+
+
+
Description
+

Fetches manifest details

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+ accessKey - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GetManifestWithInfraID(
+  $projectID: ID!,
+  $infraID: String!,
+  $accessKey: String!
+) {
+  getManifestWithInfraID(
+    projectID: $projectID,
+    infraID: $infraID,
+    accessKey: $accessKey
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "abc123",
+  "accessKey": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getManifestWithInfraID": "abc123"
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ gitopsNotifier +

+
+
+
+
Description
+

Sends workflow run request(single run workflow only) to agent on gitops notification

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ clusterInfo - InfraIdentity! + +
+ experimentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GitopsNotifier(
+  $clusterInfo: InfraIdentity!,
+  $experimentID: ID!
+) {
+  gitopsNotifier(
+    clusterInfo: $clusterInfo,
+    experimentID: $experimentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"clusterInfo": InfraIdentity, "experimentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"gitopsNotifier": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeNamespace +

+
+
+
+
Description
+

Receives kubernetes namespace data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeNamespaceData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeNamespace($request: KubeNamespaceData!) {
+  kubeNamespace(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeNamespaceData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeNamespace": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeObj +

+
+
+
+
Description
+

Receives kubernetes object data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeObj($request: KubeObjectData!) {
+  kubeObj(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeObj": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ podLog +

+
+
+
+
Description
+

Receives pod logs for experiments from infra

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLog! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation PodLog($request: PodLog!) {
+  podLog(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLog}
+
+ + +
+
+
Response
+ + +
{"data": {"podLog": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ registerInfra +

+
+
+
+
Description
+

Connect a new infra for a user in a specified project

+
+
+
+
+
+
+
Response
+

Returns a RegisterInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - RegisterInfraRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RegisterInfra(
+  $projectID: ID!,
+  $request: RegisterInfraRequest!
+) {
+  registerInfra(
+    projectID: $projectID,
+    request: $request
+  ) {
+    token
+    infraID
+    name
+    manifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": RegisterInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "registerInfra": {
+      "token": "abc123",
+      "infraID": "abc123",
+      "name": "xyz789",
+      "manifest": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ runChaosExperiment +

+
+
+
+
Description
+

Run the chaos experiment (used by frontend)

+
+
+
+
+
+
+
Response
+

Returns a RunChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RunChaosExperiment(
+  $experimentID: String!,
+  $projectID: ID!
+) {
+  runChaosExperiment(
+    experimentID: $experimentID,
+    projectID: $projectID
+  ) {
+    notifyID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"experimentID": "xyz789", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"runChaosExperiment": {"notifyID": 4}}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosExperiment +

+
+
+
+
Description
+

Saves a new experiment or updates if already exists

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - SaveChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosExperiment(
+  $request: SaveChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  saveChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"request": SaveChaosExperimentRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"saveChaosExperiment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosHub +

+
+
+
+
Description
+

Save a ChaosHub configuration without cloning it

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  saveChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "saveChaosHub": {
+      "id": 4,
+      "repoURL": "abc123",
+      "repoBranch": "xyz789",
+      "remoteHub": "abc123",
+      "projectID": 4,
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ stopExperimentRuns +

+
+
+
+
Description
+

stopExperiment will halt all the ongoing runs of a particular experiment

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+ experimentRunID - String + +
+ notifyID - String + +
+
+
+
+

Example

+
+
Query
+ + +
mutation StopExperimentRuns(
+  $projectID: ID!,
+  $experimentID: String!,
+  $experimentRunID: String,
+  $notifyID: String
+) {
+  stopExperimentRuns(
+    projectID: $projectID,
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": 4,
+  "experimentID": "abc123",
+  "experimentRunID": "abc123",
+  "notifyID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"stopExperimentRuns": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ syncChaosHub +

+
+
+
+
Description
+

Sync changes from the Git repository of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ id - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SyncChaosHub(
+  $id: ID!,
+  $projectID: ID!
+) {
+  syncChaosHub(
+    id: $id,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "id": "4",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"syncChaosHub": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosExperiment +

+
+
+
+
Description
+

Updates the experiment

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  updateChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosExperiment": {
+      "experimentID": "xyz789",
+      "projectID": "4",
+      "cronSyntax": "abc123",
+      "experimentName": "xyz789",
+      "experimentDescription": "xyz789",
+      "isCustomExperiment": false,
+      "tags": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosHub +

+
+
+
+
Description
+

Update the configuration of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosHub(
+  $projectID: ID!,
+  $request: UpdateChaosHubRequest!
+) {
+  updateChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": UpdateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosHub": {
+      "id": "4",
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "remoteHub": "abc123",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "xyz789",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "abc123",
+      "isRemoved": true,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateCronExperimentState +

+
+
+
+
Description
+

Enable/Disable cron experiment state

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ disable - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateCronExperimentState(
+  $experimentID: String!,
+  $disable: Boolean!,
+  $projectID: ID!
+) {
+  updateCronExperimentState(
+    experimentID: $experimentID,
+    disable: $disable,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "xyz789",
+  "disable": true,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateCronExperimentState": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateEnvironment(
+  $projectID: ID!,
+  $request: UpdateEnvironmentRequest
+) {
+  updateEnvironment(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": UpdateEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"updateEnvironment": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateGitOps +

+
+
+
+
Description
+

Updates gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  updateGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "configurations": GitConfig
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateImageRegistry +

+
+
+
+
Description
+

Update the Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  updateImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "abc123",
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "xyz789",
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateProbe +

+
+
+
+
Description
+

Update the configuration of a Probe

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  updateProbe(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"request": ProbeRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"updateProbe": "abc123"}}
+
+ + +
+
+
+
+

Subscriptions

+
+

+ getInfraEvents +

+
+
+
+
Description
+

Listens infra events from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraEventResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetInfraEvents($projectID: String!) {
+  getInfraEvents(projectID: $projectID) {
+    eventID
+    eventType
+    eventName
+    description
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "xyz789"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraEvents": {
+      "eventID": "4",
+      "eventType": "abc123",
+      "eventName": "abc123",
+      "description": "xyz789",
+      "infra": Infra
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeNamespace +

+
+
+
+
Description
+

Returns a kubernetes namespaces given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeNamespaceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeNamespaceRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeNamespace($request: KubeNamespaceRequest!) {
+  getKubeNamespace(request: $request) {
+    infraID
+    kubeNamespace {
+      name
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeNamespaceRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeNamespace": {
+      "infraID": 4,
+      "kubeNamespace": [KubeNamespace]
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeObject +

+
+
+
+
Description
+

Returns a kubernetes object given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeObjectResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeObject($request: KubeObjectRequest!) {
+  getKubeObject(request: $request) {
+    infraID
+    kubeObj {
+      namespace
+      data {
+        ...ObjectDataFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeObject": {
+      "infraID": "4",
+      "kubeObj": KubeObject
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getPodLog +

+
+
+
+
Description
+

Returns experiment logs from the pods

+
+
+
+
+
+
+
Response
+

Returns a PodLogResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLogRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetPodLog($request: PodLogRequest!) {
+  getPodLog(request: $request) {
+    experimentRunID
+    podName
+    podType
+    log
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLogRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPodLog": {
+      "experimentRunID": 4,
+      "podName": "abc123",
+      "podType": "xyz789",
+      "log": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ infraConnect +

+
+
+
+
Description
+

Listens infra operation request from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraActionResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription InfraConnect($request: InfraIdentity!) {
+  infraConnect(request: $request) {
+    projectID
+    action {
+      requestID
+      requestType
+      k8sManifest
+      namespace
+      externalData
+      username
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "infraConnect": {
+      "projectID": "xyz789",
+      "action": ActionPayload
+    }
+  }
+}
+
+ + +
+
+
+
+

Types

+
+

ActionPayload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
requestID - String! + +
requestType - String! + +
k8sManifest - String! + +
namespace - String! + +
externalData - String + +
username - String + +
+
+
+
+
+
Example
+ + +
{
+  "requestID": "abc123",
+  "requestType": "xyz789",
+  "k8sManifest": "abc123",
+  "namespace": "xyz789",
+  "externalData": "xyz789",
+  "username": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Annotation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
categories - String! + +
vendor - String! + +
createdAt - String! + +
repository - String! + +
support - String! + +
chartDescription - String! + +
+
+
+
+
+
Example
+ + +
{
+  "categories": "abc123",
+  "vendor": "abc123",
+  "createdAt": "xyz789",
+  "repository": "xyz789",
+  "support": "xyz789",
+  "chartDescription": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Audit

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
updatedAt - String + +
createdAt - String + +
updatedBy - UserDetails + +
createdBy - UserDetails + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audit Types
+

ExperimentRun

+
+

RecentExperimentRun

+
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

ImageRegistryResponse

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

AuthType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

BASIC

+
+
+

NONE

+
+
+

SSH

+
+
+

TOKEN

+
+
+
+
+
+
+
Example
+ + +
"BASIC"
+
+ + +
+
+
+
+
+
+ Types +
+

Boolean

+
+
+
+
Description
+

The Boolean scalar type represents true or false.

+
+
+
+
+
Example
+ + +
true
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String + ID of the experiment
+ runExperiment - Boolean + Boolean check indicating if the created scenario will be executed or not
+ experimentManifest - String! + Manifest of the experiment
+ experimentType - ExperimentType + Type of the experiment
+ cronSyntax - String! + Cron syntax of the experiment schedule
+ experimentName - String! + Name of the experiment
+ experimentDescription - String! + Description of the experiment
+ weightages - [WeightagesInput!]! + Array containing weightage and name of each chaos experiment in the experiment
+ isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
+ infraID - ID! + ID of the target infra in which the experiment will run
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "runExperiment": false,
+  "experimentManifest": "xyz789",
+  "experimentType": "All",
+  "cronSyntax": "xyz789",
+  "experimentName": "xyz789",
+  "experimentDescription": "xyz789",
+  "weightages": [WeightagesInput],
+  "isCustomExperiment": true,
+  "infraID": 4,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentResponse

+
+
+
+
Description
+

Defines the response received for querying the details of chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + ID of the experiment
projectID - ID! + +
cronSyntax - String! + Cron syntax of the experiment schedule
experimentName - String! + Name of the experiment
experimentDescription - String! + Description of the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "projectID": 4,
+  "cronSyntax": "abc123",
+  "experimentName": "abc123",
+  "experimentDescription": "abc123",
+  "isCustomExperiment": true,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the chaos hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
remoteHub - String! + Connected Hub of remote repository
projectID - ID! + ID of the project in which the chaos hub is present
isDefault - Boolean! + Default Hub Identifier
name - String! + Name of the chaos hub
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
description - String + Description of ChaosHub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
isRemoved - Boolean! + Bool value indicating if the chaos hub is removed
createdAt - String! + Timestamp when the chaos hub was created
updatedAt - String! + Timestamp when the chaos hub was last updated
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
+
+
+
+
+
Example
+ + +
{
+  "id": "4",
+  "repoURL": "xyz789",
+  "repoBranch": "abc123",
+  "remoteHub": "xyz789",
+  "projectID": 4,
+  "isDefault": true,
+  "name": "xyz789",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "description": "abc123",
+  "hubType": "GIT",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "xyz789",
+  "password": "abc123",
+  "sshPrivateKey": "abc123",
+  "isRemoved": true,
+  "createdAt": "abc123",
+  "updatedAt": "abc123",
+  "lastSyncedAt": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubFilterInput

+
+
+
+
Description
+

Defines filter options for ChaosHub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubName - String + Name of the ChaosHub
+ tags - [String!] + Tags of a chaos hub
+ description - String + Description of a chaos hub
+
+
+
+
+
Example
+ + +
{
+  "chaosHubName": "abc123",
+  "tags": ["abc123"],
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubStatus

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
remoteHub - String! + Connected Hub of remote repository
isAvailable - Boolean! + Bool value indicating whether the hub is available or not.
totalFaults - String! + Total number of experiments in the hub
totalExperiments - String! + Total experiments
name - String! + Name of the chaos hub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
isRemoved - Boolean! + Bool value indicating whether the hub is private or not.
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
sshPublicKey - String + Public SSH key for authenticating into private chaos hub
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
createdAt - String! + Created at timestamp
updatedAt - String! + Updated at timestamp
description - String + Description of ChaosHub
isDefault - Boolean! + Default Hub Identifier
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "abc123",
+  "repoBranch": "abc123",
+  "remoteHub": "abc123",
+  "isAvailable": true,
+  "totalFaults": "abc123",
+  "totalExperiments": "abc123",
+  "name": "xyz789",
+  "hubType": "GIT",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "xyz789",
+  "password": "abc123",
+  "isRemoved": false,
+  "sshPrivateKey": "abc123",
+  "sshPublicKey": "xyz789",
+  "lastSyncedAt": "abc123",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "createdAt": "abc123",
+  "updatedAt": "xyz789",
+  "description": "xyz789",
+  "isDefault": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Chart

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
apiVersion - String! + +
kind - String! + +
metadata - Metadata! + +
spec - Spec! + +
packageInfo - PackageInformation! + +
+
+
+
+
+
Example
+ + +
{
+  "apiVersion": "abc123",
+  "kind": "xyz789",
+  "metadata": Metadata,
+  "spec": Spec,
+  "packageInfo": PackageInformation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CommonProbeProperties

+
+
+
+
Description
+

Defines the common probe properties shared across different ProbeTypes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + +
CommonProbeProperties Types
+

KubernetesCMDProbe

+
+

PROMProbe

+
+

KubernetesHTTPProbe

+
+

K8SProbe

+
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Comparator

+
+
+
+
Description
+

Defines the properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
type - String! + Type of the Comparator
value - String! + Value of the Comparator
criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "abc123",
+  "value": "xyz789",
+  "criteria": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ComparatorInput

+
+
+
+
Description
+

Defines the input properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ type - String! + Type of the Comparator
+ value - String! + Value of the Comparator
+ criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "xyz789",
+  "value": "abc123",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ConfirmInfraRegistrationResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isInfraConfirmed - Boolean! + +
newAccessKey - String + +
infraID - String + +
+
+
+
+
+
Example
+ + +
{
+  "isInfraConfirmed": true,
+  "newAccessKey": "abc123",
+  "infraID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateChaosHubRequest

+
+
+
+
Description
+

Defines the details required for creating a chaos hub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ remoteHub - String! + Connected Hub of remote repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "tags": ["xyz789"],
+  "description": "abc123",
+  "repoURL": "xyz789",
+  "repoBranch": "abc123",
+  "remoteHub": "xyz789",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "xyz789",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String! + +
+ type - EnvironmentType! + +
+ description - String + +
+ tags - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "abc123",
+  "type": "PROD",
+  "description": "xyz789",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateRemoteChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ remoteHub - String! + Connected Hub of remote repository
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "tags": ["abc123"],
+  "description": "abc123",
+  "repoURL": "xyz789",
+  "remoteHub": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

DateRange

+
+
+
+
Description
+

Defines the start date and end date for the filtering the data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ startDate - String! + Start date
+ endDate - String + End date
+
+
+
+
+
Example
+ + +
{
+  "startDate": "xyz789",
+  "endDate": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Environment

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
environmentID - String! + +
name - String! + +
description - String + +
tags - [String!] + +
type - EnvironmentType! + +
createdAt - String! + +
createdBy - UserDetails + +
updatedBy - UserDetails + +
updatedAt - String! + +
isRemoved - Boolean + +
infraIDs - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "abc123",
+  "environmentID": "abc123",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "type": "PROD",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "updatedAt": "abc123",
+  "isRemoved": true,
+  "infraIDs": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the environment
+ description - String + ID of the environment
+ type - EnvironmentType + Type name of environment
+ tags - [String!] + Tags of an environment
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "description": "xyz789",
+  "type": "PROD",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - EnvironmentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

PROD

+
+
+

NON_PROD

+
+
+
+
+
+
+
Example
+ + +
"PROD"
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutedByExperiment

+
+
+
+
Description
+

Defines the Executed by which experiment details for Probes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + Experiment ID
experimentName - String! + Experiment Name
updatedAt - Int! + Timestamp at which the experiment was last updated
updatedBy - UserDetails + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "experimentName": "xyz789",
+  "updatedAt": 987,
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutionHistory

+
+
+
+
Description
+

Defines the Execution History of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
mode - Mode! + Probe Mode
faultName - String! + Fault Name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "mode": "SOT",
+  "faultName": "xyz789",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Experiment

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentID - String! + ID of the experiment
experimentType - String + Type of the experiment
experimentManifest - String! + Manifest of the experiment
cronSyntax - String! + Cron syntax of the experiment schedule
name - String! + Name of the experiment
description - String! + Description of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
infra - Infra + Target infra in which the experiment will run
isRemoved - Boolean! + Bool value indicating if the experiment has removed
tags - [String!] + Tags of the experiment
createdBy - UserDetails + User who created the experiment
recentExperimentRunDetails - [RecentExperimentRun] + Array of object containing details of recent experiment runs
updatedBy - UserDetails + Details of the user who updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "experimentID": "xyz789",
+  "experimentType": "xyz789",
+  "experimentManifest": "xyz789",
+  "cronSyntax": "abc123",
+  "name": "xyz789",
+  "description": "xyz789",
+  "weightages": [Weightages],
+  "isCustomExperiment": false,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "infra": Infra,
+  "isRemoved": false,
+  "tags": ["abc123"],
+  "createdBy": UserDetails,
+  "recentExperimentRunDetails": [RecentExperimentRun],
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentFilterInput

+
+
+
+
Description
+

Defines filter options for experiments

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraName - String + Name of the infra in which the experiment is running
+ infraID - String + ID of the infra in which the experiment is running
+ infraActive - Boolean + Bool value indicating if Chaos Infrastructure is active
+ scheduleType - ScheduleType + Scenario type of the experiment i.e. CRON or NON_CRON
+ status - String + Status of the latest experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraName": "abc123",
+  "infraID": "abc123",
+  "infraActive": false,
+  "scheduleType": "CRON",
+  "status": "abc123",
+  "dateRange": DateRange,
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ category - String! + Name of the chart being used
+ experimentName - String! + Name of the experiment
+ hubID - String! + ID of the hub
+
+
+
+
+
Example
+ + +
{
+  "category": "abc123",
+  "experimentName": "abc123",
+  "hubID": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRun

+
+
+
+
Description
+

Defines the details of a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentRunID - ID! + ID of the experiment run which is to be queried
experimentType - String + Type of the experiment
experimentID - ID! + ID of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
updatedAt - String! + Timestamp at which experiment run was last updated
createdAt - String! + Timestamp at which experiment run was created
infra - Infra! + Target infra in which the experiment will run
experimentName - String! + Name of the experiment
experimentManifest - String! + Manifest of the experiment run
phase - ExperimentRunStatus! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
faultsPassed - Int + Number of faults passed
faultsFailed - Int + Number of faults failed
faultsAwaited - Int + Number of faults awaited
faultsStopped - Int + Number of faults stopped
faultsNa - Int + Number of faults which are not available
totalFaults - Int + Total number of faults
executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the faults
isRemoved - Boolean + Bool value indicating if the experiment run has removed
updatedBy - UserDetails + User who has updated the experiment
createdBy - UserDetails + User who has created the experiment run
notifyID - ID + Notify ID of the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "experimentRunID": 4,
+  "experimentType": "xyz789",
+  "experimentID": "4",
+  "weightages": [Weightages],
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "infra": Infra,
+  "experimentName": "abc123",
+  "experimentManifest": "xyz789",
+  "phase": "All",
+  "resiliencyScore": 123.45,
+  "faultsPassed": 123,
+  "faultsFailed": 123,
+  "faultsAwaited": 987,
+  "faultsStopped": 123,
+  "faultsNa": 123,
+  "totalFaults": 987,
+  "executionData": "abc123",
+  "isRemoved": false,
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails,
+  "notifyID": "4",
+  "runSequence": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunFilterInput

+
+
+
+
Description
+

Defines input type for experiment run filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraID - String + Name of the infra infra
+ experimentType - ScheduleType + Type of the experiment
+ experimentStatus - ExperimentRunStatus + Status of the experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ experimentRunID - String + ID of experiment run
+ experimentRunStatus - [String] + Array of experiment run status
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraID": "abc123",
+  "experimentType": "CRON",
+  "experimentStatus": "All",
+  "dateRange": DateRange,
+  "experimentRunID": "xyz789",
+  "experimentRunStatus": ["xyz789"],
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunRequest

+
+
+
+
Description
+

Defines the details for a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String! + ID of the experiment
+ notifyID - String + notifyID is required to give an ack for non cron experiment execution
+ experimentRunID - String! + ID of the experiment run which is to be queried
+ experimentName - String! + Name of the experiment
+ executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the experiments
+ infraID - InfraIdentity! + ID of the infra infra in which the experiment is running
+ revisionID - String! + ID of the revision which consists manifest details
+ completed - Boolean! + Bool value indicating if the experiment run has completed
+ isRemoved - Boolean + Bool value indicating if the experiment run has removed
+ updatedBy - String! + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "notifyID": "abc123",
+  "experimentRunID": "xyz789",
+  "experimentName": "xyz789",
+  "executionData": "abc123",
+  "infraID": InfraIdentity,
+  "revisionID": "abc123",
+  "completed": false,
+  "isRemoved": false,
+  "updatedBy": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunSortInput

+
+
+
+
Description
+

Defines sorting options for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunStatus

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Running

+
+
+

Completed

+
+
+

Completed_With_Error

+
+
+

Stopped

+
+
+

Skipped

+
+
+

Error

+
+
+

Timeout

+
+
+

Terminated

+
+
+

Queued

+
+
+

NA

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Experiment

+
+
+

CronExperiment

+
+
+

ChaosEngine

+
+
+

ChaosSchedule

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

Experiments

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
CSV - String! + +
desc - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "CSV": "xyz789",
+  "desc": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultDetails

+
+
+
+
Description
+

Fault Detail consists of all the fault related details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
fault - String! + fault consists of fault.yaml
engine - String! + engine consists engine.yaml
csv - String! + csv consists chartserviceversion.yaml
+
+
+
+
+
Example
+ + +
{
+  "fault": "abc123",
+  "engine": "abc123",
+  "csv": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
displayName - String! + +
description - String! + +
plan - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "displayName": "abc123",
+  "description": "xyz789",
+  "plan": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Float

+
+
+
+
Description
+

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

+
+
+
+
+
Example
+ + +
123.45
+
+ + +
+
+
+
+
+
+ Types +
+

GET

+
+
+
+
Description
+

Details of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GETRequest

+
+
+
+
Description
+

Details for input of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "abc123",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetChaosHubStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
totalChaosHubs - Int! + Total number of chaoshubs
+
+
+
+
+
Example
+ + +
{"totalChaosHubs": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentResponse

+
+
+
+
Description
+

Defines the details for a given experiment with some additional data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
experimentDetails - Experiment! + Details of experiment
averageResiliencyScore - Float + Average resiliency score of the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentDetails": Experiment,
+  "averageResiliencyScore": 987.65
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentRunStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperimentRuns - Int! + Total number of experiment runs
totalCompletedExperimentRuns - Int! + Total number of completed experiments runs
totalTerminatedExperimentRuns - Int! + Total number of stopped experiment runs
totalRunningExperimentRuns - Int! + Total number of running experiment runs
totalStoppedExperimentRuns - Int! + Total number of stopped experiment runs
totalErroredExperimentRuns - Int! + Total number of errored experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalExperimentRuns": 123,
+  "totalCompletedExperimentRuns": 987,
+  "totalTerminatedExperimentRuns": 123,
+  "totalRunningExperimentRuns": 987,
+  "totalStoppedExperimentRuns": 123,
+  "totalErroredExperimentRuns": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperiments - Int! + Total number of experiments
totalExpCategorizedByResiliencyScore - [ResilienceScoreCategory]! + Total number of cron experiments
+
+
+
+
+
Example
+ + +
{
+  "totalExperiments": 123,
+  "totalExpCategorizedByResiliencyScore": [
+    ResilienceScoreCategory
+  ]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetInfraStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalInfrastructures - Int! + Total number of infrastructures
totalActiveInfrastructure - Int! + Total number of active infrastructures
totalInactiveInfrastructures - Int! + Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! + Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! + Total number of non confirmed infrastructures
+
+
+
+
+
Example
+ + +
{
+  "totalInfrastructures": 987,
+  "totalActiveInfrastructure": 123,
+  "totalInactiveInfrastructures": 987,
+  "totalConfirmedInfrastructure": 987,
+  "totalNonConfirmedInfrastructures": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeReferenceResponse

+
+
+
+
Description
+

Defines the response of the Probe reference API

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
totalRuns - Int! + Total Runs
recentExecutions - [RecentExecutions]! + Recent Executions of the probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "name": "xyz789",
+  "totalRuns": 987,
+  "recentExecutions": [RecentExecutions]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeYAMLRequest

+
+
+
+
Description
+

Defines the input requests for GetProbeYAML query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeName - ID! + Probe name of the probe
+ mode - Mode! + Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
+
+
+
+
+
Example
+ + +
{"probeName": "4", "mode": "SOT"}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbesInExperimentRunResponse

+
+
+
+
Description
+

Defines the response for Get Probe In Experiment Run Query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probe - Probe! + Probe Object
mode - Mode! + Mode of the probe
status - Status! + Status of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probe": Probe,
+  "mode": "SOT",
+  "status": Status
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfig

+
+
+
+
Description
+

Details of setting a Git repository

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ branch - String! + Git branch where the chaos charts will be pushed and synced
+ repoURL - String! + URL of the Git repository
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token used for private repository
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "branch": "abc123",
+  "repoURL": "abc123",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfigResponse

+
+
+
+
Description
+

Response received after configuring GitOps

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
enabled - Boolean! + Bool value indicating whether GitOps is enabled or not
projectID - String! + ID of the project where GitOps is configured
branch - String + Git branch where the chaos charts will be pushed and synced
repoURL - String + URL of the Git repository
authType - AuthType + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token used for private repository
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "enabled": false,
+  "projectID": "xyz789",
+  "branch": "xyz789",
+  "repoURL": "xyz789",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

HubType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

GIT

+
+
+

REMOTE

+
+
+
+
+
+
+
Example
+ + +
"GIT"
+
+ + +
+
+
+
+
+
+ Types +
+

ID

+
+
+
+
Description
+

The ID scalar type represents a unique identifier, 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 "4") or integer (such as 4) input value will be accepted as an ID.

+
+
+
+
+
Example
+ + +
"4"
+
+ + +
+
+
+
+
+
+ Types +
+

INFRA_SCOPE

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

namespace

+
+
+

cluster

+
+
+
+
+
+
+
Example
+ + +
"namespace"
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistry

+
+
+
+
Description
+

Defines details for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryName - String! + Name of Image Registry
imageRepoName - String! + Name of image repository
imageRegistryType - String! + Type of the image registry: public/private
secretName - String + Secret which is used for private registry
secretNamespace - String + Namespace where the secret is available
enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": false,
+  "imageRegistryName": "abc123",
+  "imageRepoName": "abc123",
+  "imageRegistryType": "xyz789",
+  "secretName": "xyz789",
+  "secretNamespace": "xyz789",
+  "enableRegistry": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryInput

+
+
+
+
Description
+

Defines input data for querying the details of an image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
+ imageRegistryName - String! + Name of Image Registry
+ imageRepoName - String! + Name of image repository
+ imageRegistryType - String! + Type of the image registry: public/private
+ secretName - String + Secret which is used for private registry
+ secretNamespace - String + Namespace where the secret is available
+ enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": false,
+  "imageRegistryName": "abc123",
+  "imageRepoName": "abc123",
+  "imageRegistryType": "xyz789",
+  "secretName": "xyz789",
+  "secretNamespace": "abc123",
+  "enableRegistry": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryResponse

+
+
+
+
Description
+

Defines response data for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryInfo - ImageRegistry + Information Image Registry
imageRegistryID - String! + ID of the image registry
projectID - String! + ID of the project in which image registry is created
updatedAt - String + Timestamp when the image registry was last updated
createdAt - String + Timestamp when the image registry was created
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
isRemoved - Boolean + Bool value indicating if the image registry has been removed
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryInfo": ImageRegistry,
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789",
+  "updatedAt": "xyz789",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "isRemoved": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Infra

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
infraID - ID! + ID of the infra
name - String! + Name of the infra
description - String + Description of the infra
tags - [String!] + Tags of the infra
environmentID - String! + Environment ID for the infra
platformName - String! + Infra Platform Name eg. GKE,AWS, Others
isActive - Boolean! + Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! + Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! + Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! + Timestamp when the infra was last updated
createdAt - String! + Timestamp when the infra was created
noOfExperiments - Int + Number of schedules created in the infra
noOfExperimentRuns - Int + Number of experiments run in the infra
token - String! + Token used to verify and retrieve the infra manifest
infraNamespace - String + Namespace where the infra is being installed
serviceAccount - String + Name of service account used by infra
infraScope - String! + Scope of the infra : ns or cluster
infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
lastExperimentTimestamp - String + Timestamp of the last experiment run in the infra
startTime - String! + Timestamp when the infra got connected
version - String! + Version of the infra
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
infraType - InfrastructureType + Type of the infrastructure
updateStatus - UpdateStatus! + update status of infra
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "infraID": "4",
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "environmentID": "abc123",
+  "platformName": "xyz789",
+  "isActive": false,
+  "isInfraConfirmed": true,
+  "isRemoved": false,
+  "updatedAt": "xyz789",
+  "createdAt": "abc123",
+  "noOfExperiments": 987,
+  "noOfExperimentRuns": 987,
+  "token": "xyz789",
+  "infraNamespace": "abc123",
+  "serviceAccount": "xyz789",
+  "infraScope": "abc123",
+  "infraNsExists": true,
+  "infraSaExists": true,
+  "lastExperimentTimestamp": "xyz789",
+  "startTime": "xyz789",
+  "version": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "infraType": "Kubernetes",
+  "updateStatus": "AVAILABLE"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraActionResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
action - ActionPayload! + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "abc123",
+  "action": ActionPayload
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraEventResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
eventID - ID! + +
eventType - String! + +
eventName - String! + +
description - String! + +
infra - Infra! + +
+
+
+
+
+
Example
+ + +
{
+  "eventID": "4",
+  "eventType": "abc123",
+  "eventName": "xyz789",
+  "description": "xyz789",
+  "infra": Infra
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the infra
+ infraID - String + ID of the infra
+ description - String + ID of the infra
+ platformName - String + Platform name of infra
+ infraScope - INFRA_SCOPE + Scope of infra
+ isActive - Boolean + Status of infra
+ tags - [String] + Tags of an infra
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "infraID": "abc123",
+  "description": "xyz789",
+  "platformName": "abc123",
+  "infraScope": "namespace",
+  "isActive": false,
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraIdentity

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - String! + +
+ accessKey - String! + +
+ version - String! + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "xyz789",
+  "accessKey": "abc123",
+  "version": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraVersionDetails

+
+
+
+
Description
+

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
latestVersion - String! + Latest infra version supported
compatibleVersions - [String!]! + List of all infra versions supported
+
+
+
+
+
Example
+ + +
{
+  "latestVersion": "abc123",
+  "compatibleVersions": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfrastructureType

+
+
+
+
Values
+ + + + + + + + + + + + + +
Enum ValueDescription
+

Kubernetes

+
+
+
+
+
+
+
Example
+ + +
"Kubernetes"
+
+ + +
+
+
+
+
+
+ Types +
+

Int

+
+
+
+
Description
+

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

+
+
+
+
+
Example
+ + +
123
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbe

+
+
+
+
Description
+

Defines the K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
group - String + Group of the Probe
version - String! + Version of the Probe
resource - String! + Resource of the Probe
namespace - String + Namespace of the Probe
resourceNames - String + Resource Names of the Probe
fieldSelector - String + Field Selector of the Probe
labelSelector - String + Label Selector of the Probe
operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "group": "abc123",
+  "version": "abc123",
+  "resource": "abc123",
+  "namespace": "xyz789",
+  "resourceNames": "xyz789",
+  "fieldSelector": "abc123",
+  "labelSelector": "xyz789",
+  "operation": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbeRequest

+
+
+
+
Description
+

Defines the input for K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ group - String + Group of the Probe
+ version - String! + Version of the Probe
+ resource - String! + Resource of the Probe
+ namespace - String + Namespace of the Probe
+ resourceNames - String + Resource Names of the Probe
+ fieldSelector - String + Field Selector of the Probe
+ labelSelector - String + Label Selector of the Probe
+ operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "group": "xyz789",
+  "version": "xyz789",
+  "resource": "xyz789",
+  "namespace": "abc123",
+  "resourceNames": "abc123",
+  "fieldSelector": "xyz789",
+  "labelSelector": "abc123",
+  "operation": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeGVRRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ group - String! + +
+ version - String! + +
+ resource - String! + +
+
+
+
+
+
Example
+ + +
{
+  "group": "xyz789",
+  "version": "abc123",
+  "resource": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespace

+
+
+
+
Description
+

Define name in the infra (not really useful at the moment but maybe we will need other field later)

+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the namespace
+
+
+
+
+
Example
+ + +
{"name": "xyz789"}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespaceData

+
+
+
+
Description
+

Defines the details of Kubernetes namespace

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes namespace details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes namespace is present
+ kubeNamespace - String! + List of KubeNamespace return by subscriber
+
+
+
+
+
Example
+ + +
{
+  "requestID": "4",
+  "infraID": InfraIdentity,
+  "kubeNamespace": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespaceRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes namespace data

+
+
+
Fields
+ + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra
+
+
+
+
+
Example
+ + +
{"infraID": "4"}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespaceResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Namespaces

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes namespace is present
kubeNamespace - [KubeNamespace]! + List of the Kubernetes namespace
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "kubeNamespace": [KubeNamespace]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObject

+
+
+
+
Description
+

KubeObject consists of the available resources in a namespace

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
namespace - String! + Namespace of the resource
data - [ObjectData]! + Details of the resource
+
+
+
+
+
Example
+ + +
{
+  "namespace": "abc123",
+  "data": [ObjectData]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectData

+
+
+
+
Description
+

Defines the details of Kubernetes object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes object details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes object is present
+ kubeObj - String! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "requestID": "4",
+  "infraID": InfraIdentity,
+  "kubeObj": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes object data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra in which the Kubernetes object is present
+ kubeObjRequest - KubeGVRRequest + GVR Request
+ namespace - String! + Namespace in which the Kubernetes object is present
+ objectType - String! + +
+ workloads - [Workload] + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "kubeObjRequest": KubeGVRRequest,
+  "namespace": "abc123",
+  "objectType": "abc123",
+  "workloads": [Workload]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes object is present
kubeObj - KubeObject! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{"infraID": 4, "kubeObj": KubeObject}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbe

+
+
+
+
Description
+

Defines the CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
command - String! + Command of the Probe
comparator - Comparator! + Comparator of the Probe
source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "command": "xyz789",
+  "comparator": Comparator,
+  "source": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ command - String! + Command of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+ source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "command": "xyz789",
+  "comparator": ComparatorInput,
+  "source": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbe

+
+
+
+
Description
+

Defines the Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
url - String! + URL of the Probe
method - Method! + HTTP method of the Probe
insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "url": "xyz789",
+  "method": Method,
+  "insecureSkipVerify": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ url - String! + URL of the Probe
+ method - MethodRequest! + HTTP method of the Probe
+ insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "url": "abc123",
+  "method": MethodRequest,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+ +
+
+ Types +
+

ListChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubIDs - [ID!] + Array of ChaosHub IDs for which details will be fetched
+ filter - ChaosHubFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{"chaosHubIDs": [4], "filter": ChaosHubFilterInput}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - EnvironmentFilterInput + Details for fetching filtered data
+ sort - EnvironmentSortInput + Details for fetching sorted data
+
+
+
+
+
Example
+ + +
{
+  "environmentIDs": [4],
+  "pagination": Pagination,
+  "filter": EnvironmentFilterInput,
+  "sort": EnvironmentSortInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfEnvironments - Int! + Total number of environment
environments - [Environment] + +
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfEnvironments": 987,
+  "environments": [Environment]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRequest

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentSortInput + Details for fetching sorted data
+ filter - ExperimentFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentIDs": [4],
+  "pagination": Pagination,
+  "sort": ExperimentSortInput,
+  "filter": ExperimentFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentResponse

+
+
+
+
Description
+

Defines the details for a experiment with total experiment count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperiments - Int! + Total number of experiments
experiments - [Experiment]! + Details related to the experiments
+
+
+
+
+
Example
+ + +
{"totalNoOfExperiments": 123, "experiments": [Experiment]}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunRequest

+
+
+
+
Description
+

Defines the details for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentRunIDs - [ID] + Array of experiment run IDs for which details will be fetched
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentRunSortInput + Details for fetching sorted data
+ filter - ExperimentRunFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentRunIDs": ["4"],
+  "experimentIDs": [4],
+  "pagination": Pagination,
+  "sort": ExperimentRunSortInput,
+  "filter": ExperimentRunFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunResponse

+
+
+
+
Description
+

Defines the details of a experiment to sent as response

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperimentRuns - Int! + Total number of experiment runs
experimentRuns - [ExperimentRun]! + Defines details of experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfExperimentRuns": 123,
+  "experimentRuns": [ExperimentRun]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraRequest

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraIDs - [ID!] + Array of infra IDs for which details will be fetched
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - InfraFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "infraIDs": [4],
+  "environmentIDs": ["4"],
+  "pagination": Pagination,
+  "filter": InfraFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraResponse

+
+
+
+
Description
+

Defines the details for a infras with total infras count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfInfras - Int! + Total number of infras
infras - [Infra]! + Details related to the infras
+
+
+
+
+
Example
+ + +
{"totalNoOfInfras": 123, "infras": [Infra]}
+
+ + +
+
+
+
+
+
+ Types +
+

Maintainer

+
+
+
+
Description
+

Defines the details of the maintainer

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the maintainer
email - String! + Email of the maintainer
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "email": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Metadata

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
version - String! + +
annotations - Annotation! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "version": "xyz789",
+  "annotations": Annotation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Method

+
+
+
+
Description
+

Defines the methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
get - GET + A GET request
post - POST + A POST request
+
+
+
+
+
Example
+ + +
{"get": GET, "post": POST}
+
+ + +
+
+
+
+
+
+ Types +
+

MethodRequest

+
+
+
+
Description
+

Defines the input for methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ get - GETRequest + A GET request
+ post - POSTRequest + A POST request
+
+
+
+
+
Example
+ + +
{
+  "get": GETRequest,
+  "post": POSTRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Mode

+
+
+
+
Description
+

Defines the different modes of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

SOT

+
+
+

EOT

+
+
+

Edge

+
+
+

Continuous

+
+
+

OnChaos

+
+
+
+
+
+
+
Example
+ + +
"SOT"
+
+ + +
+
+
+
+
+
+ Types +
+

ObjectData

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
labels - [String!] + Labels present in the resource
name - String! + Name of the resource
+
+
+
+
+
Example
+ + +
{
+  "labels": ["abc123"],
+  "name": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POST

+
+
+
+
Description
+

Details of POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
contentType - String + Content Type of the request
body - String + Body of the request
bodyPath - String + Body Path of the HTTP body required for the http post request
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "abc123",
+  "body": "xyz789",
+  "bodyPath": "abc123",
+  "criteria": "xyz789",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POSTRequest

+
+
+
+
Description
+

Details for input of the POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ contentType - String + Content Type of the request
+ body - String + Body of the request
+ bodyPath - String + Body Path of the request for Body
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "abc123",
+  "body": "abc123",
+  "bodyPath": "abc123",
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbe

+
+
+
+
Description
+

Defines the PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
endpoint - String! + Endpoint of the Probe
query - String + Query of the Probe
queryPath - String + Query path of the Probe
comparator - Comparator! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "endpoint": "xyz789",
+  "query": "xyz789",
+  "queryPath": "abc123",
+  "comparator": Comparator
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbeRequest

+
+
+
+
Description
+

Defines the input for PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ endpoint - String! + Endpoint of the Probe
+ query - String + Query of the Probe
+ queryPath - String + Query path of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "endpoint": "xyz789",
+  "query": "xyz789",
+  "queryPath": "abc123",
+  "comparator": ComparatorInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PackageInformation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
packageName - String! + +
experiments - [Experiments!]! + +
+
+
+
+
+
Example
+ + +
{
+  "packageName": "abc123",
+  "experiments": [Experiments]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Pagination

+
+
+
+
Description
+

Defines data required to fetch paginated data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ page - Int! + Page number for which data will be fetched
+ limit - Int! + Number of data to be fetched
+
+
+
+
+
Example
+ + +
{"page": 123, "limit": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLog

+
+
+
+
Description
+

Response received for querying pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - InfraIdentity! + ID of the cluster
+ requestID - ID! + Unique request ID of a particular node which is being queried
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podType - String! + Type of the pod: chaosengine
+ log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "infraID": InfraIdentity,
+  "requestID": 4,
+  "experimentRunID": 4,
+  "podName": "abc123",
+  "podType": "xyz789",
+  "log": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogRequest

+
+
+
+
Description
+

Defines the details for fetching the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the cluster
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podNamespace - String! + Namespace where the pod is running
+ podType - String! + Type of the pod: chaosEngine or not pod
+ expPod - String + Name of the experiment pod fetched from execution data
+ runnerPod - String + Name of the runner pod fetched from execution data
+ chaosNamespace - String + Namespace where the experiment is executing
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "experimentRunID": "4",
+  "podName": "xyz789",
+  "podNamespace": "xyz789",
+  "podType": "abc123",
+  "expPod": "xyz789",
+  "runnerPod": "abc123",
+  "chaosNamespace": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogResponse

+
+
+
+
Description
+

Defines the response received for querying querying the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
podName - String! + Name of the pod for which logs are queried
podType - String! + Type of the pod: chaosengine
log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "podName": "xyz789",
+  "podType": "abc123",
+  "log": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PredefinedExperimentList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentName - String! + Name of the experiment
experimentCSV - String! + Experiment CSV
experimentManifest - String! + Experiment Manifest
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "abc123",
+  "experimentCSV": "abc123",
+  "experimentManifest": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Probe

+
+
+
+
Description
+

Defines the details of the Probe entity

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
description - String + Description of the Probe
tags - [String!] + Tags of the Probe
type - ProbeType! + Type of the Probe [From list of ProbeType enum]
infrastructureType - InfrastructureType! + Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbe + Kubernetes HTTP Properties of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbe + Kubernetes CMD Properties of the specific type of the Probe
k8sProperties - K8SProbe + K8S Properties of the specific type of the Probe
promProperties - PROMProbe + PROM Properties of the specific type of the Probe
recentExecutions - [ProbeRecentExecutions!] + All execution histories of the probe
referencedBy - Int + Referenced by how many faults
updatedAt - String! + Timestamp at which the Probe was last updated
createdAt - String! + Timestamp at which the Probe was created
updatedBy - UserDetails + User who has updated the Probe
createdBy - UserDetails + User who has created the Probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbe,
+  "kubernetesCMDProperties": KubernetesCMDProbe,
+  "k8sProperties": K8SProbe,
+  "promProperties": PROMProbe,
+  "recentExecutions": [ProbeRecentExecutions],
+  "referencedBy": 987,
+  "updatedAt": "xyz789",
+  "createdAt": "abc123",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeFilterInput

+
+
+
+
Description
+

Defines the input for Probe filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the Probe
+ dateRange - DateRange + Date range for filtering purpose
+ type - [ProbeType] + Type of the Probe [From list of ProbeType enum]
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "dateRange": DateRange,
+  "type": ["httpProbe"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "faultName": "abc123",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRequest

+
+
+
+
Description
+

Defines the details required for creating a Chaos Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - ID! + Name of the Probe
+ description - String + Description of the Probe
+ tags - [String!] + Tags of the Probe
+ type - ProbeType! + Type of the Probe [From list of ProbeType enum]
+ infrastructureType - InfrastructureType! + Infrastructure type of the Probe
+ kubernetesHTTPProperties - KubernetesHTTPProbeRequest + HTTP Properties of the specific type of the Probe
+ kubernetesCMDProperties - KubernetesCMDProbeRequest + CMD Properties of the specific type of the Probe
+ k8sProperties - K8SProbeRequest + K8S Properties of the specific type of the Probe
+ promProperties - PROMProbeRequest + PROM Properties of the specific type of the Probe
+
+
+
+
+
Example
+ + +
{
+  "name": 4,
+  "description": "abc123",
+  "tags": ["xyz789"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbeRequest,
+  "kubernetesCMDProperties": KubernetesCMDProbeRequest,
+  "k8sProperties": K8SProbeRequest,
+  "promProperties": PROMProbeRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeType

+
+
+
+
Description
+

Defines the different types of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

httpProbe

+
+
+

cmdProbe

+
+
+

promProbe

+
+
+

k8sProbe

+
+
+
+
+
+
+
Example
+ + +
"httpProbe"
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeVerdict

+
+
+
+
Description
+

Defines the older different statuses of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

Passed

+
+
+

Failed

+
+
+

NA

+
+
+

Awaited

+
+
+
+
+
+
+
Example
+ + +
"Passed"
+
+ + +
+
+
+
+
+
+ Types +
+

Provider

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + +
+
+
+
+
+
Example
+ + +
{"name": "xyz789"}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
mode - Mode! + Probe mode
executionHistory - [ExecutionHistory!]! + Execution History
+
+
+
+
+
Example
+ + +
{
+  "faultName": "xyz789",
+  "mode": "SOT",
+  "executionHistory": [ExecutionHistory]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExperimentRun

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
phase - String! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
createdBy - UserDetails + User who created the experiment run
updatedBy - UserDetails + User who updated the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "phase": "xyz789",
+  "resiliencyScore": 123.45,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "runSequence": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraRequest

+
+
+
+
Description
+

Defines the details for the new infra being connected

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the infra
+ environmentID - String! + Environment ID for the infra
+ infrastructureType - InfrastructureType! + Type of Infra : internal/external
+ description - String + Description of the infra
+ platformName - String! + Infra Platform Name eg. GKE,AWS, Others
+ infraNamespace - String + Namespace where the infra is being installed
+ serviceAccount - String + Name of service account used by infra
+ infraScope - String! + Scope of the infra : ns or infra
+ infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
+ infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
+ skipSsl - Boolean + Bool value indicating whether infra will skip ssl checks or not
+ nodeSelector - String + Node selectors used by infra
+ tolerations - [Toleration] + Node tolerations used by infra
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "environmentID": "xyz789",
+  "infrastructureType": "Kubernetes",
+  "description": "abc123",
+  "platformName": "xyz789",
+  "infraNamespace": "xyz789",
+  "serviceAccount": "xyz789",
+  "infraScope": "abc123",
+  "infraNsExists": true,
+  "infraSaExists": true,
+  "skipSsl": false,
+  "nodeSelector": "xyz789",
+  "tolerations": [Toleration],
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraResponse

+
+
+
+
Description
+

Response received for registering a new infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
token - String! + Token used to verify and retrieve the infra manifest
infraID - String! + Unique ID for the newly registered infra
name - String! + Infra name as sent in request
manifest - String! + Infra Manifest
+
+
+
+
+
Example
+ + +
{
+  "token": "xyz789",
+  "infraID": "abc123",
+  "name": "xyz789",
+  "manifest": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ResilienceScoreCategory

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
id - Int! + Lower bound of the range(inclusive)
count - Int! + total experiments with avg resilience score between lower bound and upper bound(exclusive)
+
+
+
+
+
Example
+ + +
{"id": 987, "count": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

ResourceDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
description - String + +
tags - [String!] + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ResourceDetails Types
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RunChaosExperimentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
notifyID - ID! + +
+
+
+
+
+
Example
+ + +
{"notifyID": 4}
+
+ + +
+
+
+
+
+
+ Types +
+

SSHKey

+
+
+
+
Description
+

Defines the SSHKey details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
publicKey - String! + Public SSH key authenticating into git repository
privateKey - String! + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "publicKey": "xyz789",
+  "privateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

SaveChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the experiment
+ type - ExperimentType + Type of the experiment
+ name - String! + Name of the experiment
+ description - String! + Description of the experiment
+ manifest - String! + Manifest of the experiment
+ infraID - ID! + ID of the target infrastructure in which the experiment will run
+ tags - [String!] + Tags of the infrastructure
+
+
+
+
+
Example
+ + +
{
+  "id": "xyz789",
+  "type": "All",
+  "name": "xyz789",
+  "description": "abc123",
+  "manifest": "xyz789",
+  "infraID": 4,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ScheduleType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

CRON

+
+
+

NON_CRON

+
+
+

ALL

+
+
+
+
+
+
+
Example
+ + +
"CRON"
+
+ + +
+
+
+
+
+
+ Types +
+

ServerVersionResponse

+
+
+
+
Description
+

Response received for fetching GQL server version

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
key - String! + Returns server version key
value - String! + Returns server version value
+
+
+
+
+
Example
+ + +
{
+  "key": "abc123",
+  "value": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Spec

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
displayName - String! + +
categoryDescription - String! + +
keywords - [String!]! + +
maturity - String! + +
maintainers - [Maintainer!]! + +
minKubeVersion - String! + +
provider - Provider! + +
links - [Link!]! + +
faults - [FaultList!]! + +
experiments - [String!] + +
chaosExpCRDLink - String! + +
platforms - [String!]! + +
chaosType - String + +
+
+
+
+
+
Example
+ + +
{
+  "displayName": "xyz789",
+  "categoryDescription": "abc123",
+  "keywords": ["abc123"],
+  "maturity": "abc123",
+  "maintainers": [Maintainer],
+  "minKubeVersion": "abc123",
+  "provider": Provider,
+  "links": [Link],
+  "faults": [FaultList],
+  "experiments": ["abc123"],
+  "chaosExpCRDLink": "abc123",
+  "platforms": ["xyz789"],
+  "chaosType": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Status

+
+
+
+
Description
+

Status defines whether a probe is pass or fail

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
verdict - ProbeVerdict! + Verdict defines the verdict of the probe, range: Passed, Failed, N/A
description - String + Description defines the description of probe status
+
+
+
+
+
Example
+ + +
{
+  "verdict": "Passed",
+  "description": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

String

+
+
+
+
Description
+

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

+
+
+
+
+
Example
+ + +
"abc123"
+
+ + +
+
+
+
+
+
+ Types +
+

Toleration

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ tolerationSeconds - Int + +
+ key - String + +
+ operator - String + +
+ effect - String + +
+ value - String + +
+
+
+
+
+
Example
+ + +
{
+  "tolerationSeconds": 123,
+  "key": "xyz789",
+  "operator": "abc123",
+  "effect": "xyz789",
+  "value": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the chaos hub
+ name - String! + Name of the chaos hub
+ description - String + Description of the infra
+ tags - [String!] + Tags of the infra
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ remoteHub - String! + Connected Hub of remote repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "id": "xyz789",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "repoURL": "xyz789",
+  "repoBranch": "abc123",
+  "remoteHub": "xyz789",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "xyz789",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String + +
+ description - String + +
+ tags - [String] + +
+ type - EnvironmentType + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "type": "PROD"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateStatus

+
+
+
+
Description
+

UpdateStatus represents if infra needs to be updated

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

AVAILABLE

+
+
+

MANDATORY

+
+
+

NOT_REQUIRED

+
+
+
+
+
+
+
Example
+ + +
"AVAILABLE"
+
+ + +
+
+
+
+
+
+ Types +
+

UserDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
userID - String! + +
username - String! + +
email - String! + +
+
+
+
+
+
Example
+ + +
{
+  "userID": "xyz789",
+  "username": "xyz789",
+  "email": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Weightages

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Name of the fault
weightage - Int! + Weightage of the experiment
+
+
+
+
+
Example
+ + +
{"faultName": "abc123", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

WeightagesInput

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ faultName - String! + Name of the fault
+ weightage - Int! + Weightage of the fault
+
+
+
+
+
Example
+ + +
{"faultName": "xyz789", "weightage": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

Workload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + +
+ kind - String! + +
+ namespace - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "kind": "abc123",
+  "namespace": "abc123"
+}
+
+ + +
+
+
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.0/config.yml b/mkdocs/docs/graphql/v3.11.0/config.yml new file mode 100644 index 00000000000..dbd28b51386 --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.0/config.yml @@ -0,0 +1,33 @@ +spectaql: + targetDir: ./mkdocs/docs/graphql/v3.11.0 + logoFile: ./mkdocs/docs/graphql/logo.png + faviconFile: ./mkdocs/docs/graphql/logo.png + displayAllServers: true + themeDir: ./mkdocs/docs/graphql/v3.11.0/custom-theme + +introspection: + removeTrailingPeriodFromDescriptions: false + schemaFile: ./chaoscenter/graphql/definitions/shared/*.graphqls + queryNameStrategy: capitalizeFirst + fieldExpansionDepth: 2 + + spectaqlDirective: + enable: true + +extensions: + graphqlScalarExamples: true + +info: + title: ChaosCenter API Documentation + description: Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform. + + x-introItems: + - title: Common Error Response + file: ./mkdocs/docs/graphql/v3.11.0/error_response_guide.md + +servers: + - url: http://localhost:8080 + description: Dev + - url: http://localhost:8080/query + description: Prod + production: true diff --git a/mkdocs/docs/graphql/v3.11.0/custom-theme/stylesheets/custom.scss b/mkdocs/docs/graphql/v3.11.0/custom-theme/stylesheets/custom.scss new file mode 100644 index 00000000000..68e1aa2268c --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.0/custom-theme/stylesheets/custom.scss @@ -0,0 +1,24 @@ + +$line-height-heading: 1.2; +$font-size-large-heading: 1.7105263158rem; +$font-weight-large-heading: 700; +$content-padding: 20px; +$text-color: #535b60; +$text-weight: 400; +$text-size: 1.5789473684rem; + +#spectaql { + h2 { + color: $text-color; + font-weight: $text-weight; + font-size: $text-size; + } + + .doc-heading { + line-height: $line-height-heading; + font-size: $font-size-large-heading; + font-weight: $font-weight-large-heading; + color: #535b60 + } + +} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.0/error_response_guide.md b/mkdocs/docs/graphql/v3.11.0/error_response_guide.md new file mode 100644 index 00000000000..76e4ab30fce --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.0/error_response_guide.md @@ -0,0 +1,29 @@ +All error responses follow the structure outlined below. + +```json +{ + "errors": [ + { + "message": "Error message", + "path": [ + "Request path" + ] + } + ], + "data": {} +} +``` + +### Field Descriptions: +- **errors**:
+ An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
+ **Type: `Array`**

+ - **message**:
+ A description of the error.
+ **Type: `String`**

+ - **path**:
+ Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
+ **Type: `Array of Strings`**

+- **data**:
+ This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
+ **Type: `Object`**
diff --git a/mkdocs/docs/graphql/v3.11.0/images/favicon.png b/mkdocs/docs/graphql/v3.11.0/images/favicon.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.11.0/images/favicon.png differ diff --git a/mkdocs/docs/graphql/v3.11.0/images/logo.png b/mkdocs/docs/graphql/v3.11.0/images/logo.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.11.0/images/logo.png differ diff --git a/mkdocs/docs/graphql/v3.11.0/javascripts/spectaql.min.js b/mkdocs/docs/graphql/v3.11.0/javascripts/spectaql.min.js new file mode 100644 index 00000000000..6ef3202c222 --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.0/javascripts/spectaql.min.js @@ -0,0 +1 @@ +function scrollSpy(){var l=5,e=document.querySelector("html"),c=(e&&(e=window.getComputedStyle(e).scrollPaddingTop)&&"string"==typeof e&&"auto"!==e&&e.endsWith("px")&&(l+=parseInt(e.split("px")[0])),"nav-scroll-active"),i=null,d=[];function t(){i=null;var e=document.querySelectorAll("[data-traverse-target]");Array.prototype.forEach.call(e,function(e){d.push({id:e.id,top:e.offsetTop})})}var n=debounce(function(){t(),o()},500),o=debounce(function(){var e,t,n,o,r=(e=>{for(var t=e+l,n=0;n=d[n].top&&(!o||t{toggleMenu(),scrollSpy()}); \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.0/stylesheets/spectaql.min.css b/mkdocs/docs/graphql/v3.11.0/stylesheets/spectaql.min.css new file mode 100644 index 00000000000..e7666ab6b36 --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.0/stylesheets/spectaql.min.css @@ -0,0 +1 @@ +#spectaql h2{color:#535b60;font-weight:400;font-size:1.5789473684rem}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;font-weight:700;color:#535b60}#spectaql{padding:0;margin:0}#spectaql pre{overflow:auto;margin-top:0;margin-bottom:20px}#spectaql pre code{display:block;background:#ccc}#spectaql table{width:100%;table-layout:fixed;text-align:left;border-collapse:collapse}#spectaql table td,#spectaql table th{margin:0;padding:0}#spectaql #introduction .example-section>*,#spectaql .definition-heading,#spectaql .doc-heading,#spectaql .introduction-item-title,#spectaql .operation-heading{overflow:hidden;text-overflow:ellipsis}#spectaql #page{display:flex}#spectaql #page *{box-sizing:border-box}#spectaql #page.drawer-open #sidebar{z-index:1000;transform:translateX(0)}#spectaql #page.drawer-open .drawer-overlay{display:block;background:rgba(0,0,0,.5);z-index:10}#spectaql #sidebar{position:fixed;min-width:250px;max-width:250px;flex-shrink:0;transition:transform .2s ease-out;transform:translateX(-100%);z-index:10;padding-top:20px;background:#fff}@media (min-width:48em){#spectaql #sidebar{position:relative;transform:none}}@media (min-width:64em){#spectaql #sidebar{min-width:300px;max-width:300px}}#spectaql .sidebar-top-container{display:flex;align-items:center;padding:0 20px}#spectaql #mobile-navbar{display:flex;align-items:center;position:sticky;top:0}@media (min-width:48em){#spectaql #mobile-navbar{display:none}}#spectaql .sidebar-open-button{display:flex;align-items:flex-start;margin:0;padding:0;border:none;background:0 0}#spectaql .sidebar-open-button .hamburger{width:16px;height:14px;cursor:pointer}#spectaql .sidebar-open-button .hamburger::after{display:block;content:"";height:2px;background:#535b60;box-shadow:0 5px 0 #535b60,0 10px 0 #535b60}#spectaql .sidebar-open-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .close-button{display:block}#spectaql .close-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:48em){#spectaql .close-button{display:none}}#spectaql .drawer-overlay{display:none;position:absolute;top:0;left:0;bottom:0;right:0;background:rgba(0,0,0,0)}@media (min-width:48em){#spectaql .drawer-overlay{display:none!important}}#spectaql #nav{display:flex;flex-direction:column;max-height:calc(100vh - 0px);padding:0 20px;padding-bottom:20px;position:sticky;top:0;overflow:auto}#spectaql #logo{margin-right:auto}#spectaql #logo img{display:block;width:100%;max-width:100%}#spectaql .nav-group-items,#spectaql .nav-group-section-items{padding:0;margin:0}#spectaql .nav-group-items>li,#spectaql .nav-group-section-items>li{list-style:none}#spectaql .nav-group-items .nav-group-section-title,#spectaql .nav-group-items>li,#spectaql .nav-group-section-items .nav-group-section-title,#spectaql .nav-group-section-items>li{overflow:hidden;text-overflow:ellipsis}#spectaql .nav-group-section-items{display:none}#spectaql .nav-scroll-expand .nav-group-section-items{display:block}#spectaql #docs{position:relative;margin:0 auto;min-width:100px;max-width:88em;flex-grow:1;flex-shrink:1;padding:20px}@media (min-width:48em){#spectaql .doc-row{display:flex;flex-wrap:wrap}}#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:100%}@media (min-width:48em){#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:50%}}@media (min-width:48em){#spectaql .doc-row .doc-copy{padding-right:20px}}@media (min-width:48em){#spectaql .doc-row .doc-examples{padding-left:20px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e}#spectaql{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.6;background:#fff;color:#535b60}@media (min-width:32em){#spectaql{font-size:16px}}#spectaql a{color:#0298bf;text-decoration:none}#spectaql a:hover{color:#0182a2}#spectaql a:active,#spectaql a:focus{color:#0298bf}#spectaql code{font-size:.875em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}#spectaql pre{color:#fff}#spectaql pre code{background:#222}#spectaql pre code,#spectaql pre code.hljs{font-size:.82em;line-height:1.4;padding:15px 20px}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;margin-top:10px}@media (min-width:48em){#spectaql .doc-heading{margin-top:-10px}}#spectaql .close-button{background:0 0;border:none;padding:5px;font-size:16px;font-weight:700;color:#535b60}#spectaql #introduction{margin-bottom:60px}#spectaql #introduction .example-section:not(.example-section-is-code){margin-bottom:20px}#spectaql #introduction .example-section:not(.example-section-is-code) h5,#spectaql #introduction .example-section:not(.example-section-is-code) p{margin:0;font-size:1em}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:20px;padding-bottom:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:30px;padding-bottom:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:40px;padding-bottom:40px}}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:20px;padding-right:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:30px;padding-right:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:50px;padding-right:50px}}#spectaql #sidebar{padding-bottom:0;background:#fff}#spectaql #sidebar a{color:#535b60}#spectaql #sidebar a.nav-scroll-active,#spectaql #sidebar a:hover{font-weight:700}#spectaql #sidebar a.nav-scroll-active{color:#535b60}#spectaql #sidebar a:hover{color:#0182a2}@media (min-width:48em){#spectaql #sidebar{border-right:2px solid #d8d8d8}}#spectaql #mobile-navbar{background:#fff;margin-top:-20px;margin-left:-20px;margin-right:-20px}@media (min-width:32em){#spectaql #mobile-navbar{margin-top:-30px;margin-left:-30px;margin-right:-30px}}#spectaql #mobile-navbar .sidebar-open-button::after{display:block;content:"All Topics";margin-left:10px;color:#535b60}#spectaql #nav .nav-group{margin-top:20px}#spectaql #nav .nav-group li{margin-bottom:5px}#spectaql #nav .nav-group-title{font-size:.875em;font-weight:400;margin:0 0 6px 0;color:#999}#spectaql #nav .nav-group-section-title{font-size:inherit;margin:0;margin-bottom:5px;font-weight:400}#spectaql #nav .nav-group-section-items{margin-left:.75em}#spectaql .definition,#spectaql .operation{margin-bottom:60px}#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.72em}#spectaql .definition .definition-heading code,#spectaql .definition .operation-heading code,#spectaql .operation .definition-heading code,#spectaql .operation .operation-heading code{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:32em){#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.7105263158rem}}#spectaql .definition-group-name,#spectaql .group-heading,#spectaql .operation-group-name{border-top:2px solid #d8d8d8;padding-top:3px;color:#999;font-size:inherit;font-weight:inherit}#spectaql .definition-group-name a,#spectaql .group-heading a,#spectaql .operation-group-name a{color:#999}#spectaql .definition-group-name a:hover,#spectaql .group-heading a:hover,#spectaql .operation-group-name a:hover{font-weight:700}#spectaql .doc-examples{margin-top:20px}#spectaql .doc-examples .example-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .doc-examples .example-section-is-code h5{color:#999;text-transform:uppercase;background:#000;font-size:.75em;font-weight:700;padding:.6em 0 .6em 20px;margin:0;opacity:1}@media (min-width:48em){#spectaql .doc-examples{margin-top:0}}#spectaql .doc-copy p{margin:0 0 20px 0}#spectaql .doc-copy p:last-child{margin-bottom:0}#spectaql .doc-copy table tr th{font-weight:400;border-bottom:2px solid #d8d8d8}#spectaql .doc-copy table tr td{border-bottom:1px solid #e0e0e0}#spectaql .doc-copy table tr.row-has-field-arguments td,#spectaql .doc-copy table tr:last-child td{border-bottom:none}#spectaql .doc-copy table tr td,#spectaql .doc-copy table tr th{padding:5px}#spectaql .doc-copy table tr td:first-child,#spectaql .doc-copy table tr th:first-child{padding-left:0}#spectaql .doc-copy table tr td:last-child,#spectaql .doc-copy table tr th:last-child{padding-right:0}#spectaql .doc-copy .doc-copy-section{margin-bottom:30px}#spectaql .doc-copy .doc-copy-section>h5{margin:0 0 5px 0;font-size:inherit;font-weight:inherit;color:#999}#spectaql .doc-copy .definition-description>h5,#spectaql .doc-copy .definition-properties>h5,#spectaql .doc-copy .operation-description>h5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .field-arguments{font-size:.875em;background-color:#fafbfc;border:1px solid #e0e0e0;padding:10px;margin-bottom:5px}#spectaql .field-arguments p{margin:10px 0 0 0}#spectaql .field-arguments h5.field-arguments-heading{margin:0;padding:0 0 10px 0;font-weight:inherit;color:#999}#spectaql .field-arguments .field-argument{border-top:1px #e0e0e0 solid;padding:10px 0}#spectaql .field-arguments .field-argument:last-child{padding-bottom:0}#spectaql .field-arguments .field-argument-name{margin:0;font-size:inherit;font-weight:inherit}#spectaql .deprecation-reason{word-break:break-word}#spectaql .deprecation-reason::before{display:inline;content:"Deprecated";padding:2px 5px;margin-right:5px;background:#fed7d8;color:#c60609;font-weight:700;font-size:.875em} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.x/api.html b/mkdocs/docs/graphql/v3.11.x/api.html new file mode 100644 index 00000000000..5c10624d7bf --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.x/api.html @@ -0,0 +1,18310 @@ + + + + + + + ChaosCenter API Documentation + + + + +
+ +
+
+ +
+
+

ChaosCenter API Documentation

+
+
+
+

Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.

+
+
+
+
API Endpoints
+
# Dev:
+http://localhost:8080
+# Prod:
+http://localhost:8080/query
+
+
+
+
+
+

Common Error Response

+
+
+

All error responses follow the structure outlined below.

+
{
+  "errors": [
+    {
+      "message": "Error message",
+      "path": [
+        "Request path"
+      ]
+    }
+  ],
+  "data": {}
+}
+
+

Field Descriptions:

+
    +
  • errors:
    An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
    + Type: Array

    +
      +
    • message:
      A description of the error.
      + Type: String

      +
    • +
    • path:
      Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
      + Type: Array of Strings

      +
    • +
    +
  • +
  • data:
    This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
    + Type: Object
    +
  • +
+
+
+
+
+
+
+

Queries

+
+

+ getChaosFault +

+
+
+
+
Description
+

Get the fault list from a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a FaultDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosFault(
+  $projectID: ID!,
+  $request: ExperimentRequest!
+) {
+  getChaosFault(
+    projectID: $projectID,
+    request: $request
+  ) {
+    fault
+    engine
+    csv
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ExperimentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosFault": {
+      "fault": "abc123",
+      "engine": "abc123",
+      "csv": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHub +

+
+
+
+
Description
+

Get the details of a requested ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHubStatus! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ chaosHubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHub(
+  $projectID: ID!,
+  $chaosHubID: ID!
+) {
+  getChaosHub(
+    projectID: $projectID,
+    chaosHubID: $chaosHubID
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "chaosHubID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosHub": {
+      "id": "4",
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "remoteHub": "abc123",
+      "isAvailable": true,
+      "totalFaults": "abc123",
+      "totalExperiments": "abc123",
+      "name": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "xyz789",
+      "isRemoved": true,
+      "sshPrivateKey": "xyz789",
+      "sshPublicKey": "xyz789",
+      "lastSyncedAt": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "description": "xyz789",
+      "isDefault": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHubStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetChaosHubStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHubStats($projectID: ID!) {
+  getChaosHubStats(projectID: $projectID) {
+    totalChaosHubs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"getChaosHubStats": {"totalChaosHubs": 123}}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  getEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "environmentID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getEnvironment": {
+      "projectID": "abc123",
+      "environmentID": "abc123",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "abc123",
+      "isRemoved": false,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperiment +

+
+
+
+
Description
+

Returns the experiment based on experiment ID

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperiment(
+  $projectID: ID!,
+  $experimentID: String!
+) {
+  getExperiment(
+    projectID: $projectID,
+    experimentID: $experimentID
+  ) {
+    experimentDetails {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+    averageResiliencyScore
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "experimentID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperiment": {
+      "experimentDetails": Experiment,
+      "averageResiliencyScore": 987.65
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRun +

+
+
+
+
Description
+

Returns experiment run based on experiment run ID

+
+
+
+
+
+
+
Response
+

Returns an ExperimentRun! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - ID + +
+ notifyID - ID + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: ID,
+  $notifyID: ID
+) {
+  getExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  ) {
+    projectID
+    experimentRunID
+    experimentType
+    experimentID
+    weightages {
+      faultName
+      weightage
+    }
+    updatedAt
+    createdAt
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+    experimentName
+    experimentManifest
+    phase
+    resiliencyScore
+    faultsPassed
+    faultsFailed
+    faultsAwaited
+    faultsStopped
+    faultsNa
+    totalFaults
+    executionData
+    isRemoved
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+    notifyID
+    runSequence
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentRunID": 4,
+  "notifyID": 4
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRun": {
+      "projectID": 4,
+      "experimentRunID": 4,
+      "experimentType": "xyz789",
+      "experimentID": 4,
+      "weightages": [Weightages],
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "infra": Infra,
+      "experimentName": "abc123",
+      "experimentManifest": "xyz789",
+      "phase": "All",
+      "resiliencyScore": 987.65,
+      "faultsPassed": 123,
+      "faultsFailed": 123,
+      "faultsAwaited": 123,
+      "faultsStopped": 987,
+      "faultsNa": 123,
+      "totalFaults": 987,
+      "executionData": "abc123",
+      "isRemoved": true,
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails,
+      "notifyID": "4",
+      "runSequence": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRunStats +

+
+
+
+
Description
+

Query to get experiment run stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentRunStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRunStats($projectID: ID!) {
+  getExperimentRunStats(projectID: $projectID) {
+    totalExperimentRuns
+    totalCompletedExperimentRuns
+    totalTerminatedExperimentRuns
+    totalRunningExperimentRuns
+    totalStoppedExperimentRuns
+    totalErroredExperimentRuns
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRunStats": {
+      "totalExperimentRuns": 123,
+      "totalCompletedExperimentRuns": 123,
+      "totalTerminatedExperimentRuns": 987,
+      "totalRunningExperimentRuns": 123,
+      "totalStoppedExperimentRuns": 123,
+      "totalErroredExperimentRuns": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentStats($projectID: ID!) {
+  getExperimentStats(projectID: $projectID) {
+    totalExperiments
+    totalExpCategorizedByResiliencyScore {
+      id
+      count
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentStats": {
+      "totalExperiments": 123,
+      "totalExpCategorizedByResiliencyScore": [
+        ResilienceScoreCategory
+      ]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getGitOpsDetails +

+
+
+
+
Description
+

Returns the git configuration for gitops

+
+
+
+
+
+
+
Response
+

Returns a GitConfigResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetGitOpsDetails($projectID: ID!) {
+  getGitOpsDetails(projectID: $projectID) {
+    enabled
+    projectID
+    branch
+    repoURL
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getGitOpsDetails": {
+      "enabled": true,
+      "projectID": "xyz789",
+      "branch": "xyz789",
+      "repoURL": "xyz789",
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getImageRegistry +

+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetImageRegistry($projectID: String!) {
+  getImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "xyz789",
+      "projectID": "xyz789",
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfra +

+
+
+
+
Description
+

Returns infra with a particular infraID in the project

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  getInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfra": {
+      "projectID": "4",
+      "infraID": 4,
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "environmentID": "abc123",
+      "platformName": "abc123",
+      "isActive": true,
+      "isInfraConfirmed": false,
+      "isRemoved": true,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 987,
+      "token": "xyz789",
+      "infraNamespace": "abc123",
+      "serviceAccount": "xyz789",
+      "infraScope": "abc123",
+      "infraNsExists": true,
+      "infraSaExists": false,
+      "lastExperimentTimestamp": "xyz789",
+      "startTime": "xyz789",
+      "version": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraDetails +

+
+
+
+
Description
+

Returns infra details based on identifiers

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraDetails(
+  $infraID: ID!,
+  $projectID: ID!
+) {
+  getInfraDetails(
+    infraID: $infraID,
+    projectID: $projectID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"infraID": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraDetails": {
+      "projectID": "4",
+      "infraID": "4",
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "environmentID": "xyz789",
+      "platformName": "abc123",
+      "isActive": true,
+      "isInfraConfirmed": true,
+      "isRemoved": true,
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 987,
+      "token": "xyz789",
+      "infraNamespace": "abc123",
+      "serviceAccount": "abc123",
+      "infraScope": "xyz789",
+      "infraNsExists": true,
+      "infraSaExists": true,
+      "lastExperimentTimestamp": "abc123",
+      "startTime": "xyz789",
+      "version": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraManifest +

+
+
+
+
Description
+

Returns the manifest for a given infraID

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ upgrade - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraManifest(
+  $infraID: ID!,
+  $upgrade: Boolean!,
+  $projectID: ID!
+) {
+  getInfraManifest(
+    infraID: $infraID,
+    upgrade: $upgrade,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "infraID": "4",
+  "upgrade": true,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"getInfraManifest": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetInfraStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraStats($projectID: ID!) {
+  getInfraStats(projectID: $projectID) {
+    totalInfrastructures
+    totalActiveInfrastructure
+    totalInactiveInfrastructures
+    totalConfirmedInfrastructure
+    totalNonConfirmedInfrastructures
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraStats": {
+      "totalInfrastructures": 123,
+      "totalActiveInfrastructure": 987,
+      "totalInactiveInfrastructures": 123,
+      "totalConfirmedInfrastructure": 987,
+      "totalNonConfirmedInfrastructures": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getPredefinedExperiment +

+
+
+
+
Description
+

Returns predefined experiment details of selected experiments

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ experimentName - [String!]! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetPredefinedExperiment(
+  $hubID: ID!,
+  $experimentName: [String!]!,
+  $projectID: ID!
+) {
+  getPredefinedExperiment(
+    hubID: $hubID,
+    experimentName: $experimentName,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "hubID": "4",
+  "experimentName": ["abc123"],
+  "projectID": 4
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPredefinedExperiment": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "abc123",
+        "experimentManifest": "xyz789"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbe +

+
+
+
+
Description
+

Returns a single Probe based on ProbeName and various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "probeName": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbe": {
+      "projectID": "4",
+      "name": "abc123",
+      "description": "xyz789",
+      "tags": ["xyz789"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 123,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeReference +

+
+
+
+
Description
+

Returns all the reference of the Probe based on ProbeName

+
+
+
+
+
+
+
Response
+

Returns a GetProbeReferenceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeReference(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbeReference(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    totalRuns
+    recentExecutions {
+      faultName
+      mode
+      executionHistory {
+        ...ExecutionHistoryFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "probeName": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbeReference": {
+      "projectID": 4,
+      "name": "abc123",
+      "totalRuns": 123,
+      "recentExecutions": [RecentExecutions]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeYAML +

+
+
+
+
Description
+

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - GetProbeYAMLRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeYAML(
+  $projectID: ID!,
+  $request: GetProbeYAMLRequest!
+) {
+  getProbeYAML(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": GetProbeYAMLRequest
+}
+
+ + +
+
+
Response
+ + +
{"data": {"getProbeYAML": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbesInExperimentRun +

+
+
+
+
Description
+

Returns all the Probes attached to the requested Experiment Run

+
+
+
+
+
+
+
Response
+

Returns [GetProbesInExperimentRunResponse]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - String! + +
+ faultName - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbesInExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: String!,
+  $faultName: String!
+) {
+  getProbesInExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    faultName: $faultName
+  ) {
+    probe {
+      projectID
+      name
+      description
+      tags
+      type
+      infrastructureType
+      kubernetesHTTPProperties {
+        ...KubernetesHTTPProbeFragment
+      }
+      kubernetesCMDProperties {
+        ...KubernetesCMDProbeFragment
+      }
+      k8sProperties {
+        ...K8SProbeFragment
+      }
+      promProperties {
+        ...PROMProbeFragment
+      }
+      recentExecutions {
+        ...ProbeRecentExecutionsFragment
+      }
+      referencedBy
+      updatedAt
+      createdAt
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+    }
+    mode
+    status {
+      verdict
+      description
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": 4,
+  "experimentRunID": "xyz789",
+  "faultName": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbesInExperimentRun": [
+      {
+        "probe": Probe,
+        "mode": "SOT",
+        "status": Status
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getServerVersion +

+
+
+
+
Description
+

Returns version of gql server

+
+
+
+
+
+
+
Response
+

Returns a ServerVersionResponse! +

+
+
+
+

Example

+
+
Query
+ + +
query GetServerVersion {
+  getServerVersion {
+    key
+    value
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getServerVersion": {
+      "key": "abc123",
+      "value": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getVersionDetails +

+
+
+
+
Description
+

Query to get the latest version of infra available

+
+
+
+
+
+
+
Response
+

Returns an InfraVersionDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetVersionDetails($projectID: ID!) {
+  getVersionDetails(projectID: $projectID) {
+    latestVersion
+    compatibleVersions
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getVersionDetails": {
+      "latestVersion": "abc123",
+      "compatibleVersions": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosFaults +

+
+
+
+
Description
+

List the Charts details of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [Chart!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosFaults(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listChaosFaults(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    apiVersion
+    kind
+    metadata {
+      name
+      version
+      annotations {
+        ...AnnotationFragment
+      }
+    }
+    spec {
+      displayName
+      categoryDescription
+      keywords
+      maturity
+      maintainers {
+        ...MaintainerFragment
+      }
+      minKubeVersion
+      provider {
+        ...ProviderFragment
+      }
+      links {
+        ...LinkFragment
+      }
+      faults {
+        ...FaultListFragment
+      }
+      experiments
+      chaosExpCRDLink
+      platforms
+      chaosType
+    }
+    packageInfo {
+      packageName
+      experiments {
+        ...ExperimentsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": "4", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosFaults": [
+      {
+        "apiVersion": "abc123",
+        "kind": "abc123",
+        "metadata": Metadata,
+        "spec": Spec,
+        "packageInfo": PackageInformation
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosHub +

+
+
+
+
Description
+

Lists all the connected ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [ChaosHubStatus]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListChaosHubRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosHub(
+  $projectID: ID!,
+  $request: ListChaosHubRequest
+) {
+  listChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosHub": [
+      {
+        "id": "4",
+        "repoURL": "abc123",
+        "repoBranch": "xyz789",
+        "remoteHub": "abc123",
+        "isAvailable": true,
+        "totalFaults": "abc123",
+        "totalExperiments": "xyz789",
+        "name": "xyz789",
+        "hubType": "GIT",
+        "isPrivate": true,
+        "authType": "BASIC",
+        "token": "abc123",
+        "userName": "xyz789",
+        "password": "xyz789",
+        "isRemoved": true,
+        "sshPrivateKey": "xyz789",
+        "sshPublicKey": "xyz789",
+        "lastSyncedAt": "abc123",
+        "tags": ["xyz789"],
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "createdAt": "abc123",
+        "updatedAt": "xyz789",
+        "description": "abc123",
+        "isDefault": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listEnvironments +

+
+
+
+
Response
+

Returns a ListEnvironmentResponse +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListEnvironments(
+  $projectID: ID!,
+  $request: ListEnvironmentRequest
+) {
+  listEnvironments(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfEnvironments
+    environments {
+      projectID
+      environmentID
+      name
+      description
+      tags
+      type
+      createdAt
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      updatedAt
+      isRemoved
+      infraIDs
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listEnvironments": {
+      "totalNoOfEnvironments": 987,
+      "environments": [Environment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperiment +

+
+
+
+
Description
+

Returns the list of experiments based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperiment(
+  $projectID: ID!,
+  $request: ListExperimentRequest!
+) {
+  listExperiment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperiments
+    experiments {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListExperimentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperiment": {
+      "totalNoOfExperiments": 123,
+      "experiments": [Experiment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperimentRun +

+
+
+
+
Description
+

Returns the list of experiment run based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentRunResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperimentRun(
+  $projectID: ID!,
+  $request: ListExperimentRunRequest!
+) {
+  listExperimentRun(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperimentRuns
+    experimentRuns {
+      projectID
+      experimentRunID
+      experimentType
+      experimentID
+      weightages {
+        ...WeightagesFragment
+      }
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      experimentName
+      experimentManifest
+      phase
+      resiliencyScore
+      faultsPassed
+      faultsFailed
+      faultsAwaited
+      faultsStopped
+      faultsNa
+      totalFaults
+      executionData
+      isRemoved
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+      notifyID
+      runSequence
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperimentRun": {
+      "totalNoOfExperimentRuns": 987,
+      "experimentRuns": [ExperimentRun]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listImageRegistry +

+
+
+
+
Response
+

Returns [ImageRegistryResponse!] +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListImageRegistry($projectID: String!) {
+  listImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "xyz789"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listImageRegistry": [
+      {
+        "isDefault": false,
+        "imageRegistryInfo": ImageRegistry,
+        "imageRegistryID": "abc123",
+        "projectID": "xyz789",
+        "updatedAt": "xyz789",
+        "createdAt": "abc123",
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "isRemoved": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listInfras +

+
+
+
+
Description
+

Returns infras with a particular infra type in the project

+
+
+
+
+
+
+
Response
+

Returns a ListInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListInfraRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListInfras(
+  $projectID: ID!,
+  $request: ListInfraRequest
+) {
+  listInfras(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfInfras
+    infras {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListInfraRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listInfras": {
+      "totalNoOfInfras": 987,
+      "infras": [Infra]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listPredefinedExperiments +

+
+
+
+
Description
+

List the PredefinedExperiments present in the hub

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListPredefinedExperiments(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listPredefinedExperiments(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listPredefinedExperiments": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "abc123",
+        "experimentManifest": "abc123"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listProbes +

+
+
+
+
Description
+

Returns the list of Probes based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns [Probe]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infrastructureType - InfrastructureType + +
+ probeNames - [ID!] + +
+ filter - ProbeFilterInput + +
+
+
+
+

Example

+
+
Query
+ + +
query ListProbes(
+  $projectID: ID!,
+  $infrastructureType: InfrastructureType,
+  $probeNames: [ID!],
+  $filter: ProbeFilterInput
+) {
+  listProbes(
+    projectID: $projectID,
+    infrastructureType: $infrastructureType,
+    probeNames: $probeNames,
+    filter: $filter
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infrastructureType": "Kubernetes",
+  "probeNames": [4],
+  "filter": ProbeFilterInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listProbes": [
+      {
+        "projectID": 4,
+        "name": "xyz789",
+        "description": "abc123",
+        "tags": ["xyz789"],
+        "type": "httpProbe",
+        "infrastructureType": "Kubernetes",
+        "kubernetesHTTPProperties": KubernetesHTTPProbe,
+        "kubernetesCMDProperties": KubernetesCMDProbe,
+        "k8sProperties": K8SProbe,
+        "promProperties": PROMProbe,
+        "recentExecutions": [ProbeRecentExecutions],
+        "referencedBy": 987,
+        "updatedAt": "abc123",
+        "createdAt": "abc123",
+        "updatedBy": UserDetails,
+        "createdBy": UserDetails
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ validateUniqueProbe +

+
+
+
+
Description
+

Validates if a probe is already present, returns true if unique

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ValidateUniqueProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  validateUniqueProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "probeName": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"validateUniqueProbe": true}}
+
+ + +
+
+
+
+

Mutations

+
+

+ addChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (includes the git clone operation)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  addChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addChaosHub": {
+      "id": "4",
+      "repoURL": "abc123",
+      "repoBranch": "abc123",
+      "remoteHub": "xyz789",
+      "projectID": "4",
+      "isDefault": false,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addProbe +

+
+
+
+
Description
+

Creates a new Probe

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  addProbe(
+    request: $request,
+    projectID: $projectID
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ProbeRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addProbe": {
+      "projectID": "4",
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 987,
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addRemoteChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (remote hub download)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateRemoteChaosHub! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddRemoteChaosHub(
+  $projectID: ID!,
+  $request: CreateRemoteChaosHub!
+) {
+  addRemoteChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateRemoteChaosHub
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addRemoteChaosHub": {
+      "id": 4,
+      "repoURL": "abc123",
+      "repoBranch": "xyz789",
+      "remoteHub": "xyz789",
+      "projectID": 4,
+      "isDefault": false,
+      "name": "xyz789",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "xyz789",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ chaosExperimentRun +

+
+
+
+
Description
+

Creates a new experiment run and sends it to subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - ExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ChaosExperimentRun($request: ExperimentRunRequest!) {
+  chaosExperimentRun(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": ExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"chaosExperimentRun": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ confirmInfraRegistration +

+
+
+
+
Description
+

Confirms the subscriber's registration with the control plane

+
+
+
+
+
+
+
Response
+

Returns a ConfirmInfraRegistrationResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ConfirmInfraRegistration($request: InfraIdentity!) {
+  confirmInfraRegistration(request: $request) {
+    isInfraConfirmed
+    newAccessKey
+    infraID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "confirmInfraRegistration": {
+      "isInfraConfirmed": true,
+      "newAccessKey": "xyz789",
+      "infraID": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createChaosExperiment +

+
+
+
+
Description
+

Creates a new experiment and applies its manifest

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  createChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ChaosExperimentRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createChaosExperiment": {
+      "experimentID": "xyz789",
+      "projectID": "4",
+      "cronSyntax": "abc123",
+      "experimentName": "xyz789",
+      "experimentDescription": "abc123",
+      "isCustomExperiment": true,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateEnvironment(
+  $projectID: ID!,
+  $request: CreateEnvironmentRequest
+) {
+  createEnvironment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createEnvironment": {
+      "projectID": "xyz789",
+      "environmentID": "abc123",
+      "name": "abc123",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "xyz789",
+      "isRemoved": true,
+      "infraIDs": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createImageRegistry +

+
+
+
+
Description
+

Create an Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateImageRegistry(
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  createImageRegistry(
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "abc123",
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosExperiment +

+
+
+
+
Description
+

Removes a experiment from infra

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ experimentRunID - String + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosExperiment(
+  $experimentID: String!,
+  $experimentRunID: String,
+  $projectID: ID!
+) {
+  deleteChaosExperiment(
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "abc123",
+  "experimentRunID": "xyz789",
+  "projectID": 4
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosExperiment": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosHub +

+
+
+
+
Description
+

Delete the ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ hubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosHub(
+  $projectID: ID!,
+  $hubID: ID!
+) {
+  deleteChaosHub(
+    projectID: $projectID,
+    hubID: $hubID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "hubID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosHub": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  deleteEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "environmentID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteEnvironment": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteImageRegistry +

+
+
+
+
Description
+

Delete the Image Registry

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!
+) {
+  deleteImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteImageRegistry": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteInfra +

+
+
+
+
Description
+

Disconnects an infra and deletes its configuration from the control plane

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  deleteInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteInfra": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteProbe +

+
+
+
+
Description
+

Delete a Probe

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ probeName - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteProbe(
+  $probeName: ID!,
+  $projectID: ID!
+) {
+  deleteProbe(
+    probeName: $probeName,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"probeName": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteProbe": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ disableGitOps +

+
+
+
+
Description
+

Disables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DisableGitOps($projectID: ID!) {
+  disableGitOps(projectID: $projectID)
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"disableGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ enableGitOps +

+
+
+
+
Description
+

Enables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation EnableGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  enableGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"enableGitOps": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ generateSSHKey +

+
+
+
+
Description
+

Generates Private and Public key for SSH authentication

+
+
+
+
+
+
+
Response
+

Returns an SSHKey! +

+
+
+
+

Example

+
+
Query
+ + +
mutation GenerateSSHKey {
+  generateSSHKey {
+    publicKey
+    privateKey
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "generateSSHKey": {
+      "publicKey": "xyz789",
+      "privateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ getManifestWithInfraID +

+
+
+
+
Description
+

Fetches manifest details

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+ accessKey - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GetManifestWithInfraID(
+  $projectID: ID!,
+  $infraID: String!,
+  $accessKey: String!
+) {
+  getManifestWithInfraID(
+    projectID: $projectID,
+    infraID: $infraID,
+    accessKey: $accessKey
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": 4,
+  "infraID": "xyz789",
+  "accessKey": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getManifestWithInfraID": "xyz789"
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ gitopsNotifier +

+
+
+
+
Description
+

Sends workflow run request(single run workflow only) to agent on gitops notification

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ clusterInfo - InfraIdentity! + +
+ experimentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GitopsNotifier(
+  $clusterInfo: InfraIdentity!,
+  $experimentID: ID!
+) {
+  gitopsNotifier(
+    clusterInfo: $clusterInfo,
+    experimentID: $experimentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"clusterInfo": InfraIdentity, "experimentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"gitopsNotifier": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeNamespace +

+
+
+
+
Description
+

Receives kubernetes namespace data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeNamespaceData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeNamespace($request: KubeNamespaceData!) {
+  kubeNamespace(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeNamespaceData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeNamespace": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeObj +

+
+
+
+
Description
+

Receives kubernetes object data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeObj($request: KubeObjectData!) {
+  kubeObj(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeObj": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ podLog +

+
+
+
+
Description
+

Receives pod logs for experiments from infra

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLog! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation PodLog($request: PodLog!) {
+  podLog(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLog}
+
+ + +
+
+
Response
+ + +
{"data": {"podLog": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ registerInfra +

+
+
+
+
Description
+

Connect a new infra for a user in a specified project

+
+
+
+
+
+
+
Response
+

Returns a RegisterInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - RegisterInfraRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RegisterInfra(
+  $projectID: ID!,
+  $request: RegisterInfraRequest!
+) {
+  registerInfra(
+    projectID: $projectID,
+    request: $request
+  ) {
+    token
+    infraID
+    name
+    manifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": RegisterInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "registerInfra": {
+      "token": "xyz789",
+      "infraID": "abc123",
+      "name": "abc123",
+      "manifest": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ runChaosExperiment +

+
+
+
+
Description
+

Run the chaos experiment (used by frontend)

+
+
+
+
+
+
+
Response
+

Returns a RunChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RunChaosExperiment(
+  $experimentID: String!,
+  $projectID: ID!
+) {
+  runChaosExperiment(
+    experimentID: $experimentID,
+    projectID: $projectID
+  ) {
+    notifyID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"experimentID": "abc123", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"runChaosExperiment": {"notifyID": 4}}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosExperiment +

+
+
+
+
Description
+

Saves a new experiment or updates if already exists

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - SaveChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosExperiment(
+  $request: SaveChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  saveChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"request": SaveChaosExperimentRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"saveChaosExperiment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosHub +

+
+
+
+
Description
+

Save a ChaosHub configuration without cloning it

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  saveChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "saveChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "remoteHub": "xyz789",
+      "projectID": 4,
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "abc123",
+      "updatedAt": "xyz789",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ stopExperimentRuns +

+
+
+
+
Description
+

stopExperiment will halt all the ongoing runs of a particular experiment

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+ experimentRunID - String + +
+ notifyID - String + +
+
+
+
+

Example

+
+
Query
+ + +
mutation StopExperimentRuns(
+  $projectID: ID!,
+  $experimentID: String!,
+  $experimentRunID: String,
+  $notifyID: String
+) {
+  stopExperimentRuns(
+    projectID: $projectID,
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "abc123",
+  "experimentRunID": "abc123",
+  "notifyID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"stopExperimentRuns": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ syncChaosHub +

+
+
+
+
Description
+

Sync changes from the Git repository of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ id - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SyncChaosHub(
+  $id: ID!,
+  $projectID: ID!
+) {
+  syncChaosHub(
+    id: $id,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"id": "4", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"syncChaosHub": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosExperiment +

+
+
+
+
Description
+

Updates the experiment

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  updateChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": "4",
+      "cronSyntax": "xyz789",
+      "experimentName": "abc123",
+      "experimentDescription": "xyz789",
+      "isCustomExperiment": false,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosHub +

+
+
+
+
Description
+

Update the configuration of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosHub(
+  $projectID: ID!,
+  $request: UpdateChaosHubRequest!
+) {
+  updateChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    remoteHub
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": UpdateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "remoteHub": "xyz789",
+      "projectID": 4,
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "xyz789",
+      "password": "xyz789",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateCronExperimentState +

+
+
+
+
Description
+

Enable/Disable cron experiment state

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ disable - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateCronExperimentState(
+  $experimentID: String!,
+  $disable: Boolean!,
+  $projectID: ID!
+) {
+  updateCronExperimentState(
+    experimentID: $experimentID,
+    disable: $disable,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "xyz789",
+  "disable": false,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateCronExperimentState": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateEnvironment(
+  $projectID: ID!,
+  $request: UpdateEnvironmentRequest
+) {
+  updateEnvironment(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": UpdateEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateEnvironment": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateGitOps +

+
+
+
+
Description
+

Updates gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  updateGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "configurations": GitConfig
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateImageRegistry +

+
+
+
+
Description
+

Update the Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  updateImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "abc123",
+  "projectID": "abc123",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "abc123",
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateProbe +

+
+
+
+
Description
+

Update the configuration of a Probe

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  updateProbe(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ProbeRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateProbe": "abc123"}}
+
+ + +
+
+
+
+

Subscriptions

+
+

+ getInfraEvents +

+
+
+
+
Description
+

Listens infra events from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraEventResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetInfraEvents($projectID: String!) {
+  getInfraEvents(projectID: $projectID) {
+    eventID
+    eventType
+    eventName
+    description
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "xyz789"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraEvents": {
+      "eventID": 4,
+      "eventType": "xyz789",
+      "eventName": "abc123",
+      "description": "xyz789",
+      "infra": Infra
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeNamespace +

+
+
+
+
Description
+

Returns a kubernetes namespaces given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeNamespaceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeNamespaceRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeNamespace($request: KubeNamespaceRequest!) {
+  getKubeNamespace(request: $request) {
+    infraID
+    kubeNamespace {
+      name
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeNamespaceRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeNamespace": {
+      "infraID": "4",
+      "kubeNamespace": [KubeNamespace]
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeObject +

+
+
+
+
Description
+

Returns a kubernetes object given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeObjectResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeObject($request: KubeObjectRequest!) {
+  getKubeObject(request: $request) {
+    infraID
+    kubeObj {
+      namespace
+      data {
+        ...ObjectDataFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeObject": {
+      "infraID": "4",
+      "kubeObj": KubeObject
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getPodLog +

+
+
+
+
Description
+

Returns experiment logs from the pods

+
+
+
+
+
+
+
Response
+

Returns a PodLogResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLogRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetPodLog($request: PodLogRequest!) {
+  getPodLog(request: $request) {
+    experimentRunID
+    podName
+    podType
+    log
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLogRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPodLog": {
+      "experimentRunID": 4,
+      "podName": "xyz789",
+      "podType": "xyz789",
+      "log": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ infraConnect +

+
+
+
+
Description
+

Listens infra operation request from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraActionResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription InfraConnect($request: InfraIdentity!) {
+  infraConnect(request: $request) {
+    projectID
+    action {
+      requestID
+      requestType
+      k8sManifest
+      namespace
+      externalData
+      username
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "infraConnect": {
+      "projectID": "xyz789",
+      "action": ActionPayload
+    }
+  }
+}
+
+ + +
+
+
+
+

Types

+
+

ActionPayload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
requestID - String! + +
requestType - String! + +
k8sManifest - String! + +
namespace - String! + +
externalData - String + +
username - String + +
+
+
+
+
+
Example
+ + +
{
+  "requestID": "xyz789",
+  "requestType": "abc123",
+  "k8sManifest": "abc123",
+  "namespace": "xyz789",
+  "externalData": "abc123",
+  "username": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Annotation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
categories - String! + +
vendor - String! + +
createdAt - String! + +
repository - String! + +
support - String! + +
chartDescription - String! + +
+
+
+
+
+
Example
+ + +
{
+  "categories": "abc123",
+  "vendor": "xyz789",
+  "createdAt": "xyz789",
+  "repository": "xyz789",
+  "support": "abc123",
+  "chartDescription": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Audit

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
updatedAt - String + +
createdAt - String + +
updatedBy - UserDetails + +
createdBy - UserDetails + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audit Types
+

ExperimentRun

+
+

RecentExperimentRun

+
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

ImageRegistryResponse

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

AuthType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

BASIC

+
+
+

NONE

+
+
+

SSH

+
+
+

TOKEN

+
+
+
+
+
+
+
Example
+ + +
"BASIC"
+
+ + +
+
+
+
+
+
+ Types +
+

Boolean

+
+
+
+
Description
+

The Boolean scalar type represents true or false.

+
+
+
+
+
Example
+ + +
true
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String + ID of the experiment
+ runExperiment - Boolean + Boolean check indicating if the created scenario will be executed or not
+ experimentManifest - String! + Manifest of the experiment
+ experimentType - ExperimentType + Type of the experiment
+ cronSyntax - String! + Cron syntax of the experiment schedule
+ experimentName - String! + Name of the experiment
+ experimentDescription - String! + Description of the experiment
+ weightages - [WeightagesInput!]! + Array containing weightage and name of each chaos experiment in the experiment
+ isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
+ infraID - ID! + ID of the target infra in which the experiment will run
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "runExperiment": true,
+  "experimentManifest": "xyz789",
+  "experimentType": "All",
+  "cronSyntax": "abc123",
+  "experimentName": "abc123",
+  "experimentDescription": "abc123",
+  "weightages": [WeightagesInput],
+  "isCustomExperiment": false,
+  "infraID": "4",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentResponse

+
+
+
+
Description
+

Defines the response received for querying the details of chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + ID of the experiment
projectID - ID! + +
cronSyntax - String! + Cron syntax of the experiment schedule
experimentName - String! + Name of the experiment
experimentDescription - String! + Description of the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "projectID": 4,
+  "cronSyntax": "xyz789",
+  "experimentName": "abc123",
+  "experimentDescription": "abc123",
+  "isCustomExperiment": false,
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the chaos hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
remoteHub - String! + Connected Hub of remote repository
projectID - ID! + ID of the project in which the chaos hub is present
isDefault - Boolean! + Default Hub Identifier
name - String! + Name of the chaos hub
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
description - String + Description of ChaosHub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
isRemoved - Boolean! + Bool value indicating if the chaos hub is removed
createdAt - String! + Timestamp when the chaos hub was created
updatedAt - String! + Timestamp when the chaos hub was last updated
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
+
+
+
+
+
Example
+ + +
{
+  "id": "4",
+  "repoURL": "abc123",
+  "repoBranch": "xyz789",
+  "remoteHub": "abc123",
+  "projectID": "4",
+  "isDefault": false,
+  "name": "xyz789",
+  "tags": ["abc123"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "description": "xyz789",
+  "hubType": "GIT",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "xyz789",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789",
+  "isRemoved": true,
+  "createdAt": "abc123",
+  "updatedAt": "xyz789",
+  "lastSyncedAt": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubFilterInput

+
+
+
+
Description
+

Defines filter options for ChaosHub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubName - String + Name of the ChaosHub
+ tags - [String!] + Tags of a chaos hub
+ description - String + Description of a chaos hub
+
+
+
+
+
Example
+ + +
{
+  "chaosHubName": "abc123",
+  "tags": ["xyz789"],
+  "description": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubStatus

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
remoteHub - String! + Connected Hub of remote repository
isAvailable - Boolean! + Bool value indicating whether the hub is available or not.
totalFaults - String! + Total number of experiments in the hub
totalExperiments - String! + Total experiments
name - String! + Name of the chaos hub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
isRemoved - Boolean! + Bool value indicating whether the hub is private or not.
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
sshPublicKey - String + Public SSH key for authenticating into private chaos hub
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
createdAt - String! + Created at timestamp
updatedAt - String! + Updated at timestamp
description - String + Description of ChaosHub
isDefault - Boolean! + Default Hub Identifier
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "abc123",
+  "repoBranch": "xyz789",
+  "remoteHub": "xyz789",
+  "isAvailable": true,
+  "totalFaults": "xyz789",
+  "totalExperiments": "xyz789",
+  "name": "xyz789",
+  "hubType": "GIT",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "xyz789",
+  "isRemoved": true,
+  "sshPrivateKey": "abc123",
+  "sshPublicKey": "xyz789",
+  "lastSyncedAt": "abc123",
+  "tags": ["abc123"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "createdAt": "abc123",
+  "updatedAt": "abc123",
+  "description": "abc123",
+  "isDefault": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Chart

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
apiVersion - String! + +
kind - String! + +
metadata - Metadata! + +
spec - Spec! + +
packageInfo - PackageInformation! + +
+
+
+
+
+
Example
+ + +
{
+  "apiVersion": "xyz789",
+  "kind": "abc123",
+  "metadata": Metadata,
+  "spec": Spec,
+  "packageInfo": PackageInformation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CommonProbeProperties

+
+
+
+
Description
+

Defines the common probe properties shared across different ProbeTypes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + +
CommonProbeProperties Types
+

KubernetesCMDProbe

+
+

PROMProbe

+
+

KubernetesHTTPProbe

+
+

K8SProbe

+
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Comparator

+
+
+
+
Description
+

Defines the properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
type - String! + Type of the Comparator
value - String! + Value of the Comparator
criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "abc123",
+  "value": "abc123",
+  "criteria": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ComparatorInput

+
+
+
+
Description
+

Defines the input properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ type - String! + Type of the Comparator
+ value - String! + Value of the Comparator
+ criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "xyz789",
+  "value": "abc123",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ConfirmInfraRegistrationResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isInfraConfirmed - Boolean! + +
newAccessKey - String + +
infraID - String + +
+
+
+
+
+
Example
+ + +
{
+  "isInfraConfirmed": true,
+  "newAccessKey": "xyz789",
+  "infraID": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateChaosHubRequest

+
+
+
+
Description
+

Defines the details required for creating a chaos hub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ remoteHub - String! + Connected Hub of remote repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "tags": ["abc123"],
+  "description": "xyz789",
+  "repoURL": "abc123",
+  "repoBranch": "xyz789",
+  "remoteHub": "xyz789",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "xyz789",
+  "sshPrivateKey": "abc123",
+  "sshPublicKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String! + +
+ type - EnvironmentType! + +
+ description - String + +
+ tags - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "xyz789",
+  "type": "PROD",
+  "description": "xyz789",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateRemoteChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ remoteHub - String! + Connected Hub of remote repository
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "tags": ["abc123"],
+  "description": "xyz789",
+  "repoURL": "abc123",
+  "remoteHub": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

DateRange

+
+
+
+
Description
+

Defines the start date and end date for the filtering the data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ startDate - String! + Start date
+ endDate - String + End date
+
+
+
+
+
Example
+ + +
{
+  "startDate": "xyz789",
+  "endDate": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Environment

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
environmentID - String! + +
name - String! + +
description - String + +
tags - [String!] + +
type - EnvironmentType! + +
createdAt - String! + +
createdBy - UserDetails + +
updatedBy - UserDetails + +
updatedAt - String! + +
isRemoved - Boolean + +
infraIDs - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "abc123",
+  "environmentID": "xyz789",
+  "name": "xyz789",
+  "description": "abc123",
+  "tags": ["xyz789"],
+  "type": "PROD",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "updatedAt": "xyz789",
+  "isRemoved": true,
+  "infraIDs": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the environment
+ description - String + ID of the environment
+ type - EnvironmentType + Type name of environment
+ tags - [String!] + Tags of an environment
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "description": "abc123",
+  "type": "PROD",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - EnvironmentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": false}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

PROD

+
+
+

NON_PROD

+
+
+
+
+
+
+
Example
+ + +
"PROD"
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutedByExperiment

+
+
+
+
Description
+

Defines the Executed by which experiment details for Probes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + Experiment ID
experimentName - String! + Experiment Name
updatedAt - Int! + Timestamp at which the experiment was last updated
updatedBy - UserDetails + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "experimentName": "abc123",
+  "updatedAt": 123,
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutionHistory

+
+
+
+
Description
+

Defines the Execution History of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
mode - Mode! + Probe Mode
faultName - String! + Fault Name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "mode": "SOT",
+  "faultName": "xyz789",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Experiment

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentID - String! + ID of the experiment
experimentType - String + Type of the experiment
experimentManifest - String! + Manifest of the experiment
cronSyntax - String! + Cron syntax of the experiment schedule
name - String! + Name of the experiment
description - String! + Description of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
infra - Infra + Target infra in which the experiment will run
isRemoved - Boolean! + Bool value indicating if the experiment has removed
tags - [String!] + Tags of the experiment
createdBy - UserDetails + User who created the experiment
recentExperimentRunDetails - [RecentExperimentRun] + Array of object containing details of recent experiment runs
updatedBy - UserDetails + Details of the user who updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "experimentID": "abc123",
+  "experimentType": "abc123",
+  "experimentManifest": "xyz789",
+  "cronSyntax": "abc123",
+  "name": "abc123",
+  "description": "xyz789",
+  "weightages": [Weightages],
+  "isCustomExperiment": false,
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "infra": Infra,
+  "isRemoved": false,
+  "tags": ["abc123"],
+  "createdBy": UserDetails,
+  "recentExperimentRunDetails": [RecentExperimentRun],
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentFilterInput

+
+
+
+
Description
+

Defines filter options for experiments

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraName - String + Name of the infra in which the experiment is running
+ infraID - String + ID of the infra in which the experiment is running
+ infraActive - Boolean + Bool value indicating if Chaos Infrastructure is active
+ scheduleType - ScheduleType + Scenario type of the experiment i.e. CRON or NON_CRON
+ status - String + Status of the latest experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraName": "xyz789",
+  "infraID": "xyz789",
+  "infraActive": false,
+  "scheduleType": "CRON",
+  "status": "xyz789",
+  "dateRange": DateRange,
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ category - String! + Name of the chart being used
+ experimentName - String! + Name of the experiment
+ hubID - String! + ID of the hub
+
+
+
+
+
Example
+ + +
{
+  "category": "abc123",
+  "experimentName": "abc123",
+  "hubID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRun

+
+
+
+
Description
+

Defines the details of a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentRunID - ID! + ID of the experiment run which is to be queried
experimentType - String + Type of the experiment
experimentID - ID! + ID of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
updatedAt - String! + Timestamp at which experiment run was last updated
createdAt - String! + Timestamp at which experiment run was created
infra - Infra! + Target infra in which the experiment will run
experimentName - String! + Name of the experiment
experimentManifest - String! + Manifest of the experiment run
phase - ExperimentRunStatus! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
faultsPassed - Int + Number of faults passed
faultsFailed - Int + Number of faults failed
faultsAwaited - Int + Number of faults awaited
faultsStopped - Int + Number of faults stopped
faultsNa - Int + Number of faults which are not available
totalFaults - Int + Total number of faults
executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the faults
isRemoved - Boolean + Bool value indicating if the experiment run has removed
updatedBy - UserDetails + User who has updated the experiment
createdBy - UserDetails + User who has created the experiment run
notifyID - ID + Notify ID of the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "experimentRunID": "4",
+  "experimentType": "xyz789",
+  "experimentID": 4,
+  "weightages": [Weightages],
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "infra": Infra,
+  "experimentName": "xyz789",
+  "experimentManifest": "abc123",
+  "phase": "All",
+  "resiliencyScore": 987.65,
+  "faultsPassed": 123,
+  "faultsFailed": 123,
+  "faultsAwaited": 123,
+  "faultsStopped": 123,
+  "faultsNa": 987,
+  "totalFaults": 123,
+  "executionData": "xyz789",
+  "isRemoved": false,
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails,
+  "notifyID": "4",
+  "runSequence": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunFilterInput

+
+
+
+
Description
+

Defines input type for experiment run filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraID - String + Name of the infra infra
+ experimentType - ScheduleType + Type of the experiment
+ experimentStatus - ExperimentRunStatus + Status of the experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ experimentRunID - String + ID of experiment run
+ experimentRunStatus - [String] + Array of experiment run status
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "abc123",
+  "infraID": "abc123",
+  "experimentType": "CRON",
+  "experimentStatus": "All",
+  "dateRange": DateRange,
+  "experimentRunID": "xyz789",
+  "experimentRunStatus": ["xyz789"],
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunRequest

+
+
+
+
Description
+

Defines the details for a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String! + ID of the experiment
+ notifyID - String + notifyID is required to give an ack for non cron experiment execution
+ experimentRunID - String! + ID of the experiment run which is to be queried
+ experimentName - String! + Name of the experiment
+ executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the experiments
+ infraID - InfraIdentity! + ID of the infra infra in which the experiment is running
+ revisionID - String! + ID of the revision which consists manifest details
+ completed - Boolean! + Bool value indicating if the experiment run has completed
+ isRemoved - Boolean + Bool value indicating if the experiment run has removed
+ updatedBy - String! + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "notifyID": "xyz789",
+  "experimentRunID": "xyz789",
+  "experimentName": "abc123",
+  "executionData": "xyz789",
+  "infraID": InfraIdentity,
+  "revisionID": "abc123",
+  "completed": false,
+  "isRemoved": false,
+  "updatedBy": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunSortInput

+
+
+
+
Description
+

Defines sorting options for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": false}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunStatus

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Running

+
+
+

Completed

+
+
+

Completed_With_Error

+
+
+

Stopped

+
+
+

Skipped

+
+
+

Error

+
+
+

Timeout

+
+
+

Terminated

+
+
+

Queued

+
+
+

NA

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Experiment

+
+
+

CronExperiment

+
+
+

ChaosEngine

+
+
+

ChaosSchedule

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

Experiments

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
CSV - String! + +
desc - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "CSV": "abc123",
+  "desc": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultDetails

+
+
+
+
Description
+

Fault Detail consists of all the fault related details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
fault - String! + fault consists of fault.yaml
engine - String! + engine consists engine.yaml
csv - String! + csv consists chartserviceversion.yaml
+
+
+
+
+
Example
+ + +
{
+  "fault": "xyz789",
+  "engine": "abc123",
+  "csv": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
displayName - String! + +
description - String! + +
plan - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "displayName": "abc123",
+  "description": "xyz789",
+  "plan": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Float

+
+
+
+
Description
+

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

+
+
+
+
+
Example
+ + +
987.65
+
+ + +
+
+
+
+
+
+ Types +
+

GET

+
+
+
+
Description
+

Details of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GETRequest

+
+
+
+
Description
+

Details for input of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetChaosHubStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
totalChaosHubs - Int! + Total number of chaoshubs
+
+
+
+
+
Example
+ + +
{"totalChaosHubs": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentResponse

+
+
+
+
Description
+

Defines the details for a given experiment with some additional data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
experimentDetails - Experiment! + Details of experiment
averageResiliencyScore - Float + Average resiliency score of the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentDetails": Experiment,
+  "averageResiliencyScore": 987.65
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentRunStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperimentRuns - Int! + Total number of experiment runs
totalCompletedExperimentRuns - Int! + Total number of completed experiments runs
totalTerminatedExperimentRuns - Int! + Total number of stopped experiment runs
totalRunningExperimentRuns - Int! + Total number of running experiment runs
totalStoppedExperimentRuns - Int! + Total number of stopped experiment runs
totalErroredExperimentRuns - Int! + Total number of errored experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalExperimentRuns": 123,
+  "totalCompletedExperimentRuns": 987,
+  "totalTerminatedExperimentRuns": 987,
+  "totalRunningExperimentRuns": 987,
+  "totalStoppedExperimentRuns": 123,
+  "totalErroredExperimentRuns": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperiments - Int! + Total number of experiments
totalExpCategorizedByResiliencyScore - [ResilienceScoreCategory]! + Total number of cron experiments
+
+
+
+
+
Example
+ + +
{
+  "totalExperiments": 987,
+  "totalExpCategorizedByResiliencyScore": [
+    ResilienceScoreCategory
+  ]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetInfraStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalInfrastructures - Int! + Total number of infrastructures
totalActiveInfrastructure - Int! + Total number of active infrastructures
totalInactiveInfrastructures - Int! + Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! + Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! + Total number of non confirmed infrastructures
+
+
+
+
+
Example
+ + +
{
+  "totalInfrastructures": 987,
+  "totalActiveInfrastructure": 123,
+  "totalInactiveInfrastructures": 123,
+  "totalConfirmedInfrastructure": 987,
+  "totalNonConfirmedInfrastructures": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeReferenceResponse

+
+
+
+
Description
+

Defines the response of the Probe reference API

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
totalRuns - Int! + Total Runs
recentExecutions - [RecentExecutions]! + Recent Executions of the probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "xyz789",
+  "totalRuns": 987,
+  "recentExecutions": [RecentExecutions]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeYAMLRequest

+
+
+
+
Description
+

Defines the input requests for GetProbeYAML query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeName - ID! + Probe name of the probe
+ mode - Mode! + Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
+
+
+
+
+
Example
+ + +
{"probeName": 4, "mode": "SOT"}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbesInExperimentRunResponse

+
+
+
+
Description
+

Defines the response for Get Probe In Experiment Run Query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probe - Probe! + Probe Object
mode - Mode! + Mode of the probe
status - Status! + Status of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probe": Probe,
+  "mode": "SOT",
+  "status": Status
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfig

+
+
+
+
Description
+

Details of setting a Git repository

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ branch - String! + Git branch where the chaos charts will be pushed and synced
+ repoURL - String! + URL of the Git repository
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token used for private repository
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "branch": "abc123",
+  "repoURL": "xyz789",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfigResponse

+
+
+
+
Description
+

Response received after configuring GitOps

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
enabled - Boolean! + Bool value indicating whether GitOps is enabled or not
projectID - String! + ID of the project where GitOps is configured
branch - String + Git branch where the chaos charts will be pushed and synced
repoURL - String + URL of the Git repository
authType - AuthType + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token used for private repository
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "enabled": false,
+  "projectID": "abc123",
+  "branch": "xyz789",
+  "repoURL": "abc123",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

HubType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

GIT

+
+
+

REMOTE

+
+
+
+
+
+
+
Example
+ + +
"GIT"
+
+ + +
+
+
+
+
+
+ Types +
+

ID

+
+
+
+
Description
+

The ID scalar type represents a unique identifier, 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 "4") or integer (such as 4) input value will be accepted as an ID.

+
+
+
+
+
Example
+ + +
"4"
+
+ + +
+
+
+
+
+
+ Types +
+

INFRA_SCOPE

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

namespace

+
+
+

cluster

+
+
+
+
+
+
+
Example
+ + +
"namespace"
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistry

+
+
+
+
Description
+

Defines details for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryName - String! + Name of Image Registry
imageRepoName - String! + Name of image repository
imageRegistryType - String! + Type of the image registry: public/private
secretName - String + Secret which is used for private registry
secretNamespace - String + Namespace where the secret is available
enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": false,
+  "imageRegistryName": "abc123",
+  "imageRepoName": "abc123",
+  "imageRegistryType": "xyz789",
+  "secretName": "abc123",
+  "secretNamespace": "xyz789",
+  "enableRegistry": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryInput

+
+
+
+
Description
+

Defines input data for querying the details of an image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
+ imageRegistryName - String! + Name of Image Registry
+ imageRepoName - String! + Name of image repository
+ imageRegistryType - String! + Type of the image registry: public/private
+ secretName - String + Secret which is used for private registry
+ secretNamespace - String + Namespace where the secret is available
+ enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryName": "xyz789",
+  "imageRepoName": "abc123",
+  "imageRegistryType": "abc123",
+  "secretName": "xyz789",
+  "secretNamespace": "abc123",
+  "enableRegistry": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryResponse

+
+
+
+
Description
+

Defines response data for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryInfo - ImageRegistry + Information Image Registry
imageRegistryID - String! + ID of the image registry
projectID - String! + ID of the project in which image registry is created
updatedAt - String + Timestamp when the image registry was last updated
createdAt - String + Timestamp when the image registry was created
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
isRemoved - Boolean + Bool value indicating if the image registry has been removed
+
+
+
+
+
Example
+ + +
{
+  "isDefault": false,
+  "imageRegistryInfo": ImageRegistry,
+  "imageRegistryID": "xyz789",
+  "projectID": "xyz789",
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "isRemoved": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Infra

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
infraID - ID! + ID of the infra
name - String! + Name of the infra
description - String + Description of the infra
tags - [String!] + Tags of the infra
environmentID - String! + Environment ID for the infra
platformName - String! + Infra Platform Name eg. GKE,AWS, Others
isActive - Boolean! + Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! + Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! + Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! + Timestamp when the infra was last updated
createdAt - String! + Timestamp when the infra was created
noOfExperiments - Int + Number of schedules created in the infra
noOfExperimentRuns - Int + Number of experiments run in the infra
token - String! + Token used to verify and retrieve the infra manifest
infraNamespace - String + Namespace where the infra is being installed
serviceAccount - String + Name of service account used by infra
infraScope - String! + Scope of the infra : ns or cluster
infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
lastExperimentTimestamp - String + Timestamp of the last experiment run in the infra
startTime - String! + Timestamp when the infra got connected
version - String! + Version of the infra
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
infraType - InfrastructureType + Type of the infrastructure
updateStatus - UpdateStatus! + update status of infra
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "infraID": "4",
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "environmentID": "abc123",
+  "platformName": "abc123",
+  "isActive": false,
+  "isInfraConfirmed": true,
+  "isRemoved": false,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "noOfExperiments": 123,
+  "noOfExperimentRuns": 987,
+  "token": "abc123",
+  "infraNamespace": "abc123",
+  "serviceAccount": "abc123",
+  "infraScope": "xyz789",
+  "infraNsExists": true,
+  "infraSaExists": true,
+  "lastExperimentTimestamp": "xyz789",
+  "startTime": "abc123",
+  "version": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "infraType": "Kubernetes",
+  "updateStatus": "AVAILABLE"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraActionResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
action - ActionPayload! + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "xyz789",
+  "action": ActionPayload
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraEventResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
eventID - ID! + +
eventType - String! + +
eventName - String! + +
description - String! + +
infra - Infra! + +
+
+
+
+
+
Example
+ + +
{
+  "eventID": 4,
+  "eventType": "xyz789",
+  "eventName": "xyz789",
+  "description": "xyz789",
+  "infra": Infra
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the infra
+ infraID - String + ID of the infra
+ description - String + ID of the infra
+ platformName - String + Platform name of infra
+ infraScope - INFRA_SCOPE + Scope of infra
+ isActive - Boolean + Status of infra
+ tags - [String] + Tags of an infra
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "infraID": "xyz789",
+  "description": "xyz789",
+  "platformName": "abc123",
+  "infraScope": "namespace",
+  "isActive": false,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraIdentity

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - String! + +
+ accessKey - String! + +
+ version - String! + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "xyz789",
+  "accessKey": "xyz789",
+  "version": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraVersionDetails

+
+
+
+
Description
+

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
latestVersion - String! + Latest infra version supported
compatibleVersions - [String!]! + List of all infra versions supported
+
+
+
+
+
Example
+ + +
{
+  "latestVersion": "xyz789",
+  "compatibleVersions": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfrastructureType

+
+
+
+
Values
+ + + + + + + + + + + + + +
Enum ValueDescription
+

Kubernetes

+
+
+
+
+
+
+
Example
+ + +
"Kubernetes"
+
+ + +
+
+
+
+
+
+ Types +
+

Int

+
+
+
+
Description
+

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

+
+
+
+
+
Example
+ + +
987
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbe

+
+
+
+
Description
+

Defines the K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
group - String + Group of the Probe
version - String! + Version of the Probe
resource - String! + Resource of the Probe
namespace - String + Namespace of the Probe
resourceNames - String + Resource Names of the Probe
fieldSelector - String + Field Selector of the Probe
labelSelector - String + Label Selector of the Probe
operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "group": "xyz789",
+  "version": "abc123",
+  "resource": "abc123",
+  "namespace": "xyz789",
+  "resourceNames": "xyz789",
+  "fieldSelector": "abc123",
+  "labelSelector": "xyz789",
+  "operation": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbeRequest

+
+
+
+
Description
+

Defines the input for K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ group - String + Group of the Probe
+ version - String! + Version of the Probe
+ resource - String! + Resource of the Probe
+ namespace - String + Namespace of the Probe
+ resourceNames - String + Resource Names of the Probe
+ fieldSelector - String + Field Selector of the Probe
+ labelSelector - String + Label Selector of the Probe
+ operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "group": "xyz789",
+  "version": "abc123",
+  "resource": "xyz789",
+  "namespace": "xyz789",
+  "resourceNames": "xyz789",
+  "fieldSelector": "abc123",
+  "labelSelector": "xyz789",
+  "operation": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeGVRRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ group - String! + +
+ version - String! + +
+ resource - String! + +
+
+
+
+
+
Example
+ + +
{
+  "group": "xyz789",
+  "version": "xyz789",
+  "resource": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespace

+
+
+
+
Description
+

Define name in the infra (not really useful at the moment but maybe we will need other field later)

+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the namespace
+
+
+
+
+
Example
+ + +
{"name": "abc123"}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespaceData

+
+
+
+
Description
+

Defines the details of Kubernetes namespace

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes namespace details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes namespace is present
+ kubeNamespace - String! + List of KubeNamespace return by subscriber
+
+
+
+
+
Example
+ + +
{
+  "requestID": 4,
+  "infraID": InfraIdentity,
+  "kubeNamespace": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespaceRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes namespace data

+
+
+
Fields
+ + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra
+
+
+
+
+
Example
+ + +
{"infraID": "4"}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeNamespaceResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Namespaces

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes namespace is present
kubeNamespace - [KubeNamespace]! + List of the Kubernetes namespace
+
+
+
+
+
Example
+ + +
{"infraID": 4, "kubeNamespace": [KubeNamespace]}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObject

+
+
+
+
Description
+

KubeObject consists of the available resources in a namespace

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
namespace - String! + Namespace of the resource
data - [ObjectData]! + Details of the resource
+
+
+
+
+
Example
+ + +
{
+  "namespace": "xyz789",
+  "data": [ObjectData]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectData

+
+
+
+
Description
+

Defines the details of Kubernetes object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes object details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes object is present
+ kubeObj - String! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "requestID": 4,
+  "infraID": InfraIdentity,
+  "kubeObj": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes object data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra in which the Kubernetes object is present
+ kubeObjRequest - KubeGVRRequest + GVR Request
+ namespace - String! + Namespace in which the Kubernetes object is present
+ objectType - String! + +
+ workloads - [Workload] + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": 4,
+  "kubeObjRequest": KubeGVRRequest,
+  "namespace": "abc123",
+  "objectType": "xyz789",
+  "workloads": [Workload]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes object is present
kubeObj - KubeObject! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "kubeObj": KubeObject
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbe

+
+
+
+
Description
+

Defines the CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
command - String! + Command of the Probe
comparator - Comparator! + Comparator of the Probe
source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "command": "abc123",
+  "comparator": Comparator,
+  "source": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ command - String! + Command of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+ source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "command": "abc123",
+  "comparator": ComparatorInput,
+  "source": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbe

+
+
+
+
Description
+

Defines the Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
url - String! + URL of the Probe
method - Method! + HTTP method of the Probe
insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "url": "abc123",
+  "method": Method,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ url - String! + URL of the Probe
+ method - MethodRequest! + HTTP method of the Probe
+ insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "url": "abc123",
+  "method": MethodRequest,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+ +
+
+ Types +
+

ListChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubIDs - [ID!] + Array of ChaosHub IDs for which details will be fetched
+ filter - ChaosHubFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "chaosHubIDs": ["4"],
+  "filter": ChaosHubFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - EnvironmentFilterInput + Details for fetching filtered data
+ sort - EnvironmentSortInput + Details for fetching sorted data
+
+
+
+
+
Example
+ + +
{
+  "environmentIDs": [4],
+  "pagination": Pagination,
+  "filter": EnvironmentFilterInput,
+  "sort": EnvironmentSortInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfEnvironments - Int! + Total number of environment
environments - [Environment] + +
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfEnvironments": 987,
+  "environments": [Environment]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRequest

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentSortInput + Details for fetching sorted data
+ filter - ExperimentFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentIDs": ["4"],
+  "pagination": Pagination,
+  "sort": ExperimentSortInput,
+  "filter": ExperimentFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentResponse

+
+
+
+
Description
+

Defines the details for a experiment with total experiment count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperiments - Int! + Total number of experiments
experiments - [Experiment]! + Details related to the experiments
+
+
+
+
+
Example
+ + +
{"totalNoOfExperiments": 987, "experiments": [Experiment]}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunRequest

+
+
+
+
Description
+

Defines the details for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentRunIDs - [ID] + Array of experiment run IDs for which details will be fetched
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentRunSortInput + Details for fetching sorted data
+ filter - ExperimentRunFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentRunIDs": [4],
+  "experimentIDs": [4],
+  "pagination": Pagination,
+  "sort": ExperimentRunSortInput,
+  "filter": ExperimentRunFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunResponse

+
+
+
+
Description
+

Defines the details of a experiment to sent as response

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperimentRuns - Int! + Total number of experiment runs
experimentRuns - [ExperimentRun]! + Defines details of experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfExperimentRuns": 987,
+  "experimentRuns": [ExperimentRun]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraRequest

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraIDs - [ID!] + Array of infra IDs for which details will be fetched
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - InfraFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "infraIDs": ["4"],
+  "environmentIDs": ["4"],
+  "pagination": Pagination,
+  "filter": InfraFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraResponse

+
+
+
+
Description
+

Defines the details for a infras with total infras count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfInfras - Int! + Total number of infras
infras - [Infra]! + Details related to the infras
+
+
+
+
+
Example
+ + +
{"totalNoOfInfras": 987, "infras": [Infra]}
+
+ + +
+
+
+
+
+
+ Types +
+

Maintainer

+
+
+
+
Description
+

Defines the details of the maintainer

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the maintainer
email - String! + Email of the maintainer
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Metadata

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
version - String! + +
annotations - Annotation! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "version": "abc123",
+  "annotations": Annotation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Method

+
+
+
+
Description
+

Defines the methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
get - GET + A GET request
post - POST + A POST request
+
+
+
+
+
Example
+ + +
{"get": GET, "post": POST}
+
+ + +
+
+
+
+
+
+ Types +
+

MethodRequest

+
+
+
+
Description
+

Defines the input for methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ get - GETRequest + A GET request
+ post - POSTRequest + A POST request
+
+
+
+
+
Example
+ + +
{
+  "get": GETRequest,
+  "post": POSTRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Mode

+
+
+
+
Description
+

Defines the different modes of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

SOT

+
+
+

EOT

+
+
+

Edge

+
+
+

Continuous

+
+
+

OnChaos

+
+
+
+
+
+
+
Example
+ + +
"SOT"
+
+ + +
+
+
+
+
+
+ Types +
+

ObjectData

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
labels - [String!] + Labels present in the resource
name - String! + Name of the resource
+
+
+
+
+
Example
+ + +
{
+  "labels": ["abc123"],
+  "name": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POST

+
+
+
+
Description
+

Details of POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
contentType - String + Content Type of the request
body - String + Body of the request
bodyPath - String + Body Path of the HTTP body required for the http post request
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "abc123",
+  "body": "abc123",
+  "bodyPath": "xyz789",
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POSTRequest

+
+
+
+
Description
+

Details for input of the POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ contentType - String + Content Type of the request
+ body - String + Body of the request
+ bodyPath - String + Body Path of the request for Body
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "xyz789",
+  "body": "abc123",
+  "bodyPath": "xyz789",
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbe

+
+
+
+
Description
+

Defines the PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
endpoint - String! + Endpoint of the Probe
query - String + Query of the Probe
queryPath - String + Query path of the Probe
comparator - Comparator! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "endpoint": "abc123",
+  "query": "xyz789",
+  "queryPath": "abc123",
+  "comparator": Comparator
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbeRequest

+
+
+
+
Description
+

Defines the input for PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ endpoint - String! + Endpoint of the Probe
+ query - String + Query of the Probe
+ queryPath - String + Query path of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "endpoint": "abc123",
+  "query": "xyz789",
+  "queryPath": "abc123",
+  "comparator": ComparatorInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PackageInformation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
packageName - String! + +
experiments - [Experiments!]! + +
+
+
+
+
+
Example
+ + +
{
+  "packageName": "xyz789",
+  "experiments": [Experiments]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Pagination

+
+
+
+
Description
+

Defines data required to fetch paginated data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ page - Int! + Page number for which data will be fetched
+ limit - Int! + Number of data to be fetched
+
+
+
+
+
Example
+ + +
{"page": 987, "limit": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLog

+
+
+
+
Description
+

Response received for querying pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - InfraIdentity! + ID of the cluster
+ requestID - ID! + Unique request ID of a particular node which is being queried
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podType - String! + Type of the pod: chaosengine
+ log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "infraID": InfraIdentity,
+  "requestID": "4",
+  "experimentRunID": 4,
+  "podName": "abc123",
+  "podType": "abc123",
+  "log": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogRequest

+
+
+
+
Description
+

Defines the details for fetching the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the cluster
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podNamespace - String! + Namespace where the pod is running
+ podType - String! + Type of the pod: chaosEngine or not pod
+ expPod - String + Name of the experiment pod fetched from execution data
+ runnerPod - String + Name of the runner pod fetched from execution data
+ chaosNamespace - String + Namespace where the experiment is executing
+
+
+
+
+
Example
+ + +
{
+  "infraID": 4,
+  "experimentRunID": "4",
+  "podName": "abc123",
+  "podNamespace": "xyz789",
+  "podType": "abc123",
+  "expPod": "abc123",
+  "runnerPod": "abc123",
+  "chaosNamespace": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogResponse

+
+
+
+
Description
+

Defines the response received for querying querying the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
podName - String! + Name of the pod for which logs are queried
podType - String! + Type of the pod: chaosengine
log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": 4,
+  "podName": "abc123",
+  "podType": "abc123",
+  "log": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PredefinedExperimentList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentName - String! + Name of the experiment
experimentCSV - String! + Experiment CSV
experimentManifest - String! + Experiment Manifest
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "experimentCSV": "xyz789",
+  "experimentManifest": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Probe

+
+
+
+
Description
+

Defines the details of the Probe entity

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
description - String + Description of the Probe
tags - [String!] + Tags of the Probe
type - ProbeType! + Type of the Probe [From list of ProbeType enum]
infrastructureType - InfrastructureType! + Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbe + Kubernetes HTTP Properties of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbe + Kubernetes CMD Properties of the specific type of the Probe
k8sProperties - K8SProbe + K8S Properties of the specific type of the Probe
promProperties - PROMProbe + PROM Properties of the specific type of the Probe
recentExecutions - [ProbeRecentExecutions!] + All execution histories of the probe
referencedBy - Int + Referenced by how many faults
updatedAt - String! + Timestamp at which the Probe was last updated
createdAt - String! + Timestamp at which the Probe was created
updatedBy - UserDetails + User who has updated the Probe
createdBy - UserDetails + User who has created the Probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbe,
+  "kubernetesCMDProperties": KubernetesCMDProbe,
+  "k8sProperties": K8SProbe,
+  "promProperties": PROMProbe,
+  "recentExecutions": [ProbeRecentExecutions],
+  "referencedBy": 987,
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeFilterInput

+
+
+
+
Description
+

Defines the input for Probe filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the Probe
+ dateRange - DateRange + Date range for filtering purpose
+ type - [ProbeType] + Type of the Probe [From list of ProbeType enum]
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "dateRange": DateRange,
+  "type": ["httpProbe"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "faultName": "abc123",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRequest

+
+
+
+
Description
+

Defines the details required for creating a Chaos Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - ID! + Name of the Probe
+ description - String + Description of the Probe
+ tags - [String!] + Tags of the Probe
+ type - ProbeType! + Type of the Probe [From list of ProbeType enum]
+ infrastructureType - InfrastructureType! + Infrastructure type of the Probe
+ kubernetesHTTPProperties - KubernetesHTTPProbeRequest + HTTP Properties of the specific type of the Probe
+ kubernetesCMDProperties - KubernetesCMDProbeRequest + CMD Properties of the specific type of the Probe
+ k8sProperties - K8SProbeRequest + K8S Properties of the specific type of the Probe
+ promProperties - PROMProbeRequest + PROM Properties of the specific type of the Probe
+
+
+
+
+
Example
+ + +
{
+  "name": "4",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbeRequest,
+  "kubernetesCMDProperties": KubernetesCMDProbeRequest,
+  "k8sProperties": K8SProbeRequest,
+  "promProperties": PROMProbeRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeType

+
+
+
+
Description
+

Defines the different types of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

httpProbe

+
+
+

cmdProbe

+
+
+

promProbe

+
+
+

k8sProbe

+
+
+
+
+
+
+
Example
+ + +
"httpProbe"
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeVerdict

+
+
+
+
Description
+

Defines the older different statuses of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

Passed

+
+
+

Failed

+
+
+

NA

+
+
+

Awaited

+
+
+
+
+
+
+
Example
+ + +
"Passed"
+
+ + +
+
+
+
+
+
+ Types +
+

Provider

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + +
+
+
+
+
+
Example
+ + +
{"name": "xyz789"}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
mode - Mode! + Probe mode
executionHistory - [ExecutionHistory!]! + Execution History
+
+
+
+
+
Example
+ + +
{
+  "faultName": "xyz789",
+  "mode": "SOT",
+  "executionHistory": [ExecutionHistory]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExperimentRun

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
phase - String! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
createdBy - UserDetails + User who created the experiment run
updatedBy - UserDetails + User who updated the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "phase": "xyz789",
+  "resiliencyScore": 123.45,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "runSequence": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraRequest

+
+
+
+
Description
+

Defines the details for the new infra being connected

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the infra
+ environmentID - String! + Environment ID for the infra
+ infrastructureType - InfrastructureType! + Type of Infra : internal/external
+ description - String + Description of the infra
+ platformName - String! + Infra Platform Name eg. GKE,AWS, Others
+ infraNamespace - String + Namespace where the infra is being installed
+ serviceAccount - String + Name of service account used by infra
+ infraScope - String! + Scope of the infra : ns or infra
+ infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
+ infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
+ skipSsl - Boolean + Bool value indicating whether infra will skip ssl checks or not
+ nodeSelector - String + Node selectors used by infra
+ tolerations - [Toleration] + Node tolerations used by infra
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "environmentID": "xyz789",
+  "infrastructureType": "Kubernetes",
+  "description": "xyz789",
+  "platformName": "abc123",
+  "infraNamespace": "xyz789",
+  "serviceAccount": "abc123",
+  "infraScope": "xyz789",
+  "infraNsExists": true,
+  "infraSaExists": true,
+  "skipSsl": true,
+  "nodeSelector": "xyz789",
+  "tolerations": [Toleration],
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraResponse

+
+
+
+
Description
+

Response received for registering a new infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
token - String! + Token used to verify and retrieve the infra manifest
infraID - String! + Unique ID for the newly registered infra
name - String! + Infra name as sent in request
manifest - String! + Infra Manifest
+
+
+
+
+
Example
+ + +
{
+  "token": "xyz789",
+  "infraID": "xyz789",
+  "name": "abc123",
+  "manifest": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ResilienceScoreCategory

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
id - Int! + Lower bound of the range(inclusive)
count - Int! + total experiments with avg resilience score between lower bound and upper bound(exclusive)
+
+
+
+
+
Example
+ + +
{"id": 987, "count": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

ResourceDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
description - String + +
tags - [String!] + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ResourceDetails Types
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RunChaosExperimentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
notifyID - ID! + +
+
+
+
+
+
Example
+ + +
{"notifyID": 4}
+
+ + +
+
+
+
+
+
+ Types +
+

SSHKey

+
+
+
+
Description
+

Defines the SSHKey details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
publicKey - String! + Public SSH key authenticating into git repository
privateKey - String! + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "publicKey": "xyz789",
+  "privateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

SaveChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the experiment
+ type - ExperimentType + Type of the experiment
+ name - String! + Name of the experiment
+ description - String! + Description of the experiment
+ manifest - String! + Manifest of the experiment
+ infraID - ID! + ID of the target infrastructure in which the experiment will run
+ tags - [String!] + Tags of the infrastructure
+
+
+
+
+
Example
+ + +
{
+  "id": "abc123",
+  "type": "All",
+  "name": "abc123",
+  "description": "xyz789",
+  "manifest": "abc123",
+  "infraID": 4,
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ScheduleType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

CRON

+
+
+

NON_CRON

+
+
+

ALL

+
+
+
+
+
+
+
Example
+ + +
"CRON"
+
+ + +
+
+
+
+
+
+ Types +
+

ServerVersionResponse

+
+
+
+
Description
+

Response received for fetching GQL server version

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
key - String! + Returns server version key
value - String! + Returns server version value
+
+
+
+
+
Example
+ + +
{
+  "key": "xyz789",
+  "value": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Spec

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
displayName - String! + +
categoryDescription - String! + +
keywords - [String!]! + +
maturity - String! + +
maintainers - [Maintainer!]! + +
minKubeVersion - String! + +
provider - Provider! + +
links - [Link!]! + +
faults - [FaultList!]! + +
experiments - [String!] + +
chaosExpCRDLink - String! + +
platforms - [String!]! + +
chaosType - String + +
+
+
+
+
+
Example
+ + +
{
+  "displayName": "xyz789",
+  "categoryDescription": "abc123",
+  "keywords": ["xyz789"],
+  "maturity": "abc123",
+  "maintainers": [Maintainer],
+  "minKubeVersion": "abc123",
+  "provider": Provider,
+  "links": [Link],
+  "faults": [FaultList],
+  "experiments": ["abc123"],
+  "chaosExpCRDLink": "xyz789",
+  "platforms": ["xyz789"],
+  "chaosType": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Status

+
+
+
+
Description
+

Status defines whether a probe is pass or fail

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
verdict - ProbeVerdict! + Verdict defines the verdict of the probe, range: Passed, Failed, N/A
description - String + Description defines the description of probe status
+
+
+
+
+
Example
+ + +
{
+  "verdict": "Passed",
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

String

+
+
+
+
Description
+

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

+
+
+
+
+
Example
+ + +
"xyz789"
+
+ + +
+
+
+
+
+
+ Types +
+

Toleration

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ tolerationSeconds - Int + +
+ key - String + +
+ operator - String + +
+ effect - String + +
+ value - String + +
+
+
+
+
+
Example
+ + +
{
+  "tolerationSeconds": 123,
+  "key": "abc123",
+  "operator": "abc123",
+  "effect": "abc123",
+  "value": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the chaos hub
+ name - String! + Name of the chaos hub
+ description - String + Description of the infra
+ tags - [String!] + Tags of the infra
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ remoteHub - String! + Connected Hub of remote repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "id": "abc123",
+  "name": "abc123",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "repoURL": "xyz789",
+  "repoBranch": "xyz789",
+  "remoteHub": "xyz789",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String + +
+ description - String + +
+ tags - [String] + +
+ type - EnvironmentType + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "abc123",
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["xyz789"],
+  "type": "PROD"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateStatus

+
+
+
+
Description
+

UpdateStatus represents if infra needs to be updated

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

AVAILABLE

+
+
+

MANDATORY

+
+
+

NOT_REQUIRED

+
+
+
+
+
+
+
Example
+ + +
"AVAILABLE"
+
+ + +
+
+
+
+
+
+ Types +
+

UserDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
userID - String! + +
username - String! + +
email - String! + +
+
+
+
+
+
Example
+ + +
{
+  "userID": "abc123",
+  "username": "abc123",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Weightages

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Name of the fault
weightage - Int! + Weightage of the experiment
+
+
+
+
+
Example
+ + +
{"faultName": "abc123", "weightage": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

WeightagesInput

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ faultName - String! + Name of the fault
+ weightage - Int! + Weightage of the fault
+
+
+
+
+
Example
+ + +
{"faultName": "xyz789", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

Workload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + +
+ kind - String! + +
+ namespace - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "kind": "abc123",
+  "namespace": "abc123"
+}
+
+ + +
+
+
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.x/config.yml b/mkdocs/docs/graphql/v3.11.x/config.yml new file mode 100644 index 00000000000..8035463a23c --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.x/config.yml @@ -0,0 +1,33 @@ +spectaql: + targetDir: ./mkdocs/docs/graphql/v3.11.x + logoFile: ./mkdocs/docs/graphql/logo.png + faviconFile: ./mkdocs/docs/graphql/logo.png + displayAllServers: true + themeDir: ./mkdocs/docs/graphql/v3.11.x/custom-theme + +introspection: + removeTrailingPeriodFromDescriptions: false + schemaFile: ./chaoscenter/graphql/definitions/shared/*.graphqls + queryNameStrategy: capitalizeFirst + fieldExpansionDepth: 2 + + spectaqlDirective: + enable: true + +extensions: + graphqlScalarExamples: true + +info: + title: ChaosCenter API Documentation + description: Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform. + + x-introItems: + - title: Common Error Response + file: ./mkdocs/docs/graphql/v3.11.x/error_response_guide.md + +servers: + - url: http://localhost:8080 + description: Dev + - url: http://localhost:8080/query + description: Prod + production: true diff --git a/mkdocs/docs/graphql/v3.11.x/custom-theme/stylesheets/custom.scss b/mkdocs/docs/graphql/v3.11.x/custom-theme/stylesheets/custom.scss new file mode 100644 index 00000000000..68e1aa2268c --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.x/custom-theme/stylesheets/custom.scss @@ -0,0 +1,24 @@ + +$line-height-heading: 1.2; +$font-size-large-heading: 1.7105263158rem; +$font-weight-large-heading: 700; +$content-padding: 20px; +$text-color: #535b60; +$text-weight: 400; +$text-size: 1.5789473684rem; + +#spectaql { + h2 { + color: $text-color; + font-weight: $text-weight; + font-size: $text-size; + } + + .doc-heading { + line-height: $line-height-heading; + font-size: $font-size-large-heading; + font-weight: $font-weight-large-heading; + color: #535b60 + } + +} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.x/error_response_guide.md b/mkdocs/docs/graphql/v3.11.x/error_response_guide.md new file mode 100644 index 00000000000..76e4ab30fce --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.x/error_response_guide.md @@ -0,0 +1,29 @@ +All error responses follow the structure outlined below. + +```json +{ + "errors": [ + { + "message": "Error message", + "path": [ + "Request path" + ] + } + ], + "data": {} +} +``` + +### Field Descriptions: +- **errors**:
+ An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
+ **Type: `Array`**

+ - **message**:
+ A description of the error.
+ **Type: `String`**

+ - **path**:
+ Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
+ **Type: `Array of Strings`**

+- **data**:
+ This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
+ **Type: `Object`**
diff --git a/mkdocs/docs/graphql/v3.11.x/images/favicon.png b/mkdocs/docs/graphql/v3.11.x/images/favicon.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.11.x/images/favicon.png differ diff --git a/mkdocs/docs/graphql/v3.11.x/images/logo.png b/mkdocs/docs/graphql/v3.11.x/images/logo.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.11.x/images/logo.png differ diff --git a/mkdocs/docs/graphql/v3.11.x/javascripts/spectaql.min.js b/mkdocs/docs/graphql/v3.11.x/javascripts/spectaql.min.js new file mode 100644 index 00000000000..6ef3202c222 --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.x/javascripts/spectaql.min.js @@ -0,0 +1 @@ +function scrollSpy(){var l=5,e=document.querySelector("html"),c=(e&&(e=window.getComputedStyle(e).scrollPaddingTop)&&"string"==typeof e&&"auto"!==e&&e.endsWith("px")&&(l+=parseInt(e.split("px")[0])),"nav-scroll-active"),i=null,d=[];function t(){i=null;var e=document.querySelectorAll("[data-traverse-target]");Array.prototype.forEach.call(e,function(e){d.push({id:e.id,top:e.offsetTop})})}var n=debounce(function(){t(),o()},500),o=debounce(function(){var e,t,n,o,r=(e=>{for(var t=e+l,n=0;n=d[n].top&&(!o||t{toggleMenu(),scrollSpy()}); \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.11.x/stylesheets/spectaql.min.css b/mkdocs/docs/graphql/v3.11.x/stylesheets/spectaql.min.css new file mode 100644 index 00000000000..e7666ab6b36 --- /dev/null +++ b/mkdocs/docs/graphql/v3.11.x/stylesheets/spectaql.min.css @@ -0,0 +1 @@ +#spectaql h2{color:#535b60;font-weight:400;font-size:1.5789473684rem}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;font-weight:700;color:#535b60}#spectaql{padding:0;margin:0}#spectaql pre{overflow:auto;margin-top:0;margin-bottom:20px}#spectaql pre code{display:block;background:#ccc}#spectaql table{width:100%;table-layout:fixed;text-align:left;border-collapse:collapse}#spectaql table td,#spectaql table th{margin:0;padding:0}#spectaql #introduction .example-section>*,#spectaql .definition-heading,#spectaql .doc-heading,#spectaql .introduction-item-title,#spectaql .operation-heading{overflow:hidden;text-overflow:ellipsis}#spectaql #page{display:flex}#spectaql #page *{box-sizing:border-box}#spectaql #page.drawer-open #sidebar{z-index:1000;transform:translateX(0)}#spectaql #page.drawer-open .drawer-overlay{display:block;background:rgba(0,0,0,.5);z-index:10}#spectaql #sidebar{position:fixed;min-width:250px;max-width:250px;flex-shrink:0;transition:transform .2s ease-out;transform:translateX(-100%);z-index:10;padding-top:20px;background:#fff}@media (min-width:48em){#spectaql #sidebar{position:relative;transform:none}}@media (min-width:64em){#spectaql #sidebar{min-width:300px;max-width:300px}}#spectaql .sidebar-top-container{display:flex;align-items:center;padding:0 20px}#spectaql #mobile-navbar{display:flex;align-items:center;position:sticky;top:0}@media (min-width:48em){#spectaql #mobile-navbar{display:none}}#spectaql .sidebar-open-button{display:flex;align-items:flex-start;margin:0;padding:0;border:none;background:0 0}#spectaql .sidebar-open-button .hamburger{width:16px;height:14px;cursor:pointer}#spectaql .sidebar-open-button .hamburger::after{display:block;content:"";height:2px;background:#535b60;box-shadow:0 5px 0 #535b60,0 10px 0 #535b60}#spectaql .sidebar-open-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .close-button{display:block}#spectaql .close-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:48em){#spectaql .close-button{display:none}}#spectaql .drawer-overlay{display:none;position:absolute;top:0;left:0;bottom:0;right:0;background:rgba(0,0,0,0)}@media (min-width:48em){#spectaql .drawer-overlay{display:none!important}}#spectaql #nav{display:flex;flex-direction:column;max-height:calc(100vh - 0px);padding:0 20px;padding-bottom:20px;position:sticky;top:0;overflow:auto}#spectaql #logo{margin-right:auto}#spectaql #logo img{display:block;width:100%;max-width:100%}#spectaql .nav-group-items,#spectaql .nav-group-section-items{padding:0;margin:0}#spectaql .nav-group-items>li,#spectaql .nav-group-section-items>li{list-style:none}#spectaql .nav-group-items .nav-group-section-title,#spectaql .nav-group-items>li,#spectaql .nav-group-section-items .nav-group-section-title,#spectaql .nav-group-section-items>li{overflow:hidden;text-overflow:ellipsis}#spectaql .nav-group-section-items{display:none}#spectaql .nav-scroll-expand .nav-group-section-items{display:block}#spectaql #docs{position:relative;margin:0 auto;min-width:100px;max-width:88em;flex-grow:1;flex-shrink:1;padding:20px}@media (min-width:48em){#spectaql .doc-row{display:flex;flex-wrap:wrap}}#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:100%}@media (min-width:48em){#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:50%}}@media (min-width:48em){#spectaql .doc-row .doc-copy{padding-right:20px}}@media (min-width:48em){#spectaql .doc-row .doc-examples{padding-left:20px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e}#spectaql{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.6;background:#fff;color:#535b60}@media (min-width:32em){#spectaql{font-size:16px}}#spectaql a{color:#0298bf;text-decoration:none}#spectaql a:hover{color:#0182a2}#spectaql a:active,#spectaql a:focus{color:#0298bf}#spectaql code{font-size:.875em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}#spectaql pre{color:#fff}#spectaql pre code{background:#222}#spectaql pre code,#spectaql pre code.hljs{font-size:.82em;line-height:1.4;padding:15px 20px}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;margin-top:10px}@media (min-width:48em){#spectaql .doc-heading{margin-top:-10px}}#spectaql .close-button{background:0 0;border:none;padding:5px;font-size:16px;font-weight:700;color:#535b60}#spectaql #introduction{margin-bottom:60px}#spectaql #introduction .example-section:not(.example-section-is-code){margin-bottom:20px}#spectaql #introduction .example-section:not(.example-section-is-code) h5,#spectaql #introduction .example-section:not(.example-section-is-code) p{margin:0;font-size:1em}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:20px;padding-bottom:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:30px;padding-bottom:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:40px;padding-bottom:40px}}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:20px;padding-right:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:30px;padding-right:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:50px;padding-right:50px}}#spectaql #sidebar{padding-bottom:0;background:#fff}#spectaql #sidebar a{color:#535b60}#spectaql #sidebar a.nav-scroll-active,#spectaql #sidebar a:hover{font-weight:700}#spectaql #sidebar a.nav-scroll-active{color:#535b60}#spectaql #sidebar a:hover{color:#0182a2}@media (min-width:48em){#spectaql #sidebar{border-right:2px solid #d8d8d8}}#spectaql #mobile-navbar{background:#fff;margin-top:-20px;margin-left:-20px;margin-right:-20px}@media (min-width:32em){#spectaql #mobile-navbar{margin-top:-30px;margin-left:-30px;margin-right:-30px}}#spectaql #mobile-navbar .sidebar-open-button::after{display:block;content:"All Topics";margin-left:10px;color:#535b60}#spectaql #nav .nav-group{margin-top:20px}#spectaql #nav .nav-group li{margin-bottom:5px}#spectaql #nav .nav-group-title{font-size:.875em;font-weight:400;margin:0 0 6px 0;color:#999}#spectaql #nav .nav-group-section-title{font-size:inherit;margin:0;margin-bottom:5px;font-weight:400}#spectaql #nav .nav-group-section-items{margin-left:.75em}#spectaql .definition,#spectaql .operation{margin-bottom:60px}#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.72em}#spectaql .definition .definition-heading code,#spectaql .definition .operation-heading code,#spectaql .operation .definition-heading code,#spectaql .operation .operation-heading code{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:32em){#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.7105263158rem}}#spectaql .definition-group-name,#spectaql .group-heading,#spectaql .operation-group-name{border-top:2px solid #d8d8d8;padding-top:3px;color:#999;font-size:inherit;font-weight:inherit}#spectaql .definition-group-name a,#spectaql .group-heading a,#spectaql .operation-group-name a{color:#999}#spectaql .definition-group-name a:hover,#spectaql .group-heading a:hover,#spectaql .operation-group-name a:hover{font-weight:700}#spectaql .doc-examples{margin-top:20px}#spectaql .doc-examples .example-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .doc-examples .example-section-is-code h5{color:#999;text-transform:uppercase;background:#000;font-size:.75em;font-weight:700;padding:.6em 0 .6em 20px;margin:0;opacity:1}@media (min-width:48em){#spectaql .doc-examples{margin-top:0}}#spectaql .doc-copy p{margin:0 0 20px 0}#spectaql .doc-copy p:last-child{margin-bottom:0}#spectaql .doc-copy table tr th{font-weight:400;border-bottom:2px solid #d8d8d8}#spectaql .doc-copy table tr td{border-bottom:1px solid #e0e0e0}#spectaql .doc-copy table tr.row-has-field-arguments td,#spectaql .doc-copy table tr:last-child td{border-bottom:none}#spectaql .doc-copy table tr td,#spectaql .doc-copy table tr th{padding:5px}#spectaql .doc-copy table tr td:first-child,#spectaql .doc-copy table tr th:first-child{padding-left:0}#spectaql .doc-copy table tr td:last-child,#spectaql .doc-copy table tr th:last-child{padding-right:0}#spectaql .doc-copy .doc-copy-section{margin-bottom:30px}#spectaql .doc-copy .doc-copy-section>h5{margin:0 0 5px 0;font-size:inherit;font-weight:inherit;color:#999}#spectaql .doc-copy .definition-description>h5,#spectaql .doc-copy .definition-properties>h5,#spectaql .doc-copy .operation-description>h5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .field-arguments{font-size:.875em;background-color:#fafbfc;border:1px solid #e0e0e0;padding:10px;margin-bottom:5px}#spectaql .field-arguments p{margin:10px 0 0 0}#spectaql .field-arguments h5.field-arguments-heading{margin:0;padding:0 0 10px 0;font-weight:inherit;color:#999}#spectaql .field-arguments .field-argument{border-top:1px #e0e0e0 solid;padding:10px 0}#spectaql .field-arguments .field-argument:last-child{padding-bottom:0}#spectaql .field-arguments .field-argument-name{margin:0;font-size:inherit;font-weight:inherit}#spectaql .deprecation-reason{word-break:break-word}#spectaql .deprecation-reason::before{display:inline;content:"Deprecated";padding:2px 5px;margin-right:5px;background:#fed7d8;color:#c60609;font-weight:700;font-size:.875em} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.9.0/api.html b/mkdocs/docs/graphql/v3.9.0/api.html new file mode 100644 index 00000000000..78c473a55e6 --- /dev/null +++ b/mkdocs/docs/graphql/v3.9.0/api.html @@ -0,0 +1,17877 @@ + + + + + + + ChaosCenter API Documentation + + + + +
+ +
+
+ +
+
+

ChaosCenter API Documentation

+
+
+
+

Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.

+
+
+
+
API Endpoints
+
# Dev:
+http://localhost:8080
+# Prod:
+http://localhost:8080/query
+
+
+
+
+
+

Common Error Response

+
+
+

All error responses follow the structure outlined below.

+
{
+  "errors": [
+    {
+      "message": "Error message",
+      "path": [
+        "Request path"
+      ]
+    }
+  ],
+  "data": {}
+}
+
+

Field Descriptions:

+
    +
  • errors:
    An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
    + Type: Array

    +
      +
    • message:
      A description of the error.
      + Type: String

      +
    • +
    • path:
      Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
      + Type: Array of Strings

      +
    • +
    +
  • +
  • data:
    This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
    + Type: Object
    +
  • +
+
+
+
+
+
+
+

Queries

+
+

+ getChaosFault +

+
+
+
+
Description
+

Get the fault list from a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a FaultDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosFault(
+  $projectID: ID!,
+  $request: ExperimentRequest!
+) {
+  getChaosFault(
+    projectID: $projectID,
+    request: $request
+  ) {
+    fault
+    engine
+    csv
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ExperimentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosFault": {
+      "fault": "abc123",
+      "engine": "xyz789",
+      "csv": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHub +

+
+
+
+
Description
+

Get the details of a requested ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHubStatus! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ chaosHubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHub(
+  $projectID: ID!,
+  $chaosHubID: ID!
+) {
+  getChaosHub(
+    projectID: $projectID,
+    chaosHubID: $chaosHubID
+  ) {
+    id
+    repoURL
+    repoBranch
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "chaosHubID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getChaosHub": {
+      "id": "4",
+      "repoURL": "xyz789",
+      "repoBranch": "xyz789",
+      "isAvailable": true,
+      "totalFaults": "xyz789",
+      "totalExperiments": "abc123",
+      "name": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "xyz789",
+      "password": "abc123",
+      "isRemoved": false,
+      "sshPrivateKey": "xyz789",
+      "sshPublicKey": "abc123",
+      "lastSyncedAt": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "description": "xyz789",
+      "isDefault": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getChaosHubStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetChaosHubStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetChaosHubStats($projectID: ID!) {
+  getChaosHubStats(projectID: $projectID) {
+    totalChaosHubs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{"data": {"getChaosHubStats": {"totalChaosHubs": 987}}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  getEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "environmentID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getEnvironment": {
+      "projectID": "abc123",
+      "environmentID": "abc123",
+      "name": "abc123",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "type": "PROD",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "abc123",
+      "isRemoved": false,
+      "infraIDs": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperiment +

+
+
+
+
Description
+

Returns the experiment based on experiment ID

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperiment(
+  $projectID: ID!,
+  $experimentID: String!
+) {
+  getExperiment(
+    projectID: $projectID,
+    experimentID: $experimentID
+  ) {
+    experimentDetails {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+    averageResiliencyScore
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperiment": {
+      "experimentDetails": Experiment,
+      "averageResiliencyScore": 987.65
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRun +

+
+
+
+
Description
+

Returns experiment run based on experiment run ID

+
+
+
+
+
+
+
Response
+

Returns an ExperimentRun! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - ID + +
+ notifyID - ID + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: ID,
+  $notifyID: ID
+) {
+  getExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  ) {
+    projectID
+    experimentRunID
+    experimentType
+    experimentID
+    weightages {
+      faultName
+      weightage
+    }
+    updatedAt
+    createdAt
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+    experimentName
+    experimentManifest
+    phase
+    resiliencyScore
+    faultsPassed
+    faultsFailed
+    faultsAwaited
+    faultsStopped
+    faultsNa
+    totalFaults
+    executionData
+    isRemoved
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+    notifyID
+    runSequence
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "experimentRunID": 4, "notifyID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRun": {
+      "projectID": "4",
+      "experimentRunID": 4,
+      "experimentType": "abc123",
+      "experimentID": "4",
+      "weightages": [Weightages],
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "infra": Infra,
+      "experimentName": "xyz789",
+      "experimentManifest": "xyz789",
+      "phase": "All",
+      "resiliencyScore": 987.65,
+      "faultsPassed": 123,
+      "faultsFailed": 123,
+      "faultsAwaited": 987,
+      "faultsStopped": 123,
+      "faultsNa": 987,
+      "totalFaults": 123,
+      "executionData": "abc123",
+      "isRemoved": false,
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails,
+      "notifyID": "4",
+      "runSequence": 987
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentRunStats +

+
+
+
+
Description
+

Query to get experiment run stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentRunStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentRunStats($projectID: ID!) {
+  getExperimentRunStats(projectID: $projectID) {
+    totalExperimentRuns
+    totalCompletedExperimentRuns
+    totalTerminatedExperimentRuns
+    totalRunningExperimentRuns
+    totalStoppedExperimentRuns
+    totalErroredExperimentRuns
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentRunStats": {
+      "totalExperimentRuns": 987,
+      "totalCompletedExperimentRuns": 987,
+      "totalTerminatedExperimentRuns": 123,
+      "totalRunningExperimentRuns": 987,
+      "totalStoppedExperimentRuns": 987,
+      "totalErroredExperimentRuns": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getExperimentStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetExperimentStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetExperimentStats($projectID: ID!) {
+  getExperimentStats(projectID: $projectID) {
+    totalExperiments
+    totalExpCategorizedByResiliencyScore {
+      id
+      count
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getExperimentStats": {
+      "totalExperiments": 987,
+      "totalExpCategorizedByResiliencyScore": [
+        ResilienceScoreCategory
+      ]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getGitOpsDetails +

+
+
+
+
Description
+

Returns the git configuration for gitops

+
+
+
+
+
+
+
Response
+

Returns a GitConfigResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetGitOpsDetails($projectID: ID!) {
+  getGitOpsDetails(projectID: $projectID) {
+    enabled
+    projectID
+    branch
+    repoURL
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getGitOpsDetails": {
+      "enabled": false,
+      "projectID": "xyz789",
+      "branch": "abc123",
+      "repoURL": "xyz789",
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getImageRegistry +

+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetImageRegistry($projectID: String!) {
+  getImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "abc123",
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfra +

+
+
+
+
Description
+

Returns infra with a particular infraID in the project

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  getInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "infraID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfra": {
+      "projectID": "4",
+      "infraID": 4,
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["abc123"],
+      "environmentID": "abc123",
+      "platformName": "abc123",
+      "isActive": false,
+      "isInfraConfirmed": true,
+      "isRemoved": false,
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 987,
+      "token": "xyz789",
+      "infraNamespace": "xyz789",
+      "serviceAccount": "abc123",
+      "infraScope": "abc123",
+      "infraNsExists": false,
+      "infraSaExists": true,
+      "lastExperimentTimestamp": "abc123",
+      "startTime": "abc123",
+      "version": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraDetails +

+
+
+
+
Description
+

Returns infra details based on identifiers

+
+
+
+
+
+
+
Response
+

Returns an Infra! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraDetails(
+  $infraID: ID!,
+  $projectID: ID!
+) {
+  getInfraDetails(
+    infraID: $infraID,
+    projectID: $projectID
+  ) {
+    projectID
+    infraID
+    name
+    description
+    tags
+    environmentID
+    platformName
+    isActive
+    isInfraConfirmed
+    isRemoved
+    updatedAt
+    createdAt
+    noOfExperiments
+    noOfExperimentRuns
+    token
+    infraNamespace
+    serviceAccount
+    infraScope
+    infraNsExists
+    infraSaExists
+    lastExperimentTimestamp
+    startTime
+    version
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    infraType
+    updateStatus
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"infraID": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraDetails": {
+      "projectID": 4,
+      "infraID": "4",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["xyz789"],
+      "environmentID": "abc123",
+      "platformName": "xyz789",
+      "isActive": false,
+      "isInfraConfirmed": false,
+      "isRemoved": false,
+      "updatedAt": "xyz789",
+      "createdAt": "abc123",
+      "noOfExperiments": 123,
+      "noOfExperimentRuns": 123,
+      "token": "xyz789",
+      "infraNamespace": "xyz789",
+      "serviceAccount": "abc123",
+      "infraScope": "abc123",
+      "infraNsExists": true,
+      "infraSaExists": false,
+      "lastExperimentTimestamp": "xyz789",
+      "startTime": "abc123",
+      "version": "abc123",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "infraType": "Kubernetes",
+      "updateStatus": "AVAILABLE"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraManifest +

+
+
+
+
Description
+

Returns the manifest for a given infraID

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ infraID - ID! + +
+ upgrade - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraManifest(
+  $infraID: ID!,
+  $upgrade: Boolean!,
+  $projectID: ID!
+) {
+  getInfraManifest(
+    infraID: $infraID,
+    upgrade: $upgrade,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"infraID": 4, "upgrade": false, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"getInfraManifest": "abc123"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getInfraStats +

+
+
+
+
Description
+

Query to get experiment stats

+
+
+
+
+
+
+
Response
+

Returns a GetInfraStatsResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetInfraStats($projectID: ID!) {
+  getInfraStats(projectID: $projectID) {
+    totalInfrastructures
+    totalActiveInfrastructure
+    totalInactiveInfrastructures
+    totalConfirmedInfrastructure
+    totalNonConfirmedInfrastructures
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraStats": {
+      "totalInfrastructures": 123,
+      "totalActiveInfrastructure": 987,
+      "totalInactiveInfrastructures": 987,
+      "totalConfirmedInfrastructure": 123,
+      "totalNonConfirmedInfrastructures": 123
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getPredefinedExperiment +

+
+
+
+
Description
+

Returns predefined experiment details of selected experiments

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ experimentName - [String!]! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetPredefinedExperiment(
+  $hubID: ID!,
+  $experimentName: [String!]!,
+  $projectID: ID!
+) {
+  getPredefinedExperiment(
+    hubID: $hubID,
+    experimentName: $experimentName,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "hubID": 4,
+  "experimentName": ["abc123"],
+  "projectID": 4
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPredefinedExperiment": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "xyz789",
+        "experimentManifest": "abc123"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbe +

+
+
+
+
Description
+

Returns a single Probe based on ProbeName and various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbe": {
+      "projectID": "4",
+      "name": "abc123",
+      "description": "abc123",
+      "tags": ["abc123"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 987,
+      "updatedAt": "abc123",
+      "createdAt": "abc123",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeReference +

+
+
+
+
Description
+

Returns all the reference of the Probe based on ProbeName

+
+
+
+
+
+
+
Response
+

Returns a GetProbeReferenceResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeReference(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  getProbeReference(
+    projectID: $projectID,
+    probeName: $probeName
+  ) {
+    projectID
+    name
+    totalRuns
+    recentExecutions {
+      faultName
+      mode
+      executionHistory {
+        ...ExecutionHistoryFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "probeName": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbeReference": {
+      "projectID": 4,
+      "name": "xyz789",
+      "totalRuns": 123,
+      "recentExecutions": [RecentExecutions]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbeYAML +

+
+
+
+
Description
+

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - GetProbeYAMLRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbeYAML(
+  $projectID: ID!,
+  $request: GetProbeYAMLRequest!
+) {
+  getProbeYAML(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": GetProbeYAMLRequest
+}
+
+ + +
+
+
Response
+ + +
{"data": {"getProbeYAML": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getProbesInExperimentRun +

+
+
+
+
Description
+

Returns all the Probes attached to the requested Experiment Run

+
+
+
+
+
+
+
Response
+

Returns [GetProbesInExperimentRunResponse]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentRunID - String! + +
+ faultName - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetProbesInExperimentRun(
+  $projectID: ID!,
+  $experimentRunID: String!,
+  $faultName: String!
+) {
+  getProbesInExperimentRun(
+    projectID: $projectID,
+    experimentRunID: $experimentRunID,
+    faultName: $faultName
+  ) {
+    probe {
+      projectID
+      name
+      description
+      tags
+      type
+      infrastructureType
+      kubernetesHTTPProperties {
+        ...KubernetesHTTPProbeFragment
+      }
+      kubernetesCMDProperties {
+        ...KubernetesCMDProbeFragment
+      }
+      k8sProperties {
+        ...K8SProbeFragment
+      }
+      promProperties {
+        ...PROMProbeFragment
+      }
+      recentExecutions {
+        ...ProbeRecentExecutionsFragment
+      }
+      referencedBy
+      updatedAt
+      createdAt
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+    }
+    mode
+    status {
+      verdict
+      description
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": 4,
+  "experimentRunID": "abc123",
+  "faultName": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getProbesInExperimentRun": [
+      {
+        "probe": Probe,
+        "mode": "SOT",
+        "status": Status
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getServerVersion +

+
+
+
+
Description
+

Returns version of gql server

+
+
+
+
+
+
+
Response
+

Returns a ServerVersionResponse! +

+
+
+
+

Example

+
+
Query
+ + +
query GetServerVersion {
+  getServerVersion {
+    key
+    value
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getServerVersion": {
+      "key": "xyz789",
+      "value": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ getVersionDetails +

+
+
+
+
Description
+

Query to get the latest version of infra available

+
+
+
+
+
+
+
Response
+

Returns an InfraVersionDetails! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query GetVersionDetails($projectID: ID!) {
+  getVersionDetails(projectID: $projectID) {
+    latestVersion
+    compatibleVersions
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getVersionDetails": {
+      "latestVersion": "xyz789",
+      "compatibleVersions": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosFaults +

+
+
+
+
Description
+

List the Charts details of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [Chart!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosFaults(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listChaosFaults(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    apiVersion
+    kind
+    metadata {
+      name
+      version
+      annotations {
+        ...AnnotationFragment
+      }
+    }
+    spec {
+      displayName
+      categoryDescription
+      keywords
+      maturity
+      maintainers {
+        ...MaintainerFragment
+      }
+      minKubeVersion
+      provider {
+        ...ProviderFragment
+      }
+      links {
+        ...LinkFragment
+      }
+      faults {
+        ...FaultListFragment
+      }
+      experiments
+      chaosExpCRDLink
+      platforms
+      chaosType
+    }
+    packageInfo {
+      packageName
+      experiments {
+        ...ExperimentsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": "4", "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosFaults": [
+      {
+        "apiVersion": "abc123",
+        "kind": "abc123",
+        "metadata": Metadata,
+        "spec": Spec,
+        "packageInfo": PackageInformation
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listChaosHub +

+
+
+
+
Description
+

Lists all the connected ChaosHub

+
+
+
+
+
+
+
Response
+

Returns [ChaosHubStatus]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListChaosHubRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListChaosHub(
+  $projectID: ID!,
+  $request: ListChaosHubRequest
+) {
+  listChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    isAvailable
+    totalFaults
+    totalExperiments
+    name
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    isRemoved
+    sshPrivateKey
+    sshPublicKey
+    lastSyncedAt
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdAt
+    updatedAt
+    description
+    isDefault
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listChaosHub": [
+      {
+        "id": "4",
+        "repoURL": "xyz789",
+        "repoBranch": "xyz789",
+        "isAvailable": true,
+        "totalFaults": "abc123",
+        "totalExperiments": "xyz789",
+        "name": "xyz789",
+        "hubType": "GIT",
+        "isPrivate": false,
+        "authType": "BASIC",
+        "token": "abc123",
+        "userName": "xyz789",
+        "password": "xyz789",
+        "isRemoved": false,
+        "sshPrivateKey": "abc123",
+        "sshPublicKey": "abc123",
+        "lastSyncedAt": "abc123",
+        "tags": ["abc123"],
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "createdAt": "xyz789",
+        "updatedAt": "xyz789",
+        "description": "xyz789",
+        "isDefault": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listEnvironments +

+
+
+
+
Response
+

Returns a ListEnvironmentResponse +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListEnvironments(
+  $projectID: ID!,
+  $request: ListEnvironmentRequest
+) {
+  listEnvironments(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfEnvironments
+    environments {
+      projectID
+      environmentID
+      name
+      description
+      tags
+      type
+      createdAt
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      updatedAt
+      isRemoved
+      infraIDs
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": ListEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listEnvironments": {
+      "totalNoOfEnvironments": 987,
+      "environments": [Environment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperiment +

+
+
+
+
Description
+

Returns the list of experiments based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperiment(
+  $projectID: ID!,
+  $request: ListExperimentRequest!
+) {
+  listExperiment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperiments
+    experiments {
+      projectID
+      experimentID
+      experimentType
+      experimentManifest
+      cronSyntax
+      name
+      description
+      weightages {
+        ...WeightagesFragment
+      }
+      isCustomExperiment
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      isRemoved
+      tags
+      createdBy {
+        ...UserDetailsFragment
+      }
+      recentExperimentRunDetails {
+        ...RecentExperimentRunFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListExperimentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperiment": {
+      "totalNoOfExperiments": 987,
+      "experiments": [Experiment]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listExperimentRun +

+
+
+
+
Description
+

Returns the list of experiment run based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns a ListExperimentRunResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListExperimentRun(
+  $projectID: ID!,
+  $request: ListExperimentRunRequest!
+) {
+  listExperimentRun(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfExperimentRuns
+    experimentRuns {
+      projectID
+      experimentRunID
+      experimentType
+      experimentID
+      weightages {
+        ...WeightagesFragment
+      }
+      updatedAt
+      createdAt
+      infra {
+        ...InfraFragment
+      }
+      experimentName
+      experimentManifest
+      phase
+      resiliencyScore
+      faultsPassed
+      faultsFailed
+      faultsAwaited
+      faultsStopped
+      faultsNa
+      totalFaults
+      executionData
+      isRemoved
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      createdBy {
+        ...UserDetailsFragment
+      }
+      notifyID
+      runSequence
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listExperimentRun": {
+      "totalNoOfExperimentRuns": 123,
+      "experimentRuns": [ExperimentRun]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listImageRegistry +

+
+
+
+
Response
+

Returns [ImageRegistryResponse!] +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListImageRegistry($projectID: String!) {
+  listImageRegistry(projectID: $projectID) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listImageRegistry": [
+      {
+        "isDefault": true,
+        "imageRegistryInfo": ImageRegistry,
+        "imageRegistryID": "abc123",
+        "projectID": "xyz789",
+        "updatedAt": "xyz789",
+        "createdAt": "xyz789",
+        "createdBy": UserDetails,
+        "updatedBy": UserDetails,
+        "isRemoved": false
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listInfras +

+
+
+
+
Description
+

Returns infras with a particular infra type in the project

+
+
+
+
+
+
+
Response
+

Returns a ListInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - ListInfraRequest + +
+
+
+
+

Example

+
+
Query
+ + +
query ListInfras(
+  $projectID: ID!,
+  $request: ListInfraRequest
+) {
+  listInfras(
+    projectID: $projectID,
+    request: $request
+  ) {
+    totalNoOfInfras
+    infras {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": ListInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listInfras": {
+      "totalNoOfInfras": 123,
+      "infras": [Infra]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listPredefinedExperiments +

+
+
+
+
Description
+

List the PredefinedExperiments present in the hub

+
+
+
+
+
+
+
Response
+

Returns [PredefinedExperimentList!]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ hubID - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ListPredefinedExperiments(
+  $hubID: ID!,
+  $projectID: ID!
+) {
+  listPredefinedExperiments(
+    hubID: $hubID,
+    projectID: $projectID
+  ) {
+    experimentName
+    experimentCSV
+    experimentManifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"hubID": 4, "projectID": "4"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listPredefinedExperiments": [
+      {
+        "experimentName": "abc123",
+        "experimentCSV": "xyz789",
+        "experimentManifest": "xyz789"
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ listProbes +

+
+
+
+
Description
+

Returns the list of Probes based on various filter parameters

+
+
+
+
+
+
+
Response
+

Returns [Probe]! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infrastructureType - InfrastructureType + +
+ probeNames - [ID!] + +
+ filter - ProbeFilterInput + +
+
+
+
+

Example

+
+
Query
+ + +
query ListProbes(
+  $projectID: ID!,
+  $infrastructureType: InfrastructureType,
+  $probeNames: [ID!],
+  $filter: ProbeFilterInput
+) {
+  listProbes(
+    projectID: $projectID,
+    infrastructureType: $infrastructureType,
+    probeNames: $probeNames,
+    filter: $filter
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infrastructureType": "Kubernetes",
+  "probeNames": [4],
+  "filter": ProbeFilterInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "listProbes": [
+      {
+        "projectID": "4",
+        "name": "abc123",
+        "description": "abc123",
+        "tags": ["xyz789"],
+        "type": "httpProbe",
+        "infrastructureType": "Kubernetes",
+        "kubernetesHTTPProperties": KubernetesHTTPProbe,
+        "kubernetesCMDProperties": KubernetesCMDProbe,
+        "k8sProperties": K8SProbe,
+        "promProperties": PROMProbe,
+        "recentExecutions": [ProbeRecentExecutions],
+        "referencedBy": 987,
+        "updatedAt": "xyz789",
+        "createdAt": "xyz789",
+        "updatedBy": UserDetails,
+        "createdBy": UserDetails
+      }
+    ]
+  }
+}
+
+ + +
+
+
+
+
+
+ Queries +
+

+ validateUniqueProbe +

+
+
+
+
Description
+

Validates if a probe is already present, returns true if unique

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ probeName - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
query ValidateUniqueProbe(
+  $projectID: ID!,
+  $probeName: ID!
+) {
+  validateUniqueProbe(
+    projectID: $projectID,
+    probeName: $probeName
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "probeName": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"validateUniqueProbe": true}}
+
+ + +
+
+
+
+

Mutations

+
+

+ addChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (includes the git clone operation)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  addChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": CreateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addChaosHub": {
+      "id": 4,
+      "repoURL": "abc123",
+      "repoBranch": "abc123",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "xyz789",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "xyz789",
+      "password": "abc123",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addProbe +

+
+
+
+
Description
+

Creates a new Probe

+
+
+
+
+
+
+
Response
+

Returns a Probe! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  addProbe(
+    request: $request,
+    projectID: $projectID
+  ) {
+    projectID
+    name
+    description
+    tags
+    type
+    infrastructureType
+    kubernetesHTTPProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      url
+      method {
+        ...MethodFragment
+      }
+      insecureSkipVerify
+    }
+    kubernetesCMDProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      command
+      comparator {
+        ...ComparatorFragment
+      }
+      source
+    }
+    k8sProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      group
+      version
+      resource
+      namespace
+      resourceNames
+      fieldSelector
+      labelSelector
+      operation
+    }
+    promProperties {
+      probeTimeout
+      interval
+      retry
+      attempt
+      probePollingInterval
+      initialDelay
+      evaluationTimeout
+      stopOnFailure
+      endpoint
+      query
+      queryPath
+      comparator {
+        ...ComparatorFragment
+      }
+    }
+    recentExecutions {
+      faultName
+      status {
+        ...StatusFragment
+      }
+      executedByExperiment {
+        ...ExecutedByExperimentFragment
+      }
+    }
+    referencedBy
+    updatedAt
+    createdAt
+    updatedBy {
+      userID
+      username
+      email
+    }
+    createdBy {
+      userID
+      username
+      email
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ProbeRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addProbe": {
+      "projectID": "4",
+      "name": "xyz789",
+      "description": "abc123",
+      "tags": ["xyz789"],
+      "type": "httpProbe",
+      "infrastructureType": "Kubernetes",
+      "kubernetesHTTPProperties": KubernetesHTTPProbe,
+      "kubernetesCMDProperties": KubernetesCMDProbe,
+      "k8sProperties": K8SProbe,
+      "promProperties": PROMProbe,
+      "recentExecutions": [ProbeRecentExecutions],
+      "referencedBy": 123,
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "updatedBy": UserDetails,
+      "createdBy": UserDetails
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ addRemoteChaosHub +

+
+
+
+
Description
+

Add a ChaosHub (remote hub download)

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateRemoteChaosHub! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation AddRemoteChaosHub(
+  $projectID: ID!,
+  $request: CreateRemoteChaosHub!
+) {
+  addRemoteChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateRemoteChaosHub}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "addRemoteChaosHub": {
+      "id": "4",
+      "repoURL": "abc123",
+      "repoBranch": "abc123",
+      "projectID": 4,
+      "isDefault": true,
+      "name": "xyz789",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": true,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ chaosExperimentRun +

+
+
+
+
Description
+

Creates a new experiment run and sends it to subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - ExperimentRunRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ChaosExperimentRun($request: ExperimentRunRequest!) {
+  chaosExperimentRun(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": ExperimentRunRequest}
+
+ + +
+
+
Response
+ + +
{"data": {"chaosExperimentRun": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ confirmInfraRegistration +

+
+
+
+
Description
+

Confirms the subscriber's registration with the control plane

+
+
+
+
+
+
+
Response
+

Returns a ConfirmInfraRegistrationResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation ConfirmInfraRegistration($request: InfraIdentity!) {
+  confirmInfraRegistration(request: $request) {
+    isInfraConfirmed
+    newAccessKey
+    infraID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "confirmInfraRegistration": {
+      "isInfraConfirmed": false,
+      "newAccessKey": "xyz789",
+      "infraID": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createChaosExperiment +

+
+
+
+
Description
+

Creates a new experiment and applies its manifest

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  createChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": ChaosExperimentRequest, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": "4",
+      "cronSyntax": "abc123",
+      "experimentName": "xyz789",
+      "experimentDescription": "xyz789",
+      "isCustomExperiment": false,
+      "tags": ["xyz789"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createEnvironment +

+
+
+
+
Response
+

Returns an Environment +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateEnvironment(
+  $projectID: ID!,
+  $request: CreateEnvironmentRequest
+) {
+  createEnvironment(
+    projectID: $projectID,
+    request: $request
+  ) {
+    projectID
+    environmentID
+    name
+    description
+    tags
+    type
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    updatedAt
+    isRemoved
+    infraIDs
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateEnvironmentRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createEnvironment": {
+      "projectID": "abc123",
+      "environmentID": "abc123",
+      "name": "xyz789",
+      "description": "xyz789",
+      "tags": ["abc123"],
+      "type": "PROD",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "updatedAt": "abc123",
+      "isRemoved": true,
+      "infraIDs": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ createImageRegistry +

+
+
+
+
Description
+

Create an Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation CreateImageRegistry(
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  createImageRegistry(
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "createImageRegistry": {
+      "isDefault": true,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "xyz789",
+      "updatedAt": "xyz789",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": true
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosExperiment +

+
+
+
+
Description
+

Removes a experiment from infra

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ experimentRunID - String + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosExperiment(
+  $experimentID: String!,
+  $experimentRunID: String,
+  $projectID: ID!
+) {
+  deleteChaosExperiment(
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "xyz789",
+  "experimentRunID": "xyz789",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosExperiment": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteChaosHub +

+
+
+
+
Description
+

Delete the ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ hubID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteChaosHub(
+  $projectID: ID!,
+  $hubID: ID!
+) {
+  deleteChaosHub(
+    projectID: $projectID,
+    hubID: $hubID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "hubID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteChaosHub": false}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ environmentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteEnvironment(
+  $projectID: ID!,
+  $environmentID: ID!
+) {
+  deleteEnvironment(
+    projectID: $projectID,
+    environmentID: $environmentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "4", "environmentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteEnvironment": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteImageRegistry +

+
+
+
+
Description
+

Delete the Image Registry

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!
+) {
+  deleteImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "abc123",
+  "projectID": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteImageRegistry": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteInfra +

+
+
+
+
Description
+

Disconnects an infra and deletes its configuration from the control plane

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteInfra(
+  $projectID: ID!,
+  $infraID: String!
+) {
+  deleteInfra(
+    projectID: $projectID,
+    infraID: $infraID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteInfra": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ deleteProbe +

+
+
+
+
Description
+

Delete a Probe

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ probeName - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DeleteProbe(
+  $probeName: ID!,
+  $projectID: ID!
+) {
+  deleteProbe(
+    probeName: $probeName,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"probeName": 4, "projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"deleteProbe": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ disableGitOps +

+
+
+
+
Description
+

Disables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation DisableGitOps($projectID: ID!) {
+  disableGitOps(projectID: $projectID)
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"disableGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ enableGitOps +

+
+
+
+
Description
+

Enables gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation EnableGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  enableGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"enableGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ generateSSHKey +

+
+
+
+
Description
+

Generates Private and Public key for SSH authentication

+
+
+
+
+
+
+
Response
+

Returns an SSHKey! +

+
+
+
+

Example

+
+
Query
+ + +
mutation GenerateSSHKey {
+  generateSSHKey {
+    publicKey
+    privateKey
+  }
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "generateSSHKey": {
+      "publicKey": "xyz789",
+      "privateKey": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ getManifestWithInfraID +

+
+
+
+
Description
+

Fetches manifest details

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ infraID - String! + +
+ accessKey - String! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GetManifestWithInfraID(
+  $projectID: ID!,
+  $infraID: String!,
+  $accessKey: String!
+) {
+  getManifestWithInfraID(
+    projectID: $projectID,
+    infraID: $infraID,
+    accessKey: $accessKey
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "infraID": "abc123",
+  "accessKey": "xyz789"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getManifestWithInfraID": "xyz789"
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ gitopsNotifier +

+
+
+
+
Description
+

Sends workflow run request(single run workflow only) to agent on gitops notification

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ clusterInfo - InfraIdentity! + +
+ experimentID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation GitopsNotifier(
+  $clusterInfo: InfraIdentity!,
+  $experimentID: ID!
+) {
+  gitopsNotifier(
+    clusterInfo: $clusterInfo,
+    experimentID: $experimentID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"clusterInfo": InfraIdentity, "experimentID": 4}
+
+ + +
+
+
Response
+ + +
{"data": {"gitopsNotifier": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ kubeObj +

+
+
+
+
Description
+

Receives kubernetes object data from subscriber

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectData! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation KubeObj($request: KubeObjectData!) {
+  kubeObj(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectData}
+
+ + +
+
+
Response
+ + +
{"data": {"kubeObj": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ podLog +

+
+
+
+
Description
+

Receives pod logs for experiments from infra

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLog! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation PodLog($request: PodLog!) {
+  podLog(request: $request)
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLog}
+
+ + +
+
+
Response
+ + +
{"data": {"podLog": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ registerInfra +

+
+
+
+
Description
+

Connect a new infra for a user in a specified project

+
+
+
+
+
+
+
Response
+

Returns a RegisterInfraResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - RegisterInfraRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RegisterInfra(
+  $projectID: ID!,
+  $request: RegisterInfraRequest!
+) {
+  registerInfra(
+    projectID: $projectID,
+    request: $request
+  ) {
+    token
+    infraID
+    name
+    manifest
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": RegisterInfraRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "registerInfra": {
+      "token": "xyz789",
+      "infraID": "abc123",
+      "name": "xyz789",
+      "manifest": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ runChaosExperiment +

+
+
+
+
Description
+

Run the chaos experiment (used by frontend)

+
+
+
+
+
+
+
Response
+

Returns a RunChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation RunChaosExperiment(
+  $experimentID: String!,
+  $projectID: ID!
+) {
+  runChaosExperiment(
+    experimentID: $experimentID,
+    projectID: $projectID
+  ) {
+    notifyID
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "xyz789",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"runChaosExperiment": {"notifyID": 4}}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosExperiment +

+
+
+
+
Description
+

Saves a new experiment or updates if already exists

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - SaveChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosExperiment(
+  $request: SaveChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  saveChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": SaveChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"saveChaosExperiment": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ saveChaosHub +

+
+
+
+
Description
+

Save a ChaosHub configuration without cloning it

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - CreateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SaveChaosHub(
+  $projectID: ID!,
+  $request: CreateChaosHubRequest!
+) {
+  saveChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "request": CreateChaosHubRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "saveChaosHub": {
+      "id": "4",
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "projectID": "4",
+      "isDefault": true,
+      "name": "abc123",
+      "tags": ["abc123"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "abc123",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "abc123",
+      "userName": "abc123",
+      "password": "abc123",
+      "sshPrivateKey": "abc123",
+      "isRemoved": false,
+      "createdAt": "xyz789",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "xyz789"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ stopExperimentRuns +

+
+
+
+
Description
+

stopExperiment will halt all the ongoing runs of a particular experiment

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ experimentID - String! + +
+ experimentRunID - String + +
+ notifyID - String + +
+
+
+
+

Example

+
+
Query
+ + +
mutation StopExperimentRuns(
+  $projectID: ID!,
+  $experimentID: String!,
+  $experimentRunID: String,
+  $notifyID: String
+) {
+  stopExperimentRuns(
+    projectID: $projectID,
+    experimentID: $experimentID,
+    experimentRunID: $experimentRunID,
+    notifyID: $notifyID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "experimentID": "xyz789",
+  "experimentRunID": "xyz789",
+  "notifyID": "abc123"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"stopExperimentRuns": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ syncChaosHub +

+
+
+
+
Description
+

Sync changes from the Git repository of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ id - ID! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation SyncChaosHub(
+  $id: ID!,
+  $projectID: ID!
+) {
+  syncChaosHub(
+    id: $id,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "id": "4",
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"syncChaosHub": "abc123"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosExperiment +

+
+
+
+
Description
+

Updates the experiment

+
+
+
+
+
+
+
Response
+

Returns a ChaosExperimentResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ChaosExperimentRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosExperiment(
+  $request: ChaosExperimentRequest!,
+  $projectID: ID!
+) {
+  updateChaosExperiment(
+    request: $request,
+    projectID: $projectID
+  ) {
+    experimentID
+    projectID
+    cronSyntax
+    experimentName
+    experimentDescription
+    isCustomExperiment
+    tags
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ChaosExperimentRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosExperiment": {
+      "experimentID": "abc123",
+      "projectID": "4",
+      "cronSyntax": "abc123",
+      "experimentName": "abc123",
+      "experimentDescription": "xyz789",
+      "isCustomExperiment": true,
+      "tags": ["abc123"]
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateChaosHub +

+
+
+
+
Description
+

Update the configuration of a ChaosHub

+
+
+
+
+
+
+
Response
+

Returns a ChaosHub! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateChaosHubRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateChaosHub(
+  $projectID: ID!,
+  $request: UpdateChaosHubRequest!
+) {
+  updateChaosHub(
+    projectID: $projectID,
+    request: $request
+  ) {
+    id
+    repoURL
+    repoBranch
+    projectID
+    isDefault
+    name
+    tags
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    description
+    hubType
+    isPrivate
+    authType
+    token
+    userName
+    password
+    sshPrivateKey
+    isRemoved
+    createdAt
+    updatedAt
+    lastSyncedAt
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": UpdateChaosHubRequest
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateChaosHub": {
+      "id": 4,
+      "repoURL": "xyz789",
+      "repoBranch": "abc123",
+      "projectID": 4,
+      "isDefault": false,
+      "name": "abc123",
+      "tags": ["xyz789"],
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "description": "xyz789",
+      "hubType": "GIT",
+      "isPrivate": false,
+      "authType": "BASIC",
+      "token": "xyz789",
+      "userName": "xyz789",
+      "password": "xyz789",
+      "sshPrivateKey": "xyz789",
+      "isRemoved": true,
+      "createdAt": "abc123",
+      "updatedAt": "abc123",
+      "lastSyncedAt": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateCronExperimentState +

+
+
+
+
Description
+

Enable/Disable cron experiment state

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ experimentID - String! + +
+ disable - Boolean! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateCronExperimentState(
+  $experimentID: String!,
+  $disable: Boolean!,
+  $projectID: ID!
+) {
+  updateCronExperimentState(
+    experimentID: $experimentID,
+    disable: $disable,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "experimentID": "xyz789",
+  "disable": true,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateCronExperimentState": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateEnvironment +

+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ request - UpdateEnvironmentRequest + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateEnvironment(
+  $projectID: ID!,
+  $request: UpdateEnvironmentRequest
+) {
+  updateEnvironment(
+    projectID: $projectID,
+    request: $request
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "projectID": "4",
+  "request": UpdateEnvironmentRequest
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateEnvironment": "xyz789"}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateGitOps +

+
+
+
+
Description
+

Updates gitops settings in the project

+
+
+
+
+
+
+
Response
+

Returns a Boolean! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ projectID - ID! + +
+ configurations - GitConfig! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateGitOps(
+  $projectID: ID!,
+  $configurations: GitConfig!
+) {
+  updateGitOps(
+    projectID: $projectID,
+    configurations: $configurations
+  )
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": 4, "configurations": GitConfig}
+
+ + +
+
+
Response
+ + +
{"data": {"updateGitOps": true}}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateImageRegistry +

+
+
+
+
Description
+

Update the Image Registry configuration

+
+
+
+
+
+
+
Response
+

Returns an ImageRegistryResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
+ imageRegistryID - String! + +
+ projectID - String! + +
+ imageRegistryInfo - ImageRegistryInput! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateImageRegistry(
+  $imageRegistryID: String!,
+  $projectID: String!,
+  $imageRegistryInfo: ImageRegistryInput!
+) {
+  updateImageRegistry(
+    imageRegistryID: $imageRegistryID,
+    projectID: $projectID,
+    imageRegistryInfo: $imageRegistryInfo
+  ) {
+    isDefault
+    imageRegistryInfo {
+      isDefault
+      imageRegistryName
+      imageRepoName
+      imageRegistryType
+      secretName
+      secretNamespace
+      enableRegistry
+    }
+    imageRegistryID
+    projectID
+    updatedAt
+    createdAt
+    createdBy {
+      userID
+      username
+      email
+    }
+    updatedBy {
+      userID
+      username
+      email
+    }
+    isRemoved
+  }
+}
+
+ + +
+
+
Variables
+ + +
{
+  "imageRegistryID": "abc123",
+  "projectID": "xyz789",
+  "imageRegistryInfo": ImageRegistryInput
+}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "updateImageRegistry": {
+      "isDefault": false,
+      "imageRegistryInfo": ImageRegistry,
+      "imageRegistryID": "abc123",
+      "projectID": "xyz789",
+      "updatedAt": "abc123",
+      "createdAt": "xyz789",
+      "createdBy": UserDetails,
+      "updatedBy": UserDetails,
+      "isRemoved": false
+    }
+  }
+}
+
+ + +
+
+
+
+
+
+ Mutations +
+

+ updateProbe +

+
+
+
+
Description
+

Update the configuration of a Probe

+
+
+
+
+
+
+
Response
+

Returns a String! +

+
+
+
Arguments
+ + + + + + + + + + + + + + + + + +
NameDescription
+ request - ProbeRequest! + +
+ projectID - ID! + +
+
+
+
+

Example

+
+
Query
+ + +
mutation UpdateProbe(
+  $request: ProbeRequest!,
+  $projectID: ID!
+) {
+  updateProbe(
+    request: $request,
+    projectID: $projectID
+  )
+}
+
+ + +
+
+
Variables
+ + +
{
+  "request": ProbeRequest,
+  "projectID": "4"
+}
+
+ + +
+
+
Response
+ + +
{"data": {"updateProbe": "xyz789"}}
+
+ + +
+
+
+
+

Subscriptions

+
+

+ getInfraEvents +

+
+
+
+
Description
+

Listens infra events from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraEventResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ projectID - String! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetInfraEvents($projectID: String!) {
+  getInfraEvents(projectID: $projectID) {
+    eventID
+    eventType
+    eventName
+    description
+    infra {
+      projectID
+      infraID
+      name
+      description
+      tags
+      environmentID
+      platformName
+      isActive
+      isInfraConfirmed
+      isRemoved
+      updatedAt
+      createdAt
+      noOfExperiments
+      noOfExperimentRuns
+      token
+      infraNamespace
+      serviceAccount
+      infraScope
+      infraNsExists
+      infraSaExists
+      lastExperimentTimestamp
+      startTime
+      version
+      createdBy {
+        ...UserDetailsFragment
+      }
+      updatedBy {
+        ...UserDetailsFragment
+      }
+      infraType
+      updateStatus
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"projectID": "abc123"}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getInfraEvents": {
+      "eventID": 4,
+      "eventType": "abc123",
+      "eventName": "xyz789",
+      "description": "xyz789",
+      "infra": Infra
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getKubeObject +

+
+
+
+
Description
+

Returns a kubernetes object given an input

+
+
+
+
+
+
+
Response
+

Returns a KubeObjectResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - KubeObjectRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetKubeObject($request: KubeObjectRequest!) {
+  getKubeObject(request: $request) {
+    infraID
+    kubeObj {
+      namespace
+      data {
+        ...ObjectDataFragment
+      }
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": KubeObjectRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getKubeObject": {
+      "infraID": "4",
+      "kubeObj": [KubeObject]
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ getPodLog +

+
+
+
+
Description
+

Returns experiment logs from the pods

+
+
+
+
+
+
+
Response
+

Returns a PodLogResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - PodLogRequest! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription GetPodLog($request: PodLogRequest!) {
+  getPodLog(request: $request) {
+    experimentRunID
+    podName
+    podType
+    log
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": PodLogRequest}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "getPodLog": {
+      "experimentRunID": "4",
+      "podName": "abc123",
+      "podType": "xyz789",
+      "log": "abc123"
+    }
+  }
+}
+
+ + +
+
+
+
+
+ +

+ infraConnect +

+
+
+
+
Description
+

Listens infra operation request from the graphql server

+
+
+
+
+
+
+
Response
+

Returns an InfraActionResponse! +

+
+
+
Arguments
+ + + + + + + + + + + + + +
NameDescription
+ request - InfraIdentity! + +
+
+
+
+

Example

+
+
Query
+ + +
subscription InfraConnect($request: InfraIdentity!) {
+  infraConnect(request: $request) {
+    projectID
+    action {
+      requestID
+      requestType
+      k8sManifest
+      namespace
+      externalData
+      username
+    }
+  }
+}
+
+ + +
+
+
Variables
+ + +
{"request": InfraIdentity}
+
+ + +
+
+
Response
+ + +
{
+  "data": {
+    "infraConnect": {
+      "projectID": "xyz789",
+      "action": ActionPayload
+    }
+  }
+}
+
+ + +
+
+
+
+

Types

+
+

ActionPayload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
requestID - String! + +
requestType - String! + +
k8sManifest - String! + +
namespace - String! + +
externalData - String + +
username - String + +
+
+
+
+
+
Example
+ + +
{
+  "requestID": "xyz789",
+  "requestType": "xyz789",
+  "k8sManifest": "xyz789",
+  "namespace": "abc123",
+  "externalData": "abc123",
+  "username": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Annotation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
categories - String! + +
vendor - String! + +
createdAt - String! + +
repository - String! + +
support - String! + +
chartDescription - String! + +
+
+
+
+
+
Example
+ + +
{
+  "categories": "abc123",
+  "vendor": "xyz789",
+  "createdAt": "abc123",
+  "repository": "abc123",
+  "support": "abc123",
+  "chartDescription": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Audit

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
updatedAt - String + +
createdAt - String + +
updatedBy - UserDetails + +
createdBy - UserDetails + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audit Types
+

ExperimentRun

+
+

RecentExperimentRun

+
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

ImageRegistryResponse

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

AuthType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

BASIC

+
+
+

NONE

+
+
+

SSH

+
+
+

TOKEN

+
+
+
+
+
+
+
Example
+ + +
"BASIC"
+
+ + +
+
+
+
+
+
+ Types +
+

Boolean

+
+
+
+
Description
+

The Boolean scalar type represents true or false.

+
+
+
+
+
Example
+ + +
true
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String + ID of the experiment
+ runExperiment - Boolean + Boolean check indicating if the created scenario will be executed or not
+ experimentManifest - String! + Manifest of the experiment
+ experimentType - ExperimentType + Type of the experiment
+ cronSyntax - String! + Cron syntax of the experiment schedule
+ experimentName - String! + Name of the experiment
+ experimentDescription - String! + Description of the experiment
+ weightages - [WeightagesInput!]! + Array containing weightage and name of each chaos experiment in the experiment
+ isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
+ infraID - ID! + ID of the target infra in which the experiment will run
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "runExperiment": true,
+  "experimentManifest": "abc123",
+  "experimentType": "All",
+  "cronSyntax": "xyz789",
+  "experimentName": "xyz789",
+  "experimentDescription": "xyz789",
+  "weightages": [WeightagesInput],
+  "isCustomExperiment": true,
+  "infraID": 4,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosExperimentResponse

+
+
+
+
Description
+

Defines the response received for querying the details of chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + ID of the experiment
projectID - ID! + +
cronSyntax - String! + Cron syntax of the experiment schedule
experimentName - String! + Name of the experiment
experimentDescription - String! + Description of the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "abc123",
+  "projectID": 4,
+  "cronSyntax": "abc123",
+  "experimentName": "abc123",
+  "experimentDescription": "xyz789",
+  "isCustomExperiment": true,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the chaos hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
projectID - ID! + ID of the project in which the chaos hub is present
isDefault - Boolean! + Default Hub Identifier
name - String! + Name of the chaos hub
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
description - String + Description of ChaosHub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
isRemoved - Boolean! + Bool value indicating if the chaos hub is removed
createdAt - String! + Timestamp when the chaos hub was created
updatedAt - String! + Timestamp when the chaos hub was last updated
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
+
+
+
+
+
Example
+ + +
{
+  "id": "4",
+  "repoURL": "xyz789",
+  "repoBranch": "abc123",
+  "projectID": 4,
+  "isDefault": false,
+  "name": "abc123",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "description": "abc123",
+  "hubType": "GIT",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789",
+  "isRemoved": true,
+  "createdAt": "abc123",
+  "updatedAt": "abc123",
+  "lastSyncedAt": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubFilterInput

+
+
+
+
Description
+

Defines filter options for ChaosHub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubName - String + Name of the ChaosHub
+ tags - [String!] + Tags of a chaos hub
+ description - String + Description of a chaos hub
+
+
+
+
+
Example
+ + +
{
+  "chaosHubName": "xyz789",
+  "tags": ["abc123"],
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ChaosHubStatus

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
id - ID! + ID of the hub
repoURL - String! + URL of the git repository
repoBranch - String! + Branch of the git repository
isAvailable - Boolean! + Bool value indicating whether the hub is available or not.
totalFaults - String! + Total number of experiments in the hub
totalExperiments - String! + Total experiments
name - String! + Name of the chaos hub
hubType - HubType! + Type of ChaosHub
isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token for authentication of private chaos hub
userName - String + Git username
password - String + Git password
isRemoved - Boolean! + Bool value indicating whether the hub is private or not.
sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
sshPublicKey - String + Public SSH key for authenticating into private chaos hub
lastSyncedAt - String! + Timestamp when the chaos hub was last synced
tags - [String!] + Tags of the ChaosHub
createdBy - UserDetails + User who created the ChaosHub
updatedBy - UserDetails + User who has updated the ChaosHub
createdAt - String! + Created at timestamp
updatedAt - String! + Updated at timestamp
description - String + Description of ChaosHub
isDefault - Boolean! + Default Hub Identifier
+
+
+
+
+
Example
+ + +
{
+  "id": 4,
+  "repoURL": "abc123",
+  "repoBranch": "abc123",
+  "isAvailable": true,
+  "totalFaults": "abc123",
+  "totalExperiments": "xyz789",
+  "name": "abc123",
+  "hubType": "GIT",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "abc123",
+  "isRemoved": true,
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "xyz789",
+  "lastSyncedAt": "abc123",
+  "tags": ["xyz789"],
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "createdAt": "abc123",
+  "updatedAt": "abc123",
+  "description": "xyz789",
+  "isDefault": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Chart

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
apiVersion - String! + +
kind - String! + +
metadata - Metadata! + +
spec - Spec! + +
packageInfo - PackageInformation! + +
+
+
+
+
+
Example
+ + +
{
+  "apiVersion": "xyz789",
+  "kind": "xyz789",
+  "metadata": Metadata,
+  "spec": Spec,
+  "packageInfo": PackageInformation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CommonProbeProperties

+
+
+
+
Description
+

Defines the common probe properties shared across different ProbeTypes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + +
CommonProbeProperties Types
+

KubernetesCMDProbe

+
+

PROMProbe

+
+

KubernetesHTTPProbe

+
+

K8SProbe

+
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Comparator

+
+
+
+
Description
+

Defines the properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
type - String! + Type of the Comparator
value - String! + Value of the Comparator
criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "xyz789",
+  "value": "xyz789",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ComparatorInput

+
+
+
+
Description
+

Defines the input properties of the comparator

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ type - String! + Type of the Comparator
+ value - String! + Value of the Comparator
+ criteria - String! + Operator of the Comparator
+
+
+
+
+
Example
+ + +
{
+  "type": "xyz789",
+  "value": "abc123",
+  "criteria": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ConfirmInfraRegistrationResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isInfraConfirmed - Boolean! + +
newAccessKey - String + +
infraID - String + +
+
+
+
+
+
Example
+ + +
{
+  "isInfraConfirmed": false,
+  "newAccessKey": "xyz789",
+  "infraID": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateChaosHubRequest

+
+
+
+
Description
+

Defines the details required for creating a chaos hub

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "tags": ["abc123"],
+  "description": "abc123",
+  "repoURL": "xyz789",
+  "repoBranch": "abc123",
+  "isPrivate": false,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "abc123",
+  "sshPublicKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String! + +
+ type - EnvironmentType! + +
+ description - String + +
+ tags - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "xyz789",
+  "name": "xyz789",
+  "type": "PROD",
+  "description": "abc123",
+  "tags": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

CreateRemoteChaosHub

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the chaos hub
+ tags - [String!] + Tags of the ChaosHub
+ description - String + Description of ChaosHub
+ repoURL - String! + URL of the git repository
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "tags": ["xyz789"],
+  "description": "abc123",
+  "repoURL": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

DateRange

+
+
+
+
Description
+

Defines the start date and end date for the filtering the data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ startDate - String! + Start date
+ endDate - String + End date
+
+
+
+
+
Example
+ + +
{
+  "startDate": "abc123",
+  "endDate": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Environment

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
environmentID - String! + +
name - String! + +
description - String + +
tags - [String!] + +
type - EnvironmentType! + +
createdAt - String! + +
createdBy - UserDetails + +
updatedBy - UserDetails + +
updatedAt - String! + +
isRemoved - Boolean + +
infraIDs - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "abc123",
+  "environmentID": "abc123",
+  "name": "abc123",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "type": "PROD",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "updatedAt": "xyz789",
+  "isRemoved": false,
+  "infraIDs": ["xyz789"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the environment
+ description - String + ID of the environment
+ type - EnvironmentType + Type name of environment
+ tags - [String!] + Tags of an environment
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "description": "xyz789",
+  "type": "PROD",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - EnvironmentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": false}
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

EnvironmentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

PROD

+
+
+

NON_PROD

+
+
+
+
+
+
+
Example
+ + +
"PROD"
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutedByExperiment

+
+
+
+
Description
+

Defines the Executed by which experiment details for Probes

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentID - String! + Experiment ID
experimentName - String! + Experiment Name
updatedAt - Int! + Timestamp at which the experiment was last updated
updatedBy - UserDetails + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "experimentName": "xyz789",
+  "updatedAt": 987,
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExecutionHistory

+
+
+
+
Description
+

Defines the Execution History of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
mode - Mode! + Probe Mode
faultName - String! + Fault Name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "mode": "SOT",
+  "faultName": "abc123",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Experiment

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentID - String! + ID of the experiment
experimentType - String + Type of the experiment
experimentManifest - String! + Manifest of the experiment
cronSyntax - String! + Cron syntax of the experiment schedule
name - String! + Name of the experiment
description - String! + Description of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
isCustomExperiment - Boolean! + Bool value indicating whether the experiment is a custom experiment or not
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
infra - Infra + Target infra in which the experiment will run
isRemoved - Boolean! + Bool value indicating if the experiment has removed
tags - [String!] + Tags of the experiment
createdBy - UserDetails + User who created the experiment
recentExperimentRunDetails - [RecentExperimentRun] + Array of object containing details of recent experiment runs
updatedBy - UserDetails + Details of the user who updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "experimentID": "abc123",
+  "experimentType": "xyz789",
+  "experimentManifest": "abc123",
+  "cronSyntax": "abc123",
+  "name": "xyz789",
+  "description": "abc123",
+  "weightages": [Weightages],
+  "isCustomExperiment": false,
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "infra": Infra,
+  "isRemoved": true,
+  "tags": ["abc123"],
+  "createdBy": UserDetails,
+  "recentExperimentRunDetails": [RecentExperimentRun],
+  "updatedBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentFilterInput

+
+
+
+
Description
+

Defines filter options for experiments

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraName - String + Name of the infra in which the experiment is running
+ infraID - String + ID of the infra in which the experiment is running
+ infraActive - Boolean + Bool value indicating if Chaos Infrastructure is active
+ scheduleType - ScheduleType + Scenario type of the experiment i.e. CRON or NON_CRON
+ status - String + Status of the latest experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "abc123",
+  "infraName": "xyz789",
+  "infraID": "xyz789",
+  "infraActive": false,
+  "scheduleType": "CRON",
+  "status": "xyz789",
+  "dateRange": DateRange,
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ category - String! + Name of the chart being used
+ experimentName - String! + Name of the experiment
+ hubID - String! + ID of the hub
+
+
+
+
+
Example
+ + +
{
+  "category": "xyz789",
+  "experimentName": "xyz789",
+  "hubID": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRun

+
+
+
+
Description
+

Defines the details of a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
experimentRunID - ID! + ID of the experiment run which is to be queried
experimentType - String + Type of the experiment
experimentID - ID! + ID of the experiment
weightages - [Weightages!]! + Array containing weightage and name of each chaos fault in the experiment
updatedAt - String! + Timestamp at which experiment run was last updated
createdAt - String! + Timestamp at which experiment run was created
infra - Infra! + Target infra in which the experiment will run
experimentName - String! + Name of the experiment
experimentManifest - String! + Manifest of the experiment run
phase - ExperimentRunStatus! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
faultsPassed - Int + Number of faults passed
faultsFailed - Int + Number of faults failed
faultsAwaited - Int + Number of faults awaited
faultsStopped - Int + Number of faults stopped
faultsNa - Int + Number of faults which are not available
totalFaults - Int + Total number of faults
executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the faults
isRemoved - Boolean + Bool value indicating if the experiment run has removed
updatedBy - UserDetails + User who has updated the experiment
createdBy - UserDetails + User who has created the experiment run
notifyID - ID + Notify ID of the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "experimentRunID": 4,
+  "experimentType": "xyz789",
+  "experimentID": 4,
+  "weightages": [Weightages],
+  "updatedAt": "abc123",
+  "createdAt": "xyz789",
+  "infra": Infra,
+  "experimentName": "xyz789",
+  "experimentManifest": "xyz789",
+  "phase": "All",
+  "resiliencyScore": 987.65,
+  "faultsPassed": 987,
+  "faultsFailed": 987,
+  "faultsAwaited": 987,
+  "faultsStopped": 123,
+  "faultsNa": 987,
+  "totalFaults": 123,
+  "executionData": "xyz789",
+  "isRemoved": false,
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails,
+  "notifyID": "4",
+  "runSequence": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunFilterInput

+
+
+
+
Description
+

Defines input type for experiment run filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentName - String + Name of the experiment
+ infraID - String + Name of the infra infra
+ experimentType - ScheduleType + Type of the experiment
+ experimentStatus - ExperimentRunStatus + Status of the experiment run
+ dateRange - DateRange + Date range for filtering purpose
+ experimentRunID - String + ID of experiment run
+ experimentRunStatus - [String] + Array of experiment run status
+ infraTypes - [InfrastructureType] + Type of infras
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "xyz789",
+  "infraID": "xyz789",
+  "experimentType": "CRON",
+  "experimentStatus": "All",
+  "dateRange": DateRange,
+  "experimentRunID": "abc123",
+  "experimentRunStatus": ["abc123"],
+  "infraTypes": ["Kubernetes"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunRequest

+
+
+
+
Description
+

Defines the details for a experiment run

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentID - String! + ID of the experiment
+ notifyID - String + notifyID is required to give an ack for non cron experiment execution
+ experimentRunID - String! + ID of the experiment run which is to be queried
+ experimentName - String! + Name of the experiment
+ executionData - String! + Stores all the experiment run details related to the nodes of DAG graph and chaos results of the experiments
+ infraID - InfraIdentity! + ID of the infra infra in which the experiment is running
+ revisionID - String! + ID of the revision which consists manifest details
+ completed - Boolean! + Bool value indicating if the experiment run has completed
+ isRemoved - Boolean + Bool value indicating if the experiment run has removed
+ updatedBy - String! + User who has updated the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentID": "xyz789",
+  "notifyID": "xyz789",
+  "experimentRunID": "abc123",
+  "experimentName": "xyz789",
+  "executionData": "abc123",
+  "infraID": InfraIdentity,
+  "revisionID": "abc123",
+  "completed": false,
+  "isRemoved": true,
+  "updatedBy": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunSortInput

+
+
+
+
Description
+

Defines sorting options for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": true}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentRunStatus

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Running

+
+
+

Completed

+
+
+

Completed_With_Error

+
+
+

Stopped

+
+
+

Skipped

+
+
+

Error

+
+
+

Timeout

+
+
+

Terminated

+
+
+

Queued

+
+
+

NA

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortInput

+
+
+
+
Description
+

Defines sorting options for experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ field - ExperimentSortingField! + Field in which sorting will be done
+ ascending - Boolean + Bool value indicating whether the sorting will be done in ascending order
+
+
+
+
+
Example
+ + +
{"field": "NAME", "ascending": false}
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentSortingField

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

NAME

+
+
+

TIME

+
+
+
+
+
+
+
Example
+ + +
"NAME"
+
+ + +
+
+
+
+
+
+ Types +
+

ExperimentType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

All

+
+
+

Experiment

+
+
+

CronExperiment

+
+
+

ChaosEngine

+
+
+

ChaosSchedule

+
+
+
+
+
+
+
Example
+ + +
"All"
+
+ + +
+
+
+
+
+
+ Types +
+

Experiments

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
CSV - String! + +
desc - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "CSV": "abc123",
+  "desc": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultDetails

+
+
+
+
Description
+

Fault Detail consists of all the fault related details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
fault - String! + fault consists of fault.yaml
engine - String! + engine consists engine.yaml
csv - String! + csv consists chartserviceversion.yaml
+
+
+
+
+
Example
+ + +
{
+  "fault": "abc123",
+  "engine": "xyz789",
+  "csv": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

FaultList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
displayName - String! + +
description - String! + +
plan - [String!] + +
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "displayName": "abc123",
+  "description": "abc123",
+  "plan": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Float

+
+
+
+
Description
+

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

+
+
+
+
+
Example
+ + +
987.65
+
+ + +
+
+
+
+
+
+ Types +
+

GET

+
+
+
+
Description
+

Details of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "abc123",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GETRequest

+
+
+
+
Description
+

Details for input of GET request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "criteria": "xyz789",
+  "responseCode": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetChaosHubStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
totalChaosHubs - Int! + Total number of chaoshubs
+
+
+
+
+
Example
+ + +
{"totalChaosHubs": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentResponse

+
+
+
+
Description
+

Defines the details for a given experiment with some additional data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
experimentDetails - Experiment! + Details of experiment
averageResiliencyScore - Float + Average resiliency score of the experiment
+
+
+
+
+
Example
+ + +
{
+  "experimentDetails": Experiment,
+  "averageResiliencyScore": 123.45
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentRunStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperimentRuns - Int! + Total number of experiment runs
totalCompletedExperimentRuns - Int! + Total number of completed experiments runs
totalTerminatedExperimentRuns - Int! + Total number of stopped experiment runs
totalRunningExperimentRuns - Int! + Total number of running experiment runs
totalStoppedExperimentRuns - Int! + Total number of stopped experiment runs
totalErroredExperimentRuns - Int! + Total number of errored experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalExperimentRuns": 987,
+  "totalCompletedExperimentRuns": 987,
+  "totalTerminatedExperimentRuns": 987,
+  "totalRunningExperimentRuns": 987,
+  "totalStoppedExperimentRuns": 987,
+  "totalErroredExperimentRuns": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetExperimentStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalExperiments - Int! + Total number of experiments
totalExpCategorizedByResiliencyScore - [ResilienceScoreCategory]! + Total number of cron experiments
+
+
+
+
+
Example
+ + +
{
+  "totalExperiments": 123,
+  "totalExpCategorizedByResiliencyScore": [
+    ResilienceScoreCategory
+  ]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetInfraStatsResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
totalInfrastructures - Int! + Total number of infrastructures
totalActiveInfrastructure - Int! + Total number of active infrastructures
totalInactiveInfrastructures - Int! + Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! + Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! + Total number of non confirmed infrastructures
+
+
+
+
+
Example
+ + +
{
+  "totalInfrastructures": 987,
+  "totalActiveInfrastructure": 987,
+  "totalInactiveInfrastructures": 987,
+  "totalConfirmedInfrastructure": 987,
+  "totalNonConfirmedInfrastructures": 987
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeReferenceResponse

+
+
+
+
Description
+

Defines the response of the Probe reference API

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
totalRuns - Int! + Total Runs
recentExecutions - [RecentExecutions]! + Recent Executions of the probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": 4,
+  "name": "xyz789",
+  "totalRuns": 987,
+  "recentExecutions": [RecentExecutions]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbeYAMLRequest

+
+
+
+
Description
+

Defines the input requests for GetProbeYAML query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeName - ID! + Probe name of the probe
+ mode - Mode! + Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
+
+
+
+
+
Example
+ + +
{"probeName": "4", "mode": "SOT"}
+
+ + +
+
+
+
+
+
+ Types +
+

GetProbesInExperimentRunResponse

+
+
+
+
Description
+

Defines the response for Get Probe In Experiment Run Query

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probe - Probe! + Probe Object
mode - Mode! + Mode of the probe
status - Status! + Status of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probe": Probe,
+  "mode": "SOT",
+  "status": Status
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfig

+
+
+
+
Description
+

Details of setting a Git repository

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ branch - String! + Git branch where the chaos charts will be pushed and synced
+ repoURL - String! + URL of the Git repository
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token used for private repository
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "branch": "xyz789",
+  "repoURL": "xyz789",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "abc123",
+  "password": "abc123",
+  "sshPrivateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

GitConfigResponse

+
+
+
+
Description
+

Response received after configuring GitOps

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
enabled - Boolean! + Bool value indicating whether GitOps is enabled or not
projectID - String! + ID of the project where GitOps is configured
branch - String + Git branch where the chaos charts will be pushed and synced
repoURL - String + URL of the Git repository
authType - AuthType + Type of authentication used: BASIC, SSH, TOKEN
token - String + Token used for private repository
userName - String + Git username
password - String + Git password
sshPrivateKey - String + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "enabled": false,
+  "projectID": "abc123",
+  "branch": "abc123",
+  "repoURL": "xyz789",
+  "authType": "BASIC",
+  "token": "abc123",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

HubType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

GIT

+
+
+

REMOTE

+
+
+
+
+
+
+
Example
+ + +
"GIT"
+
+ + +
+
+
+
+
+
+ Types +
+

ID

+
+
+
+
Description
+

The ID scalar type represents a unique identifier, 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 "4") or integer (such as 4) input value will be accepted as an ID.

+
+
+
+
+
Example
+ + +
"4"
+
+ + +
+
+
+
+
+
+ Types +
+

INFRA_SCOPE

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

namespace

+
+
+

cluster

+
+
+
+
+
+
+
Example
+ + +
"namespace"
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistry

+
+
+
+
Description
+

Defines details for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryName - String! + Name of Image Registry
imageRepoName - String! + Name of image repository
imageRegistryType - String! + Type of the image registry: public/private
secretName - String + Secret which is used for private registry
secretNamespace - String + Namespace where the secret is available
enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": false,
+  "imageRegistryName": "xyz789",
+  "imageRepoName": "abc123",
+  "imageRegistryType": "xyz789",
+  "secretName": "xyz789",
+  "secretNamespace": "abc123",
+  "enableRegistry": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryInput

+
+
+
+
Description
+

Defines input data for querying the details of an image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
+ imageRegistryName - String! + Name of Image Registry
+ imageRepoName - String! + Name of image repository
+ imageRegistryType - String! + Type of the image registry: public/private
+ secretName - String + Secret which is used for private registry
+ secretNamespace - String + Namespace where the secret is available
+ enableRegistry - Boolean + Bool value indicating if image registry is enabled or not
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryName": "abc123",
+  "imageRepoName": "xyz789",
+  "imageRegistryType": "abc123",
+  "secretName": "abc123",
+  "secretNamespace": "xyz789",
+  "enableRegistry": false
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ImageRegistryResponse

+
+
+
+
Description
+

Defines response data for image registry

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
isDefault - Boolean! + Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
imageRegistryInfo - ImageRegistry + Information Image Registry
imageRegistryID - String! + ID of the image registry
projectID - String! + ID of the project in which image registry is created
updatedAt - String + Timestamp when the image registry was last updated
createdAt - String + Timestamp when the image registry was created
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
isRemoved - Boolean + Bool value indicating if the image registry has been removed
+
+
+
+
+
Example
+ + +
{
+  "isDefault": true,
+  "imageRegistryInfo": ImageRegistry,
+  "imageRegistryID": "abc123",
+  "projectID": "xyz789",
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "isRemoved": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Infra

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + +
infraID - ID! + ID of the infra
name - String! + Name of the infra
description - String + Description of the infra
tags - [String!] + Tags of the infra
environmentID - String! + Environment ID for the infra
platformName - String! + Infra Platform Name eg. GKE,AWS, Others
isActive - Boolean! + Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! + Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! + Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! + Timestamp when the infra was last updated
createdAt - String! + Timestamp when the infra was created
noOfExperiments - Int + Number of schedules created in the infra
noOfExperimentRuns - Int + Number of experiments run in the infra
token - String! + Token used to verify and retrieve the infra manifest
infraNamespace - String + Namespace where the infra is being installed
serviceAccount - String + Name of service account used by infra
infraScope - String! + Scope of the infra : ns or cluster
infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
lastExperimentTimestamp - String + Timestamp of the last experiment run in the infra
startTime - String! + Timestamp when the infra got connected
version - String! + Version of the infra
createdBy - UserDetails + User who created the infra
updatedBy - UserDetails + User who has updated the infra
infraType - InfrastructureType + Type of the infrastructure
updateStatus - UpdateStatus! + update status of infra
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "infraID": "4",
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["xyz789"],
+  "environmentID": "abc123",
+  "platformName": "abc123",
+  "isActive": false,
+  "isInfraConfirmed": false,
+  "isRemoved": false,
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "noOfExperiments": 987,
+  "noOfExperimentRuns": 987,
+  "token": "xyz789",
+  "infraNamespace": "xyz789",
+  "serviceAccount": "xyz789",
+  "infraScope": "abc123",
+  "infraNsExists": false,
+  "infraSaExists": false,
+  "lastExperimentTimestamp": "abc123",
+  "startTime": "xyz789",
+  "version": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "infraType": "Kubernetes",
+  "updateStatus": "AVAILABLE"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraActionResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - String! + +
action - ActionPayload! + +
+
+
+
+
+
Example
+ + +
{
+  "projectID": "xyz789",
+  "action": ActionPayload
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraEventResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
eventID - ID! + +
eventType - String! + +
eventName - String! + +
description - String! + +
infra - Infra! + +
+
+
+
+
+
Example
+ + +
{
+  "eventID": 4,
+  "eventType": "abc123",
+  "eventName": "abc123",
+  "description": "abc123",
+  "infra": Infra
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraFilterInput

+
+
+
+
Description
+

Defines filter options for infras

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the infra
+ infraID - String + ID of the infra
+ description - String + ID of the infra
+ platformName - String + Platform name of infra
+ infraScope - INFRA_SCOPE + Scope of infra
+ isActive - Boolean + Status of infra
+ tags - [String] + Tags of an infra
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "infraID": "abc123",
+  "description": "abc123",
+  "platformName": "abc123",
+  "infraScope": "namespace",
+  "isActive": true,
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraIdentity

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - String! + +
+ accessKey - String! + +
+ version - String! + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "xyz789",
+  "accessKey": "xyz789",
+  "version": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfraVersionDetails

+
+
+
+
Description
+

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
latestVersion - String! + Latest infra version supported
compatibleVersions - [String!]! + List of all infra versions supported
+
+
+
+
+
Example
+ + +
{
+  "latestVersion": "xyz789",
+  "compatibleVersions": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

InfrastructureType

+
+
+
+
Values
+ + + + + + + + + + + + + +
Enum ValueDescription
+

Kubernetes

+
+
+
+
+
+
+
Example
+ + +
"Kubernetes"
+
+ + +
+
+
+
+
+
+ Types +
+

Int

+
+
+
+
Description
+

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

+
+
+
+
+
Example
+ + +
987
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbe

+
+
+
+
Description
+

Defines the K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
group - String + Group of the Probe
version - String! + Version of the Probe
resource - String! + Resource of the Probe
namespace - String + Namespace of the Probe
resourceNames - String + Resource Names of the Probe
fieldSelector - String + Field Selector of the Probe
labelSelector - String + Label Selector of the Probe
operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "group": "abc123",
+  "version": "xyz789",
+  "resource": "xyz789",
+  "namespace": "abc123",
+  "resourceNames": "abc123",
+  "fieldSelector": "abc123",
+  "labelSelector": "xyz789",
+  "operation": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

K8SProbeRequest

+
+
+
+
Description
+

Defines the input for K8S probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ group - String + Group of the Probe
+ version - String! + Version of the Probe
+ resource - String! + Resource of the Probe
+ namespace - String + Namespace of the Probe
+ resourceNames - String + Resource Names of the Probe
+ fieldSelector - String + Field Selector of the Probe
+ labelSelector - String + Label Selector of the Probe
+ operation - String! + Operation of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "group": "xyz789",
+  "version": "xyz789",
+  "resource": "xyz789",
+  "namespace": "abc123",
+  "resourceNames": "xyz789",
+  "fieldSelector": "abc123",
+  "labelSelector": "abc123",
+  "operation": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeGVRRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ group - String! + +
+ version - String! + +
+ resource - String! + +
+
+
+
+
+
Example
+ + +
{
+  "group": "xyz789",
+  "version": "xyz789",
+  "resource": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObject

+
+
+
+
Description
+

KubeObject consists of the namespace and the available resources in the same

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
namespace - String! + Namespace of the resource
data - [ObjectData]! + Details of the resource
+
+
+
+
+
Example
+ + +
{
+  "namespace": "xyz789",
+  "data": [ObjectData]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectData

+
+
+
+
Description
+

Defines the details of Kubernetes object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ requestID - ID! + Unique request ID for fetching Kubernetes object details
+ infraID - InfraIdentity! + ID of the infra in which the Kubernetes object is present
+ kubeObj - String! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{
+  "requestID": "4",
+  "infraID": InfraIdentity,
+  "kubeObj": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectRequest

+
+
+
+
Description
+

Defines details for fetching Kubernetes object data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the infra in which the Kubernetes object is present
+ kubeObjRequest - KubeGVRRequest + GVR Request
+ objectType - String! + +
+ workloads - [Workload] + +
+
+
+
+
+
Example
+ + +
{
+  "infraID": "4",
+  "kubeObjRequest": KubeGVRRequest,
+  "objectType": "abc123",
+  "workloads": [Workload]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubeObjectResponse

+
+
+
+
Description
+

Response received for querying Kubernetes Object

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
infraID - ID! + ID of the infra in which the Kubernetes object is present
kubeObj - [KubeObject]! + Type of the Kubernetes object
+
+
+
+
+
Example
+ + +
{"infraID": 4, "kubeObj": [KubeObject]}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbe

+
+
+
+
Description
+

Defines the CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
command - String! + Command of the Probe
comparator - Comparator! + Comparator of the Probe
source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "command": "abc123",
+  "comparator": Comparator,
+  "source": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesCMDProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes CMD probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ command - String! + Command of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+ source - String + Source of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 123,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "command": "xyz789",
+  "comparator": ComparatorInput,
+  "source": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbe

+
+
+
+
Description
+

Defines the Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
url - String! + URL of the Probe
method - Method! + HTTP method of the Probe
insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": true,
+  "url": "abc123",
+  "method": Method,
+  "insecureSkipVerify": true
+}
+
+ + +
+
+
+
+
+
+ Types +
+

KubernetesHTTPProbeRequest

+
+
+
+
Description
+

Defines the input for Kubernetes HTTP probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ url - String! + URL of the Probe
+ method - MethodRequest! + HTTP method of the Probe
+ insecureSkipVerify - Boolean + If Insecure HTTP verification should be skipped
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": true,
+  "url": "abc123",
+  "method": MethodRequest,
+  "insecureSkipVerify": false
+}
+
+ + +
+
+
+
+ +
+
+ Types +
+

ListChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ chaosHubIDs - [ID!] + Array of ChaosHub IDs for which details will be fetched
+ filter - ChaosHubFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "chaosHubIDs": ["4"],
+  "filter": ChaosHubFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - EnvironmentFilterInput + Details for fetching filtered data
+ sort - EnvironmentSortInput + Details for fetching sorted data
+
+
+
+
+
Example
+ + +
{
+  "environmentIDs": ["4"],
+  "pagination": Pagination,
+  "filter": EnvironmentFilterInput,
+  "sort": EnvironmentSortInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListEnvironmentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfEnvironments - Int! + Total number of environment
environments - [Environment] + +
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfEnvironments": 123,
+  "environments": [Environment]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRequest

+
+
+
+
Description
+

Defines the details for a experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentSortInput + Details for fetching sorted data
+ filter - ExperimentFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentIDs": ["4"],
+  "pagination": Pagination,
+  "sort": ExperimentSortInput,
+  "filter": ExperimentFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentResponse

+
+
+
+
Description
+

Defines the details for a experiment with total experiment count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperiments - Int! + Total number of experiments
experiments - [Experiment]! + Details related to the experiments
+
+
+
+
+
Example
+ + +
{"totalNoOfExperiments": 987, "experiments": [Experiment]}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunRequest

+
+
+
+
Description
+

Defines the details for experiment runs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ experimentRunIDs - [ID] + Array of experiment run IDs for which details will be fetched
+ experimentIDs - [ID] + Array of experiment IDs for which details will be fetched
+ pagination - Pagination + Details for fetching paginated data
+ sort - ExperimentRunSortInput + Details for fetching sorted data
+ filter - ExperimentRunFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "experimentRunIDs": [4],
+  "experimentIDs": ["4"],
+  "pagination": Pagination,
+  "sort": ExperimentRunSortInput,
+  "filter": ExperimentRunFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListExperimentRunResponse

+
+
+
+
Description
+

Defines the details of a experiment to sent as response

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfExperimentRuns - Int! + Total number of experiment runs
experimentRuns - [ExperimentRun]! + Defines details of experiment runs
+
+
+
+
+
Example
+ + +
{
+  "totalNoOfExperimentRuns": 123,
+  "experimentRuns": [ExperimentRun]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraRequest

+
+
+
+
Description
+

Defines the details for a infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraIDs - [ID!] + Array of infra IDs for which details will be fetched
+ environmentIDs - [ID!] + Environment ID
+ pagination - Pagination + Details for fetching paginated data
+ filter - InfraFilterInput + Details for fetching filtered data
+
+
+
+
+
Example
+ + +
{
+  "infraIDs": ["4"],
+  "environmentIDs": [4],
+  "pagination": Pagination,
+  "filter": InfraFilterInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ListInfraResponse

+
+
+
+
Description
+

Defines the details for a infras with total infras count

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
totalNoOfInfras - Int! + Total number of infras
infras - [Infra]! + Details related to the infras
+
+
+
+
+
Example
+ + +
{"totalNoOfInfras": 123, "infras": [Infra]}
+
+ + +
+
+
+
+
+
+ Types +
+

Maintainer

+
+
+
+
Description
+

Defines the details of the maintainer

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + Name of the maintainer
email - String! + Email of the maintainer
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Metadata

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
version - String! + +
annotations - Annotation! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "version": "abc123",
+  "annotations": Annotation
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Method

+
+
+
+
Description
+

Defines the methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
get - GET + A GET request
post - POST + A POST request
+
+
+
+
+
Example
+ + +
{"get": GET, "post": POST}
+
+ + +
+
+
+
+
+
+ Types +
+

MethodRequest

+
+
+
+
Description
+

Defines the input for methods of the probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ get - GETRequest + A GET request
+ post - POSTRequest + A POST request
+
+
+
+
+
Example
+ + +
{
+  "get": GETRequest,
+  "post": POSTRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Mode

+
+
+
+
Description
+

Defines the different modes of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

SOT

+
+
+

EOT

+
+
+

Edge

+
+
+

Continuous

+
+
+

OnChaos

+
+
+
+
+
+
+
Example
+ + +
"SOT"
+
+ + +
+
+
+
+
+
+ Types +
+

ObjectData

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
labels - [String!] + Labels present in the resource
name - String! + Name of the resource
+
+
+
+
+
Example
+ + +
{
+  "labels": ["abc123"],
+  "name": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POST

+
+
+
+
Description
+

Details of POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
contentType - String + Content Type of the request
body - String + Body of the request
bodyPath - String + Body Path of the HTTP body required for the http post request
criteria - String! + Criteria of the request
responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "abc123",
+  "body": "xyz789",
+  "bodyPath": "xyz789",
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

POSTRequest

+
+
+
+
Description
+

Details for input of the POST request

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ contentType - String + Content Type of the request
+ body - String + Body of the request
+ bodyPath - String + Body Path of the request for Body
+ criteria - String! + Criteria of the request
+ responseCode - String! + Response Code of the request
+
+
+
+
+
Example
+ + +
{
+  "contentType": "xyz789",
+  "body": "abc123",
+  "bodyPath": "xyz789",
+  "criteria": "xyz789",
+  "responseCode": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbe

+
+
+
+
Description
+

Defines the PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
probeTimeout - String! + Timeout of the Probe
interval - String! + Interval of the Probe
retry - Int + Retry interval of the Probe
attempt - Int + Attempt contains the total attempt count for the probe
probePollingInterval - String + Polling interval of the Probe
initialDelay - String + Initial delay interval of the Probe in seconds
evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
stopOnFailure - Boolean + Is stop on failure enabled in the Probe
endpoint - String! + Endpoint of the Probe
query - String + Query of the Probe
queryPath - String + Query path of the Probe
comparator - Comparator! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "xyz789",
+  "interval": "xyz789",
+  "retry": 987,
+  "attempt": 123,
+  "probePollingInterval": "xyz789",
+  "initialDelay": "abc123",
+  "evaluationTimeout": "abc123",
+  "stopOnFailure": false,
+  "endpoint": "abc123",
+  "query": "abc123",
+  "queryPath": "abc123",
+  "comparator": Comparator
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PROMProbeRequest

+
+
+
+
Description
+

Defines the input for PROM probe properties

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ probeTimeout - String! + Timeout of the Probe
+ interval - String! + Interval of the Probe
+ retry - Int + Retry interval of the Probe
+ attempt - Int + Attempt contains the total attempt count for the probe
+ probePollingInterval - String + Polling interval of the Probe
+ initialDelay - String + Initial delay interval of the Probe in seconds
+ evaluationTimeout - String + EvaluationTimeout is the timeout window in which the SLO metrics
+ stopOnFailure - Boolean + Is stop on failure enabled in the Probe
+ endpoint - String! + Endpoint of the Probe
+ query - String + Query of the Probe
+ queryPath - String + Query path of the Probe
+ comparator - ComparatorInput! + Comparator of the Probe
+
+
+
+
+
Example
+ + +
{
+  "probeTimeout": "abc123",
+  "interval": "abc123",
+  "retry": 987,
+  "attempt": 987,
+  "probePollingInterval": "abc123",
+  "initialDelay": "xyz789",
+  "evaluationTimeout": "xyz789",
+  "stopOnFailure": false,
+  "endpoint": "xyz789",
+  "query": "abc123",
+  "queryPath": "abc123",
+  "comparator": ComparatorInput
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PackageInformation

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
packageName - String! + +
experiments - [Experiments!]! + +
+
+
+
+
+
Example
+ + +
{
+  "packageName": "xyz789",
+  "experiments": [Experiments]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Pagination

+
+
+
+
Description
+

Defines data required to fetch paginated data

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ page - Int! + Page number for which data will be fetched
+ limit - Int! + Number of data to be fetched
+
+
+
+
+
Example
+ + +
{"page": 123, "limit": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLog

+
+
+
+
Description
+

Response received for querying pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - InfraIdentity! + ID of the cluster
+ requestID - ID! + Unique request ID of a particular node which is being queried
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podType - String! + Type of the pod: chaosengine
+ log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "infraID": InfraIdentity,
+  "requestID": 4,
+  "experimentRunID": 4,
+  "podName": "abc123",
+  "podType": "abc123",
+  "log": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogRequest

+
+
+
+
Description
+

Defines the details for fetching the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ infraID - ID! + ID of the cluster
+ experimentRunID - ID! + ID of a experiment run
+ podName - String! + Name of the pod for which logs are required
+ podNamespace - String! + Namespace where the pod is running
+ podType - String! + Type of the pod: chaosEngine or not pod
+ expPod - String + Name of the experiment pod fetched from execution data
+ runnerPod - String + Name of the runner pod fetched from execution data
+ chaosNamespace - String + Namespace where the experiment is executing
+
+
+
+
+
Example
+ + +
{
+  "infraID": 4,
+  "experimentRunID": 4,
+  "podName": "xyz789",
+  "podNamespace": "xyz789",
+  "podType": "abc123",
+  "expPod": "xyz789",
+  "runnerPod": "xyz789",
+  "chaosNamespace": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PodLogResponse

+
+
+
+
Description
+

Defines the response received for querying querying the pod logs

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
podName - String! + Name of the pod for which logs are queried
podType - String! + Type of the pod: chaosengine
log - String! + Logs for the pod
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "podName": "abc123",
+  "podType": "abc123",
+  "log": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

PredefinedExperimentList

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentName - String! + Name of the experiment
experimentCSV - String! + Experiment CSV
experimentManifest - String! + Experiment Manifest
+
+
+
+
+
Example
+ + +
{
+  "experimentName": "abc123",
+  "experimentCSV": "abc123",
+  "experimentManifest": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Probe

+
+
+
+
Description
+

Defines the details of the Probe entity

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
projectID - ID! + Harness identifiers
name - String! + Name of the Probe
description - String + Description of the Probe
tags - [String!] + Tags of the Probe
type - ProbeType! + Type of the Probe [From list of ProbeType enum]
infrastructureType - InfrastructureType! + Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbe + Kubernetes HTTP Properties of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbe + Kubernetes CMD Properties of the specific type of the Probe
k8sProperties - K8SProbe + K8S Properties of the specific type of the Probe
promProperties - PROMProbe + PROM Properties of the specific type of the Probe
recentExecutions - [ProbeRecentExecutions!] + All execution histories of the probe
referencedBy - Int + Referenced by how many faults
updatedAt - String! + Timestamp at which the Probe was last updated
createdAt - String! + Timestamp at which the Probe was created
updatedBy - UserDetails + User who has updated the Probe
createdBy - UserDetails + User who has created the Probe
+
+
+
+
+
Example
+ + +
{
+  "projectID": "4",
+  "name": "xyz789",
+  "description": "abc123",
+  "tags": ["xyz789"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbe,
+  "kubernetesCMDProperties": KubernetesCMDProbe,
+  "k8sProperties": K8SProbe,
+  "promProperties": PROMProbe,
+  "recentExecutions": [ProbeRecentExecutions],
+  "referencedBy": 987,
+  "updatedAt": "xyz789",
+  "createdAt": "xyz789",
+  "updatedBy": UserDetails,
+  "createdBy": UserDetails
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeFilterInput

+
+
+
+
Description
+

Defines the input for Probe filter

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String + Name of the Probe
+ dateRange - DateRange + Date range for filtering purpose
+ type - [ProbeType] + Type of the Probe [From list of ProbeType enum]
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "dateRange": DateRange,
+  "type": ["httpProbe"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
status - Status! + Fault Status
executedByExperiment - ExecutedByExperiment! + Fault executed by which experiment
+
+
+
+
+
Example
+ + +
{
+  "faultName": "xyz789",
+  "status": Status,
+  "executedByExperiment": ExecutedByExperiment
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeRequest

+
+
+
+
Description
+

Defines the details required for creating a Chaos Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - ID! + Name of the Probe
+ description - String + Description of the Probe
+ tags - [String!] + Tags of the Probe
+ type - ProbeType! + Type of the Probe [From list of ProbeType enum]
+ infrastructureType - InfrastructureType! + Infrastructure type of the Probe
+ kubernetesHTTPProperties - KubernetesHTTPProbeRequest + HTTP Properties of the specific type of the Probe
+ kubernetesCMDProperties - KubernetesCMDProbeRequest + CMD Properties of the specific type of the Probe
+ k8sProperties - K8SProbeRequest + K8S Properties of the specific type of the Probe
+ promProperties - PROMProbeRequest + PROM Properties of the specific type of the Probe
+
+
+
+
+
Example
+ + +
{
+  "name": "4",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "type": "httpProbe",
+  "infrastructureType": "Kubernetes",
+  "kubernetesHTTPProperties": KubernetesHTTPProbeRequest,
+  "kubernetesCMDProperties": KubernetesCMDProbeRequest,
+  "k8sProperties": K8SProbeRequest,
+  "promProperties": PROMProbeRequest
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeType

+
+
+
+
Description
+

Defines the different types of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

httpProbe

+
+
+

cmdProbe

+
+
+

promProbe

+
+
+

k8sProbe

+
+
+
+
+
+
+
Example
+ + +
"httpProbe"
+
+ + +
+
+
+
+
+
+ Types +
+

ProbeVerdict

+
+
+
+
Description
+

Defines the older different statuses of Probes

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

Passed

+
+
+

Failed

+
+
+

NA

+
+
+

Awaited

+
+
+
+
+
+
+
Example
+ + +
"Passed"
+
+ + +
+
+
+
+
+
+ Types +
+

Provider

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
name - String! + +
+
+
+
+
+
Example
+ + +
{"name": "xyz789"}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExecutions

+
+
+
+
Description
+

Defines the Recent Executions of experiment referenced by the Probe

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Fault name
mode - Mode! + Probe mode
executionHistory - [ExecutionHistory!]! + Execution History
+
+
+
+
+
Example
+ + +
{
+  "faultName": "xyz789",
+  "mode": "SOT",
+  "executionHistory": [ExecutionHistory]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RecentExperimentRun

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
experimentRunID - ID! + ID of the experiment run which is to be queried
phase - String! + Phase of the experiment run
resiliencyScore - Float + Resiliency score of the experiment
updatedAt - String! + Timestamp when the experiment was last updated
createdAt - String! + Timestamp when the experiment was created
createdBy - UserDetails + User who created the experiment run
updatedBy - UserDetails + User who updated the experiment run
runSequence - Int! + runSequence is the sequence number of experiment run
+
+
+
+
+
Example
+ + +
{
+  "experimentRunID": "4",
+  "phase": "xyz789",
+  "resiliencyScore": 123.45,
+  "updatedAt": "abc123",
+  "createdAt": "abc123",
+  "createdBy": UserDetails,
+  "updatedBy": UserDetails,
+  "runSequence": 123
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraRequest

+
+
+
+
Description
+

Defines the details for the new infra being connected

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + Name of the infra
+ environmentID - String! + Environment ID for the infra
+ infrastructureType - InfrastructureType! + Type of Infra : internal/external
+ description - String + Description of the infra
+ platformName - String! + Infra Platform Name eg. GKE,AWS, Others
+ infraNamespace - String + Namespace where the infra is being installed
+ serviceAccount - String + Name of service account used by infra
+ infraScope - String! + Scope of the infra : ns or infra
+ infraNsExists - Boolean + Bool value indicating whether infra ns used already exists on infra or not
+ infraSaExists - Boolean + Bool value indicating whether service account used already exists on infra or not
+ skipSsl - Boolean + Bool value indicating whether infra will skip ssl checks or not
+ nodeSelector - String + Node selectors used by infra
+ tolerations - [Toleration] + Node tolerations used by infra
+ tags - [String!] + Tags of the infra
+
+
+
+
+
Example
+ + +
{
+  "name": "abc123",
+  "environmentID": "xyz789",
+  "infrastructureType": "Kubernetes",
+  "description": "abc123",
+  "platformName": "xyz789",
+  "infraNamespace": "abc123",
+  "serviceAccount": "xyz789",
+  "infraScope": "abc123",
+  "infraNsExists": false,
+  "infraSaExists": true,
+  "skipSsl": true,
+  "nodeSelector": "xyz789",
+  "tolerations": [Toleration],
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RegisterInfraResponse

+
+
+
+
Description
+

Response received for registering a new infra

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
token - String! + Token used to verify and retrieve the infra manifest
infraID - String! + Unique ID for the newly registered infra
name - String! + Infra name as sent in request
manifest - String! + Infra Manifest
+
+
+
+
+
Example
+ + +
{
+  "token": "xyz789",
+  "infraID": "xyz789",
+  "name": "abc123",
+  "manifest": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ResilienceScoreCategory

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
id - Int! + Lower bound of the range(inclusive)
count - Int! + total experiments with avg resilience score between lower bound and upper bound(exclusive)
+
+
+
+
+
Example
+ + +
{"id": 987, "count": 987}
+
+ + +
+
+
+
+
+
+ Types +
+

ResourceDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
name - String! + +
description - String + +
tags - [String!] + +
+
+
+
Possible Types
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ResourceDetails Types
+

Experiment

+
+

Infra

+
+

ChaosHub

+
+

ChaosHubStatus

+
+

Environment

+
+

Probe

+
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

RunChaosExperimentResponse

+
+
+
+
Fields
+ + + + + + + + + + + + + +
Field NameDescription
notifyID - ID! + +
+
+
+
+
+
Example
+ + +
{"notifyID": 4}
+
+ + +
+
+
+
+
+
+ Types +
+

SSHKey

+
+
+
+
Description
+

Defines the SSHKey details

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
publicKey - String! + Public SSH key authenticating into git repository
privateKey - String! + Private SSH key authenticating into git repository
+
+
+
+
+
Example
+ + +
{
+  "publicKey": "xyz789",
+  "privateKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

SaveChaosExperimentRequest

+
+
+
+
Description
+

Defines the details for a chaos experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the experiment
+ type - ExperimentType + Type of the experiment
+ name - String! + Name of the experiment
+ description - String! + Description of the experiment
+ manifest - String! + Manifest of the experiment
+ infraID - ID! + ID of the target infrastructure in which the experiment will run
+ tags - [String!] + Tags of the infrastructure
+
+
+
+
+
Example
+ + +
{
+  "id": "xyz789",
+  "type": "All",
+  "name": "xyz789",
+  "description": "xyz789",
+  "manifest": "xyz789",
+  "infraID": "4",
+  "tags": ["abc123"]
+}
+
+ + +
+
+
+
+
+
+ Types +
+

ScheduleType

+
+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

CRON

+
+
+

NON_CRON

+
+
+

ALL

+
+
+
+
+
+
+
Example
+ + +
"CRON"
+
+ + +
+
+
+
+
+
+ Types +
+

ServerVersionResponse

+
+
+
+
Description
+

Response received for fetching GQL server version

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
key - String! + Returns server version key
value - String! + Returns server version value
+
+
+
+
+
Example
+ + +
{
+  "key": "xyz789",
+  "value": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Spec

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
displayName - String! + +
categoryDescription - String! + +
keywords - [String!]! + +
maturity - String! + +
maintainers - [Maintainer!]! + +
minKubeVersion - String! + +
provider - Provider! + +
links - [Link!]! + +
faults - [FaultList!]! + +
experiments - [String!] + +
chaosExpCRDLink - String! + +
platforms - [String!]! + +
chaosType - String + +
+
+
+
+
+
Example
+ + +
{
+  "displayName": "abc123",
+  "categoryDescription": "abc123",
+  "keywords": ["xyz789"],
+  "maturity": "abc123",
+  "maintainers": [Maintainer],
+  "minKubeVersion": "xyz789",
+  "provider": Provider,
+  "links": [Link],
+  "faults": [FaultList],
+  "experiments": ["xyz789"],
+  "chaosExpCRDLink": "abc123",
+  "platforms": ["abc123"],
+  "chaosType": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Status

+
+
+
+
Description
+

Status defines whether a probe is pass or fail

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
verdict - ProbeVerdict! + Verdict defines the verdict of the probe, range: Passed, Failed, N/A
description - String + Description defines the description of probe status
+
+
+
+
+
Example
+ + +
{
+  "verdict": "Passed",
+  "description": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

String

+
+
+
+
Description
+

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

+
+
+
+
+
Example
+ + +
"xyz789"
+
+ + +
+
+
+
+
+
+ Types +
+

Toleration

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ tolerationSeconds - Int + +
+ key - String + +
+ operator - String + +
+ effect - String + +
+ value - String + +
+
+
+
+
+
Example
+ + +
{
+  "tolerationSeconds": 987,
+  "key": "abc123",
+  "operator": "xyz789",
+  "effect": "abc123",
+  "value": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateChaosHubRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ id - String! + ID of the chaos hub
+ name - String! + Name of the chaos hub
+ description - String + Description of the infra
+ tags - [String!] + Tags of the infra
+ repoURL - String! + URL of the git repository
+ repoBranch - String! + Branch of the git repository
+ isPrivate - Boolean! + Bool value indicating whether the hub is private or not.
+ authType - AuthType! + Type of authentication used: BASIC, SSH, TOKEN
+ token - String + Token for authentication of private chaos hub
+ userName - String + Git username
+ password - String + Git password
+ sshPrivateKey - String + Private SSH key for authenticating into private chaos hub
+ sshPublicKey - String + Public SSH key for authenticating into private chaos hub
+
+
+
+
+
Example
+ + +
{
+  "id": "xyz789",
+  "name": "xyz789",
+  "description": "abc123",
+  "tags": ["abc123"],
+  "repoURL": "xyz789",
+  "repoBranch": "xyz789",
+  "isPrivate": true,
+  "authType": "BASIC",
+  "token": "xyz789",
+  "userName": "xyz789",
+  "password": "xyz789",
+  "sshPrivateKey": "xyz789",
+  "sshPublicKey": "xyz789"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateEnvironmentRequest

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ environmentID - String! + +
+ name - String + +
+ description - String + +
+ tags - [String] + +
+ type - EnvironmentType + +
+
+
+
+
+
Example
+ + +
{
+  "environmentID": "abc123",
+  "name": "xyz789",
+  "description": "xyz789",
+  "tags": ["abc123"],
+  "type": "PROD"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

UpdateStatus

+
+
+
+
Description
+

UpdateStatus represents if infra needs to be updated

+
+
+
Values
+ + + + + + + + + + + + + + + + + + + + + +
Enum ValueDescription
+

AVAILABLE

+
+
+

MANDATORY

+
+
+

NOT_REQUIRED

+
+
+
+
+
+
+
Example
+ + +
"AVAILABLE"
+
+ + +
+
+
+
+
+
+ Types +
+

UserDetails

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Field NameDescription
userID - String! + +
username - String! + +
email - String! + +
+
+
+
+
+
Example
+ + +
{
+  "userID": "xyz789",
+  "username": "xyz789",
+  "email": "abc123"
+}
+
+ + +
+
+
+
+
+
+ Types +
+

Weightages

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Field NameDescription
faultName - String! + Name of the fault
weightage - Int! + Weightage of the experiment
+
+
+
+
+
Example
+ + +
{"faultName": "abc123", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

WeightagesInput

+
+
+
+
Description
+

Defines the details of the weightages of each chaos fault in the experiment

+
+
+
Fields
+ + + + + + + + + + + + + + + + + +
Input FieldDescription
+ faultName - String! + Name of the fault
+ weightage - Int! + Weightage of the fault
+
+
+
+
+
Example
+ + +
{"faultName": "abc123", "weightage": 123}
+
+ + +
+
+
+
+
+
+ Types +
+

Workload

+
+
+
+
Fields
+ + + + + + + + + + + + + + + + + + + + + +
Input FieldDescription
+ name - String! + +
+ kind - String! + +
+ namespace - String! + +
+
+
+
+
+
Example
+ + +
{
+  "name": "xyz789",
+  "kind": "xyz789",
+  "namespace": "xyz789"
+}
+
+ + +
+
+
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.9.0/config.yml b/mkdocs/docs/graphql/v3.9.0/config.yml new file mode 100644 index 00000000000..c0689b65d0f --- /dev/null +++ b/mkdocs/docs/graphql/v3.9.0/config.yml @@ -0,0 +1,33 @@ +spectaql: + targetDir: ./mkdocs/docs/graphql/v3.9.0 + logoFile: ./mkdocs/docs/graphql/logo.png + faviconFile: ./mkdocs/docs/graphql/logo.png + displayAllServers: true + themeDir: ./mkdocs/docs/graphql/v3.9.0/custom-theme + +introspection: + removeTrailingPeriodFromDescriptions: false + schemaFile: ./chaoscenter/graphql/definitions/shared/*.graphqls + queryNameStrategy: capitalizeFirst + fieldExpansionDepth: 2 + + spectaqlDirective: + enable: true + +extensions: + graphqlScalarExamples: true + +info: + title: ChaosCenter API Documentation + description: Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform. + + x-introItems: + - title: Common Error Response + file: ./mkdocs/docs/graphql/v3.9.0/error_response_guide.md + +servers: + - url: http://localhost:8080 + description: Dev + - url: http://localhost:8080/query + description: Prod + production: true diff --git a/mkdocs/docs/graphql/v3.9.0/custom-theme/stylesheets/custom.scss b/mkdocs/docs/graphql/v3.9.0/custom-theme/stylesheets/custom.scss new file mode 100644 index 00000000000..68e1aa2268c --- /dev/null +++ b/mkdocs/docs/graphql/v3.9.0/custom-theme/stylesheets/custom.scss @@ -0,0 +1,24 @@ + +$line-height-heading: 1.2; +$font-size-large-heading: 1.7105263158rem; +$font-weight-large-heading: 700; +$content-padding: 20px; +$text-color: #535b60; +$text-weight: 400; +$text-size: 1.5789473684rem; + +#spectaql { + h2 { + color: $text-color; + font-weight: $text-weight; + font-size: $text-size; + } + + .doc-heading { + line-height: $line-height-heading; + font-size: $font-size-large-heading; + font-weight: $font-weight-large-heading; + color: #535b60 + } + +} \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.9.0/error_response_guide.md b/mkdocs/docs/graphql/v3.9.0/error_response_guide.md new file mode 100644 index 00000000000..76e4ab30fce --- /dev/null +++ b/mkdocs/docs/graphql/v3.9.0/error_response_guide.md @@ -0,0 +1,29 @@ +All error responses follow the structure outlined below. + +```json +{ + "errors": [ + { + "message": "Error message", + "path": [ + "Request path" + ] + } + ], + "data": {} +} +``` + +### Field Descriptions: +- **errors**:
+ An array of error objects. Multiple errors can occur, and each error contains a message and a path field.
+ **Type: `Array`**

+ - **message**:
+ A description of the error.
+ **Type: `String`**

+ - **path**:
+ Indicates the GraphQL or API operation path where the error occurred. It helps in identifying which operation or resolver triggered the error.
+ **Type: `Array of Strings`**

+- **data**:
+ This field contains the data returned from the request. In the event of an error, the field corresponding to the failed operation will be null, while other successful operations (if any) will still return valid data.
+ **Type: `Object`**
diff --git a/mkdocs/docs/graphql/v3.9.0/images/favicon.png b/mkdocs/docs/graphql/v3.9.0/images/favicon.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.9.0/images/favicon.png differ diff --git a/mkdocs/docs/graphql/v3.9.0/images/logo.png b/mkdocs/docs/graphql/v3.9.0/images/logo.png new file mode 100644 index 00000000000..db508c437e3 Binary files /dev/null and b/mkdocs/docs/graphql/v3.9.0/images/logo.png differ diff --git a/mkdocs/docs/graphql/v3.9.0/javascripts/spectaql.min.js b/mkdocs/docs/graphql/v3.9.0/javascripts/spectaql.min.js new file mode 100644 index 00000000000..6ef3202c222 --- /dev/null +++ b/mkdocs/docs/graphql/v3.9.0/javascripts/spectaql.min.js @@ -0,0 +1 @@ +function scrollSpy(){var l=5,e=document.querySelector("html"),c=(e&&(e=window.getComputedStyle(e).scrollPaddingTop)&&"string"==typeof e&&"auto"!==e&&e.endsWith("px")&&(l+=parseInt(e.split("px")[0])),"nav-scroll-active"),i=null,d=[];function t(){i=null;var e=document.querySelectorAll("[data-traverse-target]");Array.prototype.forEach.call(e,function(e){d.push({id:e.id,top:e.offsetTop})})}var n=debounce(function(){t(),o()},500),o=debounce(function(){var e,t,n,o,r=(e=>{for(var t=e+l,n=0;n=d[n].top&&(!o||t{toggleMenu(),scrollSpy()}); \ No newline at end of file diff --git a/mkdocs/docs/graphql/v3.9.0/stylesheets/spectaql.min.css b/mkdocs/docs/graphql/v3.9.0/stylesheets/spectaql.min.css new file mode 100644 index 00000000000..e7666ab6b36 --- /dev/null +++ b/mkdocs/docs/graphql/v3.9.0/stylesheets/spectaql.min.css @@ -0,0 +1 @@ +#spectaql h2{color:#535b60;font-weight:400;font-size:1.5789473684rem}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;font-weight:700;color:#535b60}#spectaql{padding:0;margin:0}#spectaql pre{overflow:auto;margin-top:0;margin-bottom:20px}#spectaql pre code{display:block;background:#ccc}#spectaql table{width:100%;table-layout:fixed;text-align:left;border-collapse:collapse}#spectaql table td,#spectaql table th{margin:0;padding:0}#spectaql #introduction .example-section>*,#spectaql .definition-heading,#spectaql .doc-heading,#spectaql .introduction-item-title,#spectaql .operation-heading{overflow:hidden;text-overflow:ellipsis}#spectaql #page{display:flex}#spectaql #page *{box-sizing:border-box}#spectaql #page.drawer-open #sidebar{z-index:1000;transform:translateX(0)}#spectaql #page.drawer-open .drawer-overlay{display:block;background:rgba(0,0,0,.5);z-index:10}#spectaql #sidebar{position:fixed;min-width:250px;max-width:250px;flex-shrink:0;transition:transform .2s ease-out;transform:translateX(-100%);z-index:10;padding-top:20px;background:#fff}@media (min-width:48em){#spectaql #sidebar{position:relative;transform:none}}@media (min-width:64em){#spectaql #sidebar{min-width:300px;max-width:300px}}#spectaql .sidebar-top-container{display:flex;align-items:center;padding:0 20px}#spectaql #mobile-navbar{display:flex;align-items:center;position:sticky;top:0}@media (min-width:48em){#spectaql #mobile-navbar{display:none}}#spectaql .sidebar-open-button{display:flex;align-items:flex-start;margin:0;padding:0;border:none;background:0 0}#spectaql .sidebar-open-button .hamburger{width:16px;height:14px;cursor:pointer}#spectaql .sidebar-open-button .hamburger::after{display:block;content:"";height:2px;background:#535b60;box-shadow:0 5px 0 #535b60,0 10px 0 #535b60}#spectaql .sidebar-open-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .close-button{display:block}#spectaql .close-button .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:48em){#spectaql .close-button{display:none}}#spectaql .drawer-overlay{display:none;position:absolute;top:0;left:0;bottom:0;right:0;background:rgba(0,0,0,0)}@media (min-width:48em){#spectaql .drawer-overlay{display:none!important}}#spectaql #nav{display:flex;flex-direction:column;max-height:calc(100vh - 0px);padding:0 20px;padding-bottom:20px;position:sticky;top:0;overflow:auto}#spectaql #logo{margin-right:auto}#spectaql #logo img{display:block;width:100%;max-width:100%}#spectaql .nav-group-items,#spectaql .nav-group-section-items{padding:0;margin:0}#spectaql .nav-group-items>li,#spectaql .nav-group-section-items>li{list-style:none}#spectaql .nav-group-items .nav-group-section-title,#spectaql .nav-group-items>li,#spectaql .nav-group-section-items .nav-group-section-title,#spectaql .nav-group-section-items>li{overflow:hidden;text-overflow:ellipsis}#spectaql .nav-group-section-items{display:none}#spectaql .nav-scroll-expand .nav-group-section-items{display:block}#spectaql #docs{position:relative;margin:0 auto;min-width:100px;max-width:88em;flex-grow:1;flex-shrink:1;padding:20px}@media (min-width:48em){#spectaql .doc-row{display:flex;flex-wrap:wrap}}#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:100%}@media (min-width:48em){#spectaql .doc-row .doc-copy,#spectaql .doc-row .doc-examples{width:50%}}@media (min-width:48em){#spectaql .doc-row .doc-copy{padding-right:20px}}@media (min-width:48em){#spectaql .doc-row .doc-examples{padding-left:20px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e}#spectaql{font-family:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.6;background:#fff;color:#535b60}@media (min-width:32em){#spectaql{font-size:16px}}#spectaql a{color:#0298bf;text-decoration:none}#spectaql a:hover{color:#0182a2}#spectaql a:active,#spectaql a:focus{color:#0298bf}#spectaql code{font-size:.875em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}#spectaql pre{color:#fff}#spectaql pre code{background:#222}#spectaql pre code,#spectaql pre code.hljs{font-size:.82em;line-height:1.4;padding:15px 20px}#spectaql .doc-heading{line-height:1.2;font-size:1.7105263158rem;margin-top:10px}@media (min-width:48em){#spectaql .doc-heading{margin-top:-10px}}#spectaql .close-button{background:0 0;border:none;padding:5px;font-size:16px;font-weight:700;color:#535b60}#spectaql #introduction{margin-bottom:60px}#spectaql #introduction .example-section:not(.example-section-is-code){margin-bottom:20px}#spectaql #introduction .example-section:not(.example-section-is-code) h5,#spectaql #introduction .example-section:not(.example-section-is-code) p{margin:0;font-size:1em}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:20px;padding-bottom:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:30px;padding-bottom:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #sidebar{padding-top:40px;padding-bottom:40px}}#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:20px;padding-right:20px}@media (min-width:32em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:30px;padding-right:30px}}@media (min-width:48em){#spectaql #docs,#spectaql #mobile-navbar,#spectaql #nav,#spectaql .sidebar-top-container{padding-left:50px;padding-right:50px}}#spectaql #sidebar{padding-bottom:0;background:#fff}#spectaql #sidebar a{color:#535b60}#spectaql #sidebar a.nav-scroll-active,#spectaql #sidebar a:hover{font-weight:700}#spectaql #sidebar a.nav-scroll-active{color:#535b60}#spectaql #sidebar a:hover{color:#0182a2}@media (min-width:48em){#spectaql #sidebar{border-right:2px solid #d8d8d8}}#spectaql #mobile-navbar{background:#fff;margin-top:-20px;margin-left:-20px;margin-right:-20px}@media (min-width:32em){#spectaql #mobile-navbar{margin-top:-30px;margin-left:-30px;margin-right:-30px}}#spectaql #mobile-navbar .sidebar-open-button::after{display:block;content:"All Topics";margin-left:10px;color:#535b60}#spectaql #nav .nav-group{margin-top:20px}#spectaql #nav .nav-group li{margin-bottom:5px}#spectaql #nav .nav-group-title{font-size:.875em;font-weight:400;margin:0 0 6px 0;color:#999}#spectaql #nav .nav-group-section-title{font-size:inherit;margin:0;margin-bottom:5px;font-weight:400}#spectaql #nav .nav-group-section-items{margin-left:.75em}#spectaql .definition,#spectaql .operation{margin-bottom:60px}#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.72em}#spectaql .definition .definition-heading code,#spectaql .definition .operation-heading code,#spectaql .operation .definition-heading code,#spectaql .operation .operation-heading code{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:32em){#spectaql .definition .definition-heading,#spectaql .definition .operation-heading,#spectaql .operation .definition-heading,#spectaql .operation .operation-heading{font-size:1.7105263158rem}}#spectaql .definition-group-name,#spectaql .group-heading,#spectaql .operation-group-name{border-top:2px solid #d8d8d8;padding-top:3px;color:#999;font-size:inherit;font-weight:inherit}#spectaql .definition-group-name a,#spectaql .group-heading a,#spectaql .operation-group-name a{color:#999}#spectaql .definition-group-name a:hover,#spectaql .group-heading a:hover,#spectaql .operation-group-name a:hover{font-weight:700}#spectaql .doc-examples{margin-top:20px}#spectaql .doc-examples .example-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .doc-examples .example-section-is-code h5{color:#999;text-transform:uppercase;background:#000;font-size:.75em;font-weight:700;padding:.6em 0 .6em 20px;margin:0;opacity:1}@media (min-width:48em){#spectaql .doc-examples{margin-top:0}}#spectaql .doc-copy p{margin:0 0 20px 0}#spectaql .doc-copy p:last-child{margin-bottom:0}#spectaql .doc-copy table tr th{font-weight:400;border-bottom:2px solid #d8d8d8}#spectaql .doc-copy table tr td{border-bottom:1px solid #e0e0e0}#spectaql .doc-copy table tr.row-has-field-arguments td,#spectaql .doc-copy table tr:last-child td{border-bottom:none}#spectaql .doc-copy table tr td,#spectaql .doc-copy table tr th{padding:5px}#spectaql .doc-copy table tr td:first-child,#spectaql .doc-copy table tr th:first-child{padding-left:0}#spectaql .doc-copy table tr td:last-child,#spectaql .doc-copy table tr th:last-child{padding-right:0}#spectaql .doc-copy .doc-copy-section{margin-bottom:30px}#spectaql .doc-copy .doc-copy-section>h5{margin:0 0 5px 0;font-size:inherit;font-weight:inherit;color:#999}#spectaql .doc-copy .definition-description>h5,#spectaql .doc-copy .definition-properties>h5,#spectaql .doc-copy .operation-description>h5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#spectaql .field-arguments{font-size:.875em;background-color:#fafbfc;border:1px solid #e0e0e0;padding:10px;margin-bottom:5px}#spectaql .field-arguments p{margin:10px 0 0 0}#spectaql .field-arguments h5.field-arguments-heading{margin:0;padding:0 0 10px 0;font-weight:inherit;color:#999}#spectaql .field-arguments .field-argument{border-top:1px #e0e0e0 solid;padding:10px 0}#spectaql .field-arguments .field-argument:last-child{padding-bottom:0}#spectaql .field-arguments .field-argument-name{margin:0;font-size:inherit;font-weight:inherit}#spectaql .deprecation-reason{word-break:break-word}#spectaql .deprecation-reason::before{display:inline;content:"Deprecated";padding:2px 5px;margin-right:5px;background:#fed7d8;color:#c60609;font-weight:700;font-size:.875em} \ No newline at end of file