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
+
+
+ - message:
- 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
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ getChaosHub
+
+ Description
+Get the details of a requested ChaosHub
+Response
+ Returns a ChaosHubStatus!
+
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
+ }
+ }
+}
+
+
+
+
+ getChaosHubStats
+
+ Description
+Query to get experiment stats
+Response
+ Returns a GetChaosHubStatsResponse!
+
Arguments
+Name | +Description | +
---|---|
+ projectID - ID!
+ |
+ + | +
Example
+Query
+ + +query GetChaosHubStats($projectID: ID!) {
+ getChaosHubStats(projectID: $projectID) {
+ totalChaosHubs
+ }
+}
+
+
+
+ Variables
+ + +{"projectID": "4"}
+
+
+
+ Response
+ + +{"data": {"getChaosHubStats": {"totalChaosHubs": 123}}}
+
+
+
+
+ getEnvironment
+
+ Response
+ Returns an Environment
+
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"]
+ }
+ }
+}
+
+
+
+
+ getExperiment
+
+ Description
+Returns the experiment based on experiment ID
+Response
+ Returns a GetExperimentResponse!
+
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
+ }
+ }
+}
+
+
+
+
+ getExperimentRun
+
+ Description
+Returns experiment run based on experiment run ID
+Response
+ Returns an ExperimentRun!
+
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
+ }
+ }
+}
+
+
+
+
+ getExperimentRunStats
+
+ Description
+Query to get experiment run stats
+Response
+ Returns a GetExperimentRunStatsResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ }
+}
+
+
+
+
+ getExperimentStats
+
+ Description
+Query to get experiment stats
+Response
+ Returns a GetExperimentStatsResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ ]
+ }
+ }
+}
+
+
+
+
+ getGitOpsDetails
+
+ Description
+Returns the git configuration for gitops
+Response
+ Returns a GitConfigResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ getImageRegistry
+
+ Response
+ Returns an ImageRegistryResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ }
+}
+
+
+
+
+ getInfra
+
+ Description
+Returns infra with a particular infraID in the project
+Response
+ Returns an Infra!
+
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"
+ }
+ }
+}
+
+
+
+
+ getInfraDetails
+
+ Description
+Returns infra details based on identifiers
+Response
+ Returns an Infra!
+
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"
+ }
+ }
+}
+
+
+
+
+ getInfraManifest
+
+ Description
+Returns the manifest for a given infraID
+Response
+ Returns a String!
+
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"}}
+
+
+
+
+ getInfraStats
+
+ Description
+Query to get experiment stats
+Response
+ Returns a GetInfraStatsResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ }
+}
+
+
+
+
+ getPredefinedExperiment
+
+ Description
+Returns predefined experiment details of selected experiments
+Response
+ Returns [PredefinedExperimentList!]!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ ]
+ }
+}
+
+
+
+
+ getProbe
+
+ Description
+Returns a single Probe based on ProbeName and various filter parameters
+Response
+ Returns a Probe!
+
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
+ }
+ }
+}
+
+
+
+
+ getProbeReference
+
+ Description
+Returns all the reference of the Probe based on ProbeName
+Response
+ Returns a GetProbeReferenceResponse!
+
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]
+ }
+ }
+}
+
+
+
+
+ getProbeYAML
+
+ Description
+Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ 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"}}
+
+
+
+
+ getProbesInExperimentRun
+
+ Description
+Returns all the Probes attached to the requested Experiment Run
+Response
+ Returns [GetProbesInExperimentRunResponse]!
+
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
+ }
+ ]
+ }
+}
+
+
+
+
+ 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"
+ }
+ }
+}
+
+
+
+
+ getVersionDetails
+
+ Description
+Query to get the latest version of infra available
+Response
+ Returns an InfraVersionDetails!
+
Arguments
+Name | +Description | +
---|---|
+ projectID - ID!
+ |
+ + | +
Example
+Query
+ + +query GetVersionDetails($projectID: ID!) {
+ getVersionDetails(projectID: $projectID) {
+ latestVersion
+ compatibleVersions
+ }
+}
+
+
+
+ Variables
+ + +{"projectID": 4}
+
+
+
+ Response
+ + +{
+ "data": {
+ "getVersionDetails": {
+ "latestVersion": "abc123",
+ "compatibleVersions": ["xyz789"]
+ }
+ }
+}
+
+
+
+
+ listChaosFaults
+
+ Description
+List the Charts details of a ChaosHub
+Response
+ Returns [Chart!]!
+
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
+ }
+ ]
+ }
+}
+
+
+
+
+ listChaosHub
+
+ Description
+Lists all the connected ChaosHub
+Response
+ Returns [ChaosHubStatus]!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ ]
+ }
+}
+
+
+
+
+ listEnvironments
+
+ Response
+ Returns a ListEnvironmentResponse
+
Arguments
+Name | +Description | +
---|---|
+ 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]
+ }
+ }
+}
+
+
+
+
+ listExperiment
+
+ Description
+Returns the list of experiments based on various filter parameters
+Response
+ Returns a ListExperimentResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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]
+ }
+ }
+}
+
+
+
+
+ listExperimentRun
+
+ Description
+Returns the list of experiment run based on various filter parameters
+Response
+ Returns a ListExperimentRunResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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]
+ }
+ }
+}
+
+
+
+
+ listImageRegistry
+
+ Response
+ Returns [ImageRegistryResponse!]
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ ]
+ }
+}
+
+
+
+
+ listInfras
+
+ Description
+Returns infras with a particular infra type in the project
+Response
+ Returns a ListInfraResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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]
+ }
+ }
+}
+
+
+
+
+ listPredefinedExperiments
+
+ Description
+List the PredefinedExperiments present in the hub
+Response
+ Returns [PredefinedExperimentList!]!
+
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"
+ }
+ ]
+ }
+}
+
+
+
+
+ listProbes
+
+ Description
+Returns the list of Probes based on various filter parameters
+Response
+ Returns [Probe]!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ ]
+ }
+}
+
+
+
+
+ validateUniqueProbe
+
+ Description
+Validates if a probe is already present, returns true if unique
+Response
+ Returns a Boolean!
+
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
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ addProbe
+
+ Description
+Creates a new Probe
+Response
+ Returns a Probe!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ }
+}
+
+
+
+
+ addRemoteChaosHub
+
+ Description
+Add a ChaosHub (remote hub download)
+Response
+ Returns a ChaosHub!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ chaosExperimentRun
+
+ Description
+Creates a new experiment run and sends it to subscriber
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ request - ExperimentRunRequest!
+ |
+ + | +
Example
+Query
+ + +mutation ChaosExperimentRun($request: ExperimentRunRequest!) {
+ chaosExperimentRun(request: $request)
+}
+
+
+
+ Variables
+ + +{"request": ExperimentRunRequest}
+
+
+
+ Response
+ + +{"data": {"chaosExperimentRun": "abc123"}}
+
+
+
+
+ confirmInfraRegistration
+
+ Description
+Confirms the subscriber's registration with the control plane
+Response
+ Returns a ConfirmInfraRegistrationResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ createChaosExperiment
+
+ Description
+Creates a new experiment and applies its manifest
+Response
+ Returns a ChaosExperimentResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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"]
+ }
+ }
+}
+
+
+
+
+ createEnvironment
+
+ Response
+ Returns an Environment
+
Arguments
+Name | +Description | +
---|---|
+ 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"]
+ }
+ }
+}
+
+
+
+
+ createImageRegistry
+
+ Description
+Create an Image Registry configuration
+Response
+ Returns an ImageRegistryResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ }
+}
+
+
+
+
+ deleteChaosExperiment
+
+ Description
+Removes a experiment from infra
+Response
+ Returns a Boolean!
+
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}}
+
+
+
+
+ deleteChaosHub
+
+ Description
+Delete the ChaosHub
+Response
+ Returns a Boolean!
+
Example
+Query
+ + +mutation DeleteChaosHub(
+ $projectID: ID!,
+ $hubID: ID!
+) {
+ deleteChaosHub(
+ projectID: $projectID,
+ hubID: $hubID
+ )
+}
+
+
+
+ Variables
+ + +{
+ "projectID": "4",
+ "hubID": "4"
+}
+
+
+
+ Response
+ + +{"data": {"deleteChaosHub": true}}
+
+
+
+
+ deleteEnvironment
+
+ Response
+ Returns a String!
+
Example
+Query
+ + +mutation DeleteEnvironment(
+ $projectID: ID!,
+ $environmentID: ID!
+) {
+ deleteEnvironment(
+ projectID: $projectID,
+ environmentID: $environmentID
+ )
+}
+
+
+
+ Variables
+ + +{
+ "projectID": "4",
+ "environmentID": "4"
+}
+
+
+
+ Response
+ + +{"data": {"deleteEnvironment": "abc123"}}
+
+
+
+
+ deleteImageRegistry
+
+ Description
+Delete the Image Registry
+Response
+ Returns a String!
+
Example
+Query
+ + +mutation DeleteImageRegistry(
+ $imageRegistryID: String!,
+ $projectID: String!
+) {
+ deleteImageRegistry(
+ imageRegistryID: $imageRegistryID,
+ projectID: $projectID
+ )
+}
+
+
+
+ Variables
+ + +{
+ "imageRegistryID": "xyz789",
+ "projectID": "xyz789"
+}
+
+
+
+ Response
+ + +{"data": {"deleteImageRegistry": "abc123"}}
+
+
+
+
+ deleteInfra
+
+ Description
+Disconnects an infra and deletes its configuration from the control plane
+Response
+ Returns a String!
+
Example
+Query
+ + +mutation DeleteInfra(
+ $projectID: ID!,
+ $infraID: String!
+) {
+ deleteInfra(
+ projectID: $projectID,
+ infraID: $infraID
+ )
+}
+
+
+
+ Variables
+ + +{
+ "projectID": "4",
+ "infraID": "abc123"
+}
+
+
+
+ Response
+ + +{"data": {"deleteInfra": "abc123"}}
+
+
+
+
+ deleteProbe
+
+ Description
+Delete a Probe
+Response
+ Returns a Boolean!
+
Example
+Query
+ + +mutation DeleteProbe(
+ $probeName: ID!,
+ $projectID: ID!
+) {
+ deleteProbe(
+ probeName: $probeName,
+ projectID: $projectID
+ )
+}
+
+
+
+ Variables
+ + +{
+ "probeName": "4",
+ "projectID": "4"
+}
+
+
+
+ Response
+ + +{"data": {"deleteProbe": false}}
+
+
+
+
+ disableGitOps
+
+ Description
+Disables gitops settings in the project
+Response
+ Returns a Boolean!
+
Arguments
+Name | +Description | +
---|---|
+ projectID - ID!
+ |
+ + | +
Example
+Query
+ + +mutation DisableGitOps($projectID: ID!) {
+ disableGitOps(projectID: $projectID)
+}
+
+
+
+ Variables
+ + +{"projectID": "4"}
+
+
+
+ Response
+ + +{"data": {"disableGitOps": false}}
+
+
+
+
+ enableGitOps
+
+ Description
+Enables gitops settings in the project
+Response
+ Returns a Boolean!
+
Arguments
+Name | +Description | +
---|---|
+ 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}}
+
+
+
+
+ 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"
+ }
+ }
+}
+
+
+
+
+ getManifestWithInfraID
+
+ Description
+Fetches manifest details
+Response
+ Returns a 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"
+ }
+}
+
+
+
+
+ gitopsNotifier
+
+ Description
+Sends workflow run request(single run workflow only) to agent on gitops notification
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ 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"}}
+
+
+
+
+ kubeObj
+
+ Description
+Receives kubernetes object data from subscriber
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ request - KubeObjectData!
+ |
+ + | +
Example
+Query
+ + +mutation KubeObj($request: KubeObjectData!) {
+ kubeObj(request: $request)
+}
+
+
+
+ Variables
+ + +{"request": KubeObjectData}
+
+
+
+ Response
+ + +{"data": {"kubeObj": "xyz789"}}
+
+
+
+
+ podLog
+
+ Description
+Receives pod logs for experiments from infra
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ request - PodLog!
+ |
+ + | +
Example
+Query
+ + +mutation PodLog($request: PodLog!) {
+ podLog(request: $request)
+}
+
+
+
+ Variables
+ + +{"request": PodLog}
+
+
+
+ Response
+ + +{"data": {"podLog": "xyz789"}}
+
+
+
+
+ registerInfra
+
+ Description
+Connect a new infra for a user in a specified project
+Response
+ Returns a RegisterInfraResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ runChaosExperiment
+
+ Description
+Run the chaos experiment (used by frontend)
+Response
+ Returns a RunChaosExperimentResponse!
+
Example
+Query
+ + +mutation RunChaosExperiment(
+ $experimentID: String!,
+ $projectID: ID!
+) {
+ runChaosExperiment(
+ experimentID: $experimentID,
+ projectID: $projectID
+ ) {
+ notifyID
+ }
+}
+
+
+
+ Variables
+ + +{
+ "experimentID": "abc123",
+ "projectID": "4"
+}
+
+
+
+ Response
+ + +{"data": {"runChaosExperiment": {"notifyID": 4}}}
+
+
+
+
+ saveChaosExperiment
+
+ Description
+Saves a new experiment or updates if already exists
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ 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"}}
+
+
+
+
+ saveChaosHub
+
+ Description
+Save a ChaosHub configuration without cloning it
+Response
+ Returns a ChaosHub!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ stopExperimentRuns
+
+ Description
+stopExperiment will halt all the ongoing runs of a particular experiment
+Response
+ Returns a Boolean!
+
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}}
+
+
+
+
+ syncChaosHub
+
+ Description
+Sync changes from the Git repository of a ChaosHub
+Response
+ Returns a String!
+
Example
+Query
+ + +mutation SyncChaosHub(
+ $id: ID!,
+ $projectID: ID!
+) {
+ syncChaosHub(
+ id: $id,
+ projectID: $projectID
+ )
+}
+
+
+
+ Variables
+ + +{"id": "4", "projectID": 4}
+
+
+
+ Response
+ + +{"data": {"syncChaosHub": "abc123"}}
+
+
+
+
+ updateChaosExperiment
+
+ Description
+Updates the experiment
+Response
+ Returns a ChaosExperimentResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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"]
+ }
+ }
+}
+
+
+
+
+ updateChaosHub
+
+ Description
+Update the configuration of a ChaosHub
+Response
+ Returns a ChaosHub!
+
Arguments
+Name | +Description | +
---|---|
+ 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"
+ }
+ }
+}
+
+
+
+
+ updateCronExperimentState
+
+ Description
+Enable/Disable cron experiment state
+Response
+ Returns a Boolean!
+
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}}
+
+
+
+
+ updateEnvironment
+
+ Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ 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"}}
+
+
+
+
+ updateGitOps
+
+ Description
+Updates gitops settings in the project
+Response
+ Returns a Boolean!
+
Arguments
+Name | +Description | +
---|---|
+ 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}}
+
+
+
+
+ updateImageRegistry
+
+ Description
+Update the Image Registry configuration
+Response
+ Returns an ImageRegistryResponse!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+ }
+ }
+}
+
+
+
+
+ updateProbe
+
+ Description
+Update the configuration of a Probe
+Response
+ Returns a String!
+
Arguments
+Name | +Description | +
---|---|
+ 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
+Name | +Description | +
---|---|
+ 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
+Name | +Description | +
---|---|
+ 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
+Name | +Description | +
---|---|
+ 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
+Name | +Description | +
---|---|
+ 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
+Example
+ + +{
+ "requestID": "abc123",
+ "requestType": "xyz789",
+ "k8sManifest": "xyz789",
+ "namespace": "xyz789",
+ "externalData": "abc123",
+ "username": "xyz789"
+}
+
+
+
+ Annotation
+Example
+ + +{
+ "categories": "abc123",
+ "vendor": "abc123",
+ "createdAt": "xyz789",
+ "repository": "xyz789",
+ "support": "xyz789",
+ "chartDescription": "abc123"
+}
+
+
+
+ Audit
+Fields
+Field Name | +Description | +
---|---|
updatedAt - String
+ |
+ + | +
createdAt - String
+ |
+ + | +
updatedBy - UserDetails
+ |
+ + | +
createdBy - UserDetails
+ |
+ + | +
Possible Types
+Audit Types | +
---|
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
Example
+ + +{
+ "updatedAt": "abc123",
+ "createdAt": "xyz789",
+ "updatedBy": UserDetails,
+ "createdBy": UserDetails
+}
+
+
+
+ AuthType
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"BASIC"
+
+
+
+ Boolean
+Description
+The Boolean
scalar type represents true
or false
.
Example
+ + +true
+
+
+
+ ChaosExperimentRequest
+Description
+Defines the details for a chaos experiment
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ ChaosExperimentResponse
+Description
+Defines the response received for querying the details of chaos experiment
+Fields
+Field Name | +Description | +
---|---|
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"]
+}
+
+
+
+ ChaosHub
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ ChaosHubFilterInput
+Description
+Defines filter options for ChaosHub
+Example
+ + +{
+ "chaosHubName": "abc123",
+ "tags": ["abc123"],
+ "description": "xyz789"
+}
+
+
+
+ ChaosHubStatus
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ Chart
+Fields
+Field Name | +Description | +
---|---|
apiVersion - String!
+ |
+ + | +
kind - String!
+ |
+ + | +
metadata - Metadata!
+ |
+ + | +
spec - Spec!
+ |
+ + | +
packageInfo - PackageInformation!
+ |
+ + | +
Example
+ + +{
+ "apiVersion": "xyz789",
+ "kind": "abc123",
+ "metadata": Metadata,
+ "spec": Spec,
+ "packageInfo": PackageInformation
+}
+
+
+
+ CommonProbeProperties
+Description
+Defines the common probe properties shared across different ProbeTypes
+Fields
+Field Name | +Description | +
---|---|
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 | +
---|
+ + | +
+ + | +
+ + | +
+ + | +
Example
+ + +{
+ "probeTimeout": "abc123",
+ "interval": "abc123",
+ "retry": 123,
+ "attempt": 123,
+ "probePollingInterval": "abc123",
+ "initialDelay": "xyz789",
+ "evaluationTimeout": "abc123",
+ "stopOnFailure": false
+}
+
+
+
+ Comparator
+Description
+Defines the properties of the comparator
+Example
+ + +{
+ "type": "abc123",
+ "value": "abc123",
+ "criteria": "abc123"
+}
+
+
+
+ ComparatorInput
+Description
+Defines the input properties of the comparator
+Example
+ + +{
+ "type": "xyz789",
+ "value": "xyz789",
+ "criteria": "xyz789"
+}
+
+
+
+ ConfirmInfraRegistrationResponse
+ +CreateChaosHubRequest
+Description
+Defines the details required for creating a chaos hub
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ CreateEnvironmentRequest
+Fields
+Input Field | +Description | +
---|---|
+ environmentID - String!
+ |
+ + | +
+ name - String!
+ |
+ + | +
+ type - EnvironmentType!
+ |
+ + | +
+ description - String
+ |
+ + | +
+ tags - [String!]
+ |
+ + | +
Example
+ + +{
+ "environmentID": "xyz789",
+ "name": "abc123",
+ "type": "PROD",
+ "description": "abc123",
+ "tags": ["xyz789"]
+}
+
+
+
+ CreateRemoteChaosHub
+Example
+ + +{
+ "name": "xyz789",
+ "tags": ["abc123"],
+ "description": "abc123",
+ "repoURL": "xyz789"
+}
+
+
+
+ DateRange
+Description
+Defines the start date and end date for the filtering the data
+Example
+ + +{
+ "startDate": "abc123",
+ "endDate": "abc123"
+}
+
+
+
+ Environment
+Fields
+Field Name | +Description | +
---|---|
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"]
+}
+
+
+
+ EnvironmentFilterInput
+Description
+Defines filter options for infras
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ EnvironmentSortInput
+Description
+Defines sorting options for experiment
+Fields
+Input Field | +Description | +
---|---|
+ 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}
+
+
+
+ EnvironmentSortingField
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
Example
+ + +"NAME"
+
+
+
+ EnvironmentType
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
Example
+ + +"PROD"
+
+
+
+ ExecutedByExperiment
+Description
+Defines the Executed by which experiment details for Probes
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ ExecutionHistory
+Description
+Defines the Execution History of experiment referenced by the Probe
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ Experiment
+Description
+Defines the details for a experiment
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ ExperimentFilterInput
+Description
+Defines filter options for experiments
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ ExperimentRequest
+Example
+ + +{
+ "category": "xyz789",
+ "experimentName": "abc123",
+ "hubID": "abc123"
+}
+
+
+
+ ExperimentRun
+Description
+Defines the details of a experiment run
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ ExperimentRunFilterInput
+Description
+Defines input type for experiment run filter
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ ExperimentRunRequest
+Description
+Defines the details for a experiment run
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ ExperimentRunSortInput
+Description
+Defines sorting options for experiment runs
+Fields
+Input Field | +Description | +
---|---|
+ 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}
+
+
+
+ ExperimentRunStatus
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"All"
+
+
+
+ ExperimentSortInput
+Description
+Defines sorting options for experiment
+Fields
+Input Field | +Description | +
---|---|
+ 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}
+
+
+
+ ExperimentSortingField
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
Example
+ + +"NAME"
+
+
+
+ ExperimentType
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"All"
+
+
+
+ Experiments
+ +FaultDetails
+Description
+Fault Detail consists of all the fault related details
+Example
+ + +{
+ "fault": "abc123",
+ "engine": "xyz789",
+ "csv": "abc123"
+}
+
+
+
+ FaultList
+Example
+ + +{
+ "name": "abc123",
+ "displayName": "abc123",
+ "description": "abc123",
+ "plan": ["abc123"]
+}
+
+
+
+ Float
+Description
+The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
+ + +123.45
+
+
+
+ GET
+Description
+Details of GET request
+Example
+ + +{
+ "criteria": "xyz789",
+ "responseCode": "xyz789"
+}
+
+
+
+ GETRequest
+Description
+Details for input of GET request
+Example
+ + +{
+ "criteria": "xyz789",
+ "responseCode": "abc123"
+}
+
+
+
+ GetChaosHubStatsResponse
+Fields
+Field Name | +Description | +
---|---|
totalChaosHubs - Int!
+ |
+ Total number of chaoshubs | +
Example
+ + +{"totalChaosHubs": 987}
+
+
+
+ GetExperimentResponse
+Description
+Defines the details for a given experiment with some additional data
+Fields
+Field Name | +Description | +
---|---|
experimentDetails - Experiment!
+ |
+ Details of experiment | +
averageResiliencyScore - Float
+ |
+ Average resiliency score of the experiment | +
Example
+ + +{
+ "experimentDetails": Experiment,
+ "averageResiliencyScore": 987.65
+}
+
+
+
+ GetExperimentRunStatsResponse
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ GetExperimentStatsResponse
+Fields
+Field Name | +Description | +
---|---|
totalExperiments - Int!
+ |
+ Total number of experiments | +
totalExpCategorizedByResiliencyScore - [ResilienceScoreCategory]!
+ |
+ Total number of cron experiments | +
Example
+ + +{
+ "totalExperiments": 987,
+ "totalExpCategorizedByResiliencyScore": [
+ ResilienceScoreCategory
+ ]
+}
+
+
+
+ GetInfraStatsResponse
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ GetProbeReferenceResponse
+Description
+Defines the response of the Probe reference API
+Fields
+Field Name | +Description | +
---|---|
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]
+}
+
+
+
+ GetProbeYAMLRequest
+Description
+Defines the input requests for GetProbeYAML query
+Example
+ + +{"probeName": 4, "mode": "SOT"}
+
+
+
+ GetProbesInExperimentRunResponse
+Description
+Defines the response for Get Probe In Experiment Run Query
+Example
+ + +{
+ "probe": Probe,
+ "mode": "SOT",
+ "status": Status
+}
+
+
+
+ GitConfig
+Description
+Details of setting a Git repository
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ GitConfigResponse
+Description
+Response received after configuring GitOps
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ HubType
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
Example
+ + +"GIT"
+
+
+
+ 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
+
+
+
+ INFRA_SCOPE
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
Example
+ + +"namespace"
+
+
+
+ ImageRegistry
+Description
+Defines details for image registry
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ ImageRegistryInput
+Description
+Defines input data for querying the details of an image registry
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ ImageRegistryResponse
+Description
+Defines response data for image registry
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ Infra
+Description
+Defines the details for a infra
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ InfraActionResponse
+Fields
+Field Name | +Description | +
---|---|
projectID - String!
+ |
+ + | +
action - ActionPayload!
+ |
+ + | +
Example
+ + +{
+ "projectID": "abc123",
+ "action": ActionPayload
+}
+
+
+
+ InfraEventResponse
+Example
+ + +{
+ "eventID": 4,
+ "eventType": "xyz789",
+ "eventName": "xyz789",
+ "description": "abc123",
+ "infra": Infra
+}
+
+
+
+ InfraFilterInput
+Description
+Defines filter options for infras
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ InfraIdentity
+ +InfraVersionDetails
+Description
+InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported
+Fields
+Field Name | +Description | +
---|---|
latestVersion - String!
+ |
+ Latest infra version supported | +
compatibleVersions - [String!]!
+ |
+ List of all infra versions supported | +
Example
+ + +{
+ "latestVersion": "abc123",
+ "compatibleVersions": ["xyz789"]
+}
+
+
+
+ InfrastructureType
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
Example
+ + +"Kubernetes"
+
+
+
+ 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
+
+
+
+ K8SProbe
+Description
+Defines the K8S probe properties
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ K8SProbeRequest
+Description
+Defines the input for K8S probe properties
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ KubeGVRRequest
+ +KubeObject
+Description
+KubeObject consists of the namespace and the available resources in the same
+Fields
+Field Name | +Description | +
---|---|
namespace - String!
+ |
+ Namespace of the resource | +
data - [ObjectData]!
+ |
+ Details of the resource | +
Example
+ + +{
+ "namespace": "xyz789",
+ "data": [ObjectData]
+}
+
+
+
+ KubeObjectData
+Description
+Defines the details of Kubernetes object
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ KubeObjectRequest
+Description
+Defines details for fetching Kubernetes object data
+Fields
+Input Field | +Description | +
---|---|
+ 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]
+}
+
+
+
+ KubeObjectResponse
+Description
+Response received for querying Kubernetes Object
+Fields
+Field Name | +Description | +
---|---|
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]}
+
+
+
+ KubernetesCMDProbe
+Description
+Defines the CMD probe properties
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ KubernetesCMDProbeRequest
+Description
+Defines the input for Kubernetes CMD probe properties
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ KubernetesHTTPProbe
+Description
+Defines the Kubernetes HTTP probe properties
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ KubernetesHTTPProbeRequest
+Description
+Defines the input for Kubernetes HTTP probe properties
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ Link
+ +ListChaosHubRequest
+Fields
+Input Field | +Description | +
---|---|
+ chaosHubIDs - [ID!]
+ |
+ Array of ChaosHub IDs for which details will be fetched | +
+ filter - ChaosHubFilterInput
+ |
+ Details for fetching filtered data | +
Example
+ + +{"chaosHubIDs": [4], "filter": ChaosHubFilterInput}
+
+
+
+ ListEnvironmentRequest
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ ListEnvironmentResponse
+Fields
+Field Name | +Description | +
---|---|
totalNoOfEnvironments - Int!
+ |
+ Total number of environment | +
environments - [Environment]
+ |
+ + | +
Example
+ + +{
+ "totalNoOfEnvironments": 123,
+ "environments": [Environment]
+}
+
+
+
+ ListExperimentRequest
+Description
+Defines the details for a experiment
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ ListExperimentResponse
+Description
+Defines the details for a experiment with total experiment count
+Fields
+Field Name | +Description | +
---|---|
totalNoOfExperiments - Int!
+ |
+ Total number of experiments | +
experiments - [Experiment]!
+ |
+ Details related to the experiments | +
Example
+ + +{"totalNoOfExperiments": 123, "experiments": [Experiment]}
+
+
+
+ ListExperimentRunRequest
+Description
+Defines the details for experiment runs
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ ListExperimentRunResponse
+Description
+Defines the details of a experiment to sent as response
+Fields
+Field Name | +Description | +
---|---|
totalNoOfExperimentRuns - Int!
+ |
+ Total number of experiment runs | +
experimentRuns - [ExperimentRun]!
+ |
+ Defines details of experiment runs | +
Example
+ + +{
+ "totalNoOfExperimentRuns": 123,
+ "experimentRuns": [ExperimentRun]
+}
+
+
+
+ ListInfraRequest
+Description
+Defines the details for a infra
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ ListInfraResponse
+Description
+Defines the details for a infras with total infras count
+Example
+ + +{"totalNoOfInfras": 987, "infras": [Infra]}
+
+
+
+ Maintainer
+ +Metadata
+Fields
+Field Name | +Description | +
---|---|
name - String!
+ |
+ + | +
version - String!
+ |
+ + | +
annotations - Annotation!
+ |
+ + | +
Example
+ + +{
+ "name": "abc123",
+ "version": "xyz789",
+ "annotations": Annotation
+}
+
+
+
+ Method
+ +MethodRequest
+Description
+Defines the input for methods of the probe properties
+Fields
+Input Field | +Description | +
---|---|
+ get - GETRequest
+ |
+ A GET request | +
+ post - POSTRequest
+ |
+ A POST request | +
Example
+ + +{
+ "get": GETRequest,
+ "post": POSTRequest
+}
+
+
+
+ Mode
+Description
+Defines the different modes of Probes
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"SOT"
+
+
+
+ ObjectData
+ +POST
+Description
+Details of POST request
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ POSTRequest
+Description
+Details for input of the POST request
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ PROMProbe
+Description
+Defines the PROM probe properties
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ PROMProbeRequest
+Description
+Defines the input for PROM probe properties
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ PackageInformation
+Fields
+Field Name | +Description | +
---|---|
packageName - String!
+ |
+ + | +
experiments - [Experiments!]!
+ |
+ + | +
Example
+ + +{
+ "packageName": "xyz789",
+ "experiments": [Experiments]
+}
+
+
+
+ Pagination
+Description
+Defines data required to fetch paginated data
+Example
+ + +{"page": 987, "limit": 987}
+
+
+
+ PodLog
+Description
+Response received for querying pod logs
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ PodLogRequest
+Description
+Defines the details for fetching the pod logs
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ PodLogResponse
+Description
+Defines the response received for querying querying the pod logs
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ PredefinedExperimentList
+Example
+ + +{
+ "experimentName": "xyz789",
+ "experimentCSV": "xyz789",
+ "experimentManifest": "abc123"
+}
+
+
+
+ Probe
+Description
+Defines the details of the Probe entity
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ ProbeFilterInput
+Description
+Defines the input for Probe filter
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ ProbeRecentExecutions
+Description
+Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time
+Fields
+Field Name | +Description | +
---|---|
faultName - String!
+ |
+ Fault name | +
status - Status!
+ |
+ Fault Status | +
executedByExperiment - ExecutedByExperiment!
+ |
+ Fault executed by which experiment | +
Example
+ + +{
+ "faultName": "abc123",
+ "status": Status,
+ "executedByExperiment": ExecutedByExperiment
+}
+
+
+
+ ProbeRequest
+Description
+Defines the details required for creating a Chaos Probe
+Fields
+Input Field | +Description | +
---|---|
+ 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
+}
+
+
+
+ ProbeType
+Description
+Defines the different types of Probes
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"httpProbe"
+
+
+
+ ProbeVerdict
+Description
+Defines the older different statuses of Probes
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"Passed"
+
+
+
+ Provider
+Fields
+Field Name | +Description | +
---|---|
name - String!
+ |
+ + | +
Example
+ + +{"name": "xyz789"}
+
+
+
+ RecentExecutions
+Description
+Defines the Recent Executions of experiment referenced by the Probe
+Fields
+Field Name | +Description | +
---|---|
faultName - String!
+ |
+ Fault name | +
mode - Mode!
+ |
+ Probe mode | +
executionHistory - [ExecutionHistory!]!
+ |
+ Execution History | +
Example
+ + +{
+ "faultName": "xyz789",
+ "mode": "SOT",
+ "executionHistory": [ExecutionHistory]
+}
+
+
+
+ RecentExperimentRun
+Fields
+Field Name | +Description | +
---|---|
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
+}
+
+
+
+ RegisterInfraRequest
+Description
+Defines the details for the new infra being connected
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ RegisterInfraResponse
+Description
+Response received for registering a new infra
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ ResilienceScoreCategory
+ +ResourceDetails
+Fields
+Field Name | +Description | +
---|---|
name - String!
+ |
+ + | +
description - String
+ |
+ + | +
tags - [String!]
+ |
+ + | +
Possible Types
+ResourceDetails Types | +
---|
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
+ + | +
Example
+ + +{
+ "name": "abc123",
+ "description": "abc123",
+ "tags": ["abc123"]
+}
+
+
+
+ RunChaosExperimentResponse
+Fields
+Field Name | +Description | +
---|---|
notifyID - ID!
+ |
+ + | +
Example
+ + +{"notifyID": 4}
+
+
+
+ SSHKey
+Description
+Defines the SSHKey details
+Example
+ + +{
+ "publicKey": "abc123",
+ "privateKey": "abc123"
+}
+
+
+
+ SaveChaosExperimentRequest
+Description
+Defines the details for a chaos experiment
+Fields
+Input Field | +Description | +
---|---|
+ 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"]
+}
+
+
+
+ ScheduleType
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"CRON"
+
+
+
+ ServerVersionResponse
+Description
+Response received for fetching GQL server version
+Example
+ + +{
+ "key": "abc123",
+ "value": "abc123"
+}
+
+
+
+ Spec
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ Status
+Description
+Status defines whether a probe is pass or fail
+Fields
+Field Name | +Description | +
---|---|
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"
+}
+
+
+
+ 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"
+
+
+
+ Toleration
+Example
+ + +{
+ "tolerationSeconds": 987,
+ "key": "abc123",
+ "operator": "xyz789",
+ "effect": "abc123",
+ "value": "xyz789"
+}
+
+
+
+ UpdateChaosHubRequest
+Fields
+Input Field | +Description | +
---|---|
+ 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"
+}
+
+
+
+ UpdateEnvironmentRequest
+Fields
+Input Field | +Description | +
---|---|
+ environmentID - String!
+ |
+ + | +
+ name - String
+ |
+ + | +
+ description - String
+ |
+ + | +
+ tags - [String]
+ |
+ + | +
+ type - EnvironmentType
+ |
+ + | +
Example
+ + +{
+ "environmentID": "xyz789",
+ "name": "abc123",
+ "description": "xyz789",
+ "tags": ["xyz789"],
+ "type": "PROD"
+}
+
+
+
+ UpdateStatus
+Description
+UpdateStatus represents if infra needs to be updated
+Values
+Enum Value | +Description | +
---|---|
+
|
+ + | +
+
|
+ + | +
+
|
+ + | +
Example
+ + +"AVAILABLE"
+
+
+
+ UserDetails
+ +Weightages
+Description
+Defines the details of the weightages of each chaos fault in the experiment
+Example
+ + +{"faultName": "xyz789", "weightage": 123}
+
+
+
+ WeightagesInput
+Description
+Defines the details of the weightages of each chaos fault in the experiment
+Example
+ + +{"faultName": "xyz789", "weightage": 123}
+
+
+
+