Harness Chaos Engineering API Documentation
Harness Chaos Engineering empowers teams to deliver more resilient systems, helping organizations avoid downtime that can be costly, both financially and in lost reputation. It enables DevOps and SRE teams to purposely create failure scenarios (“chaos”) to identify potential resiliency and reliability issues in their deployments. These scenarios go beyond traditional unit, integration, and system tests, more closely representing what random failures in a production operating environment would look like.
Terms of Service
API Endpoints
# Production:
https://app.harness.io/gateway/chaos/manager/api/query
Headers
# Use your API key token for authorization
X-API-KEY: <YOUR_API_KEY_TOKEN_HERE>
# Or use your JWT token for authorization
Authorization: <YOUR_JWT_TOKEN_HERE>
Your First Chaos Experiment
NOTE: These steps assumes you already have an account in Harness, if not, please create a new project or ask your administrator to add you to an existing project in Harness.
Please follow the below guidelines to run your first Chaos experiment Pod Delete:
Sequence in which the APIs should be executed to run a sample chaos experiment such as Pod Delete (all the APIs to do so are present in folder "Run Pod Delete Chaos Experiment" under Harness CE Postman Collection).
Listed below are the required inputs and how to access (or generate) them. We will refer these variables in the API requests explained in this tutorial -
url
This is the Harness CE server URL serving the Chaos API requests. You can find this URL in the Chaos API doc(top right
). For instance, https://app.harness.io/gateway/chaos/manager/api/query is the Harness CE server URL for production environment. If you are using Chaos postman collection, this value will be pre-filled in 2 postman variables like below:
base_url - https://app.harness.io
chaos_url - $base_url/gateway/chaos/manager/api/query
account_id
This is your Harness account Id. Please use the account where you would like to run Chaos experiments.
You can retrieve your account Id by following the below steps:
- Go to
ACCOUNT SETTINGS
in Harness. - Click on
Overview
. - Copy the value of
Account Id
.
project_id
This is your Harness project Id. Please use the project where you would like to run Chaos experiments.
You can retrieve your project Id by following the below steps:
- Go to
Projects
in Harness. - Select the project where you would like to run the Chaos experiments or create a new project.
- Click on
Overview
. - Copy the value of
Id
. - Please make sure to copy the value of
Organization
as well, this will be the value of next required variableorg_id
.
org_id
This is your Harness organization Id. Please use the organization where you would like to run Chaos experiments.
You can retrieve your organization Id by following the below steps: See above step to retrieve project_id - you would have copied the value of org_id as well in that step, if not please follow the same steps again to retrieve organization Id
API-KEY-TOKEN
You can use an existing Harness API key token of the same Harness account selected in above steps or you can create a new one by following the below steps:
- Click on
MY PROFILE
in Harness. - Go to
My API Keys
section and click on+ API Key
button to create a new API Key. - Enter a
Name
for the API Key(optional Description/Tags) and click onSave
. - Under the newly created API Key, click on
+ Token
button to generate a new token for this API Key. - Enter the
Name
and select theExpiration
(time for which this token will be valid) and click onGenerate Token
. - Please make sure to copy the value of the token generated and store somewhere safe, you may not be able to copy this later.
Variables In Harness CE Postman Collection
In order to work with Harness CE Postman Collection, please fork it under your own Postman account and update the above-mentioned variables in order to work with Harness CE Postman Collection.
Authorization Header For API Request
An authorization header with API-KEY-TOKEN value retrieved above is required to work with Chaos APIs i.e., x-api-key: $API-KEY-TOKEN
APIs to be executed in given sequence:
RegisterInfra
Now, we can create/register a chaos infrastructure. Here, we will add a Kubernetes infrastructure so that we can inject Kubernetes resource faults.
Add a name to your chaos infrastructure and optionally a description and tags. After that, choose the mode of installation for Harness delegate. As a quick primer, Harness delegate is a remote agent for accessing your Kubernetes cluster resources and injecting faults into them as part of a chaos experiment. The Cluster Wide installation mode allows you to target resources across all the namespaces in your cluster while Namespace Mode installation restricts chaos injection to only the namespace in which the delegate will be installed. In this tutorial, the delegate will be installed in the hce namespace with Cluster Wide mode, but you can change it.
NOTE: Above values are pre-filled in Harness CE Postman Collection.
Please make sure to note down the value of field token
and infraID
from response, these values will be used in subsequent API calls.
Once above request is executed, retrieve the infrastructure manifest by forming URL as shown below: $chaos_server_url/file/$token.yaml
where $chaos_server_url
would be https://app.harness.io/gateway/chaos/manager/api/
and $token
is the token value retrieved in response of registerInfra
API call as shown in sample response above. An example URL to retrieve infrastructure manifest could look like https://app.harness.io/gateway/chaos/manager/api/file/token-abc.yaml
, copy and save the yaml in a machine where kubectl is installed and has access to your k8s cluster in some file named infra.yaml
.
Lastly, provided that you have access to your Kubernetes cluster via kubectl, deploy your chaos infrastructure by executing the below commands - kubectl apply -f infra.yaml
It will take a while for the delegate to setup in the k8s cluster. Meanwhile, if you want to check the status of your infra, please use the API GetInfraDetails
as explained below.
GetInfraDetails
Optional - If you want to get the details of your newly registered infra or to check if your infra is active or not before creating a Chaos workflow, you can use GetInfraDetails
API - It will return the details of a given infra based on infra ID input. Please make sure to check the value of field isActive
, it should be true
i.e., the infrastructure should be in active
state prior to moving forward.
NOTE: Above values are pre-filled in Harness CE Postman Collection.
ListPredefinedWorkflow
Optional - Required if and only if you want to run a different chaos experiment other than pod-delete, by default, pod delete experiment manifest is present in CreateChaosWorkFlow
API call) - This will list down all the available predefined workflows/experiments that can be run on your infra, please select one of them and copy the manifest from there and make necessary changes such as namespace, etc.
CreateChaosWorkFlow
Please make sure to deploy some sample target application under hce
namespace with label app=cartservice
prior to running this API. With our target application deployed, we can now create a chaos experiment. We will be targeting the pods of the deployed app with the Pod Delete fault. To create the chaos experiment, Add the experiment name and optionally a description and tags. Then, Add the target infrastructure id, which we created previously.
This will allow us to create our chaos experiment with a pod-delete fault configured to target the Online Boutique application.
NOTE: In order to run this API using Harness CE Postman Collection, you just need to update the value of variable infraID
retrieved during registerInfra
API call. The value for workflowManifest
field is pre-filled in the Harness CE postman collection, user does not need to update in case they want to target an application under hce
namespace with label app=cartservice
mentioned in this tutorial.
RunChaosExperiment
Once a workflow is created, you can now execute the experiment by providing the workflow id
from CreateChaosWorkFlow
API call. NOTE: Please note down the value of field notifyID
.
ListWorkflowRun
Optional - Required only if you want to check the details of the workflow currently running - details can be validated by UI as well if user prefers to do so) - It will list down all the workflow runs with the required details for those workflows, this API call can be used to validate if the workflow created by RunChaosExperiment
API call is running or not, completed, etc using the field phase
.
Let's go to Harness CE Postman Collection to see this in action.
Queries
checkResourceID
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - CheckResourceIDRequest!
|
Example
Query
query CheckResourceID(
$identifiers: IdentifiersRequest!,
$request: CheckResourceIDRequest!
) {
checkResourceID(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": CheckResourceIDRequest
}
Response
{"data": {"checkResourceID": {}}}
getChaosFault
Description
Get the fault details for a requested fault
Response
Returns a FaultDetails!
Arguments
Name | Description |
---|---|
request - ExperimentRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetChaosFault(
$request: ExperimentRequest!,
$identifiers: IdentifiersRequest!
) {
getChaosFault(
request: $request,
identifiers: $identifiers
) {
fault
engine
csv
}
}
Variables
{
"request": ExperimentRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getChaosFault": {
"fault": "xyz789",
"engine": "abc123",
"csv": "xyz789"
}
}
}
getChaosHub
Description
Get the details of a requested ChaosHub
Response
Returns a ChaosHubStatus!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
chaosHubID - String!
|
Example
Query
query GetChaosHub(
$identifiers: IdentifiersRequest!,
$chaosHubID: String!
) {
getChaosHub(
identifiers: $identifiers,
chaosHubID: $chaosHubID
) {
id
repoName
repoURL
repoBranch
connectorId
connectorScope
AuthType
isAvailable
totalExp
totalWorkflows
name
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
description
}
}
Variables
{
"identifiers": IdentifiersRequest,
"chaosHubID": "xyz789"
}
Response
{
"data": {
"getChaosHub": {
"id": 4,
"repoName": "abc123",
"repoURL": "abc123",
"repoBranch": "xyz789",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"AuthType": "Ssh",
"isAvailable": true,
"totalExp": "abc123",
"totalWorkflows": "abc123",
"name": "xyz789",
"lastSyncedAt": "xyz789",
"isDefault": false,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "abc123",
"description": "abc123"
}
}
}
getExperiment
Description
Returns the experiment based on experiment ID
Response
Returns a GetExperimentResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
experimentID - String!
|
Example
Query
query GetExperiment(
$identifiers: IdentifiersRequest!,
$experimentID: String!
) {
getExperiment(
identifiers: $identifiers,
experimentID: $experimentID
) {
experimentDetails {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowID
workflowType
workflowManifest
cronSyntax
name
description
weightages {
experimentName
weightage
}
isCustomWorkflow
updatedAt
createdAt
infra {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
}
isRemoved
tags
createdBy {
userID
username
email
}
recentWorkflowRunDetails {
workflowRunID
notifyID
phase
resiliencyScore
updatedAt
createdAt
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
}
eventsMetadata {
faultName
serviceIdentifier
environmentIdentifier
}
updatedBy {
userID
username
email
}
}
averageResiliencyScore
}
}
Variables
{
"identifiers": IdentifiersRequest,
"experimentID": "abc123"
}
Response
{
"data": {
"getExperiment": {
"experimentDetails": Workflow,
"averageResiliencyScore": 987.65
}
}
}
getExperimentRun
Description
Returns experiment run based on experiment run ID
Response
Returns a WorkflowRun!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
experimentRunID - String!
|
Example
Query
query GetExperimentRun(
$identifiers: IdentifiersRequest!,
$experimentRunID: String!
) {
getExperimentRun(
identifiers: $identifiers,
experimentRunID: $experimentRunID
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowRunID
workflowType
workflowID
weightages {
experimentName
weightage
}
updatedAt
createdAt
infra {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
}
workflowName
workflowManifest
phase
resiliencyScore
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
totalExperiments
executionData
isRemoved
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
notifyID
}
}
Variables
{
"identifiers": IdentifiersRequest,
"experimentRunID": "abc123"
}
Response
{
"data": {
"getExperimentRun": {
"identifiers": Identifiers,
"workflowRunID": 4,
"workflowType": "xyz789",
"workflowID": "4",
"weightages": [Weightages],
"updatedAt": "abc123",
"createdAt": "xyz789",
"infra": Infra,
"workflowName": "abc123",
"workflowManifest": "abc123",
"phase": "All",
"resiliencyScore": 987.65,
"experimentsPassed": 987,
"experimentsFailed": 123,
"experimentsAwaited": 987,
"experimentsStopped": 123,
"experimentsNa": 987,
"totalExperiments": 987,
"executionData": "abc123",
"isRemoved": false,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"notifyID": "4"
}
}
}
getGameDay
Response
Returns a GetGameDayResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
gamedayID - String!
|
Example
Query
query GetGameDay(
$identifiers: IdentifiersRequest!,
$gamedayID: String!
) {
getGameDay(
identifiers: $identifiers,
gamedayID: $gamedayID
) {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
experiments {
experimentID
experimentTemplateName
chaosInfra {
ID
type
name
environmentID
namespace
scope
isActive
}
hubID
experimentNotes
experimentCSV
experimentManifest
}
objective
description
createdBy {
userID
username
email
}
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
totalGamedayRuns
}
}
Variables
{
"identifiers": IdentifiersRequest,
"gamedayID": "xyz789"
}
Response
{
"data": {
"getGameDay": {
"gameDayID": 4,
"identifiers": Identifiers,
"name": "abc123",
"experiments": [GetGamedayExperimentResponse],
"objective": "xyz789",
"description": "abc123",
"createdBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": true,
"totalGamedayRuns": 123
}
}
}
getGameDayRun
Response
Returns a GameDayRunResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
gamedayRunID - String!
|
Example
Query
query GetGameDayRun(
$identifiers: IdentifiersRequest!,
$gamedayRunID: String!
) {
getGameDayRun(
identifiers: $identifiers,
gamedayRunID: $gamedayRunID
) {
gameDayRunID
name
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
experimentRunIDs
experimentNotes
}
startTime
endTime
notes
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
updatedAt
createdAt
completed
}
}
Variables
{
"identifiers": IdentifiersRequest,
"gamedayRunID": "xyz789"
}
Response
{
"data": {
"getGameDayRun": {
"gameDayRunID": "xyz789",
"name": "abc123",
"gameDayID": "xyz789",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "abc123",
"endTime": "xyz789",
"notes": "abc123",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "abc123",
"createdAt": "abc123",
"completed": true
}
}
}
getInfra
Description
Returns infra with a particular infraID in the project
Response
Returns an Infra!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraID - String!
|
Example
Query
query GetInfra(
$identifiers: IdentifiersRequest!,
$infraID: String!
) {
getInfra(
identifiers: $identifiers,
infraID: $infraID
) {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
}
}
Variables
{
"identifiers": IdentifiersRequest,
"infraID": "xyz789"
}
Response
{
"data": {
"getInfra": {
"infraID": "4",
"name": "abc123",
"description": "xyz789",
"tags": ["xyz789"],
"environmentID": "xyz789",
"platformName": "abc123",
"isActive": false,
"isInfraConfirmed": true,
"isRemoved": false,
"updatedAt": "abc123",
"createdAt": "abc123",
"noOfSchedules": 123,
"noOfWorkflows": 987,
"token": "abc123",
"infraNamespace": "abc123",
"serviceAccount": "abc123",
"infraScope": "namespace",
"infraNsExists": false,
"infraSaExists": false,
"installationType": "CONNECTOR",
"k8sConnectorID": "xyz789",
"lastWorkflowTimestamp": "abc123",
"startTime": "xyz789",
"version": "abc123",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "xyz789",
"infraType": "Kubernetes",
"updateStatus": "AVAILABLE"
}
}
}
getInfraManifest
Description
Returns the manifest for a given infraID
Response
Returns a String!
Arguments
Name | Description |
---|---|
infraID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetInfraManifest(
$infraID: String!,
$identifiers: IdentifiersRequest!
) {
getInfraManifest(
infraID: $infraID,
identifiers: $identifiers
)
}
Variables
{
"infraID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{"data": {"getInfraManifest": {}}}
getInfraStats
Description
Query to get experiment stats
Response
Returns a GetInfraStatsResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetInfraStats($identifiers: IdentifiersRequest!) {
getInfraStats(identifiers: $identifiers) {
totalInfrastructures
totalActiveInfrastructure
totalInactiveInfrastructures
totalConfirmedInfrastructure
totalNonConfirmedInfrastructures
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getInfraStats": {
"totalInfrastructures": 123,
"totalActiveInfrastructure": 123,
"totalInactiveInfrastructures": 987,
"totalConfirmedInfrastructure": 987,
"totalNonConfirmedInfrastructures": 987
}
}
}
getLinuxInfraDetails
Description
Returns infra details based on identifiers
Response
Returns a LinuxInfra!
Arguments
Name | Description |
---|---|
infraID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetLinuxInfraDetails(
$infraID: String!,
$identifiers: IdentifiersRequest!
) {
getLinuxInfraDetails(
infraID: $infraID,
identifiers: $identifiers
) {
infraID
name
description
tags
environmentID
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
hostname
}
}
Variables
{
"infraID": "abc123",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getLinuxInfraDetails": {
"infraID": "4",
"name": "xyz789",
"description": "abc123",
"tags": ["xyz789"],
"environmentID": "xyz789",
"isActive": true,
"isInfraConfirmed": true,
"isRemoved": false,
"updatedAt": "xyz789",
"createdAt": "xyz789",
"noOfSchedules": 123,
"noOfWorkflows": 987,
"lastWorkflowTimestamp": "xyz789",
"startTime": "abc123",
"version": "abc123",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "abc123",
"hostname": "xyz789"
}
}
}
getPredefinedWorkflow
Description
Returns predefined experiment details of selected experiments
Response
Returns [PredefinedWorkflowList!]!
Arguments
Name | Description |
---|---|
hubID - String!
|
|
experimentName - [String!]!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetPredefinedWorkflow(
$hubID: String!,
$experimentName: [String!]!,
$identifiers: IdentifiersRequest!
) {
getPredefinedWorkflow(
hubID: $hubID,
experimentName: $experimentName,
identifiers: $identifiers
) {
workflowName
workflowCSV
workflowManifest
}
}
Variables
{
"hubID": "xyz789",
"experimentName": ["abc123"],
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getPredefinedWorkflow": [
{
"workflowName": "xyz789",
"workflowCSV": "xyz789",
"workflowManifest": "abc123"
}
]
}
}
getProbe
Description
Returns a single Probe based on ProbeID and various filter parameters
Response
Returns a Probe!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
probeID - ID!
|
Example
Query
query GetProbe(
$identifiers: IdentifiersRequest!,
$probeID: ID!
) {
getProbe(
identifiers: $identifiers,
probeID: $probeID
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
probeId
name
description
tags
type
httpProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
url
method {
get {
criteria
responseCode
}
post {
contentType
body
bodyPath
criteria
responseCode
}
}
responseTimeout
insecureSkipVerify
}
cmdProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
command
comparator {
type
value
criteria
}
source {
image
hostNetwork
inheritInputs
args
envList {
name
value
valueFrom {
fieldRef {
...ObjectFieldSelectorFragment
}
resourceFieldRef {
...ResourceFieldSelectorFragment
}
configMapKeyRef {
...ConfigMapKeySelectorFragment
}
secretKeyRef {
...SecretKeySelectorFragment
}
}
}
labels
command
imagePullPolicy
privileged
nodeSelector
volumes {
name
volumeSource {
hostPath {
...HostPathVolumeSourceFragment
}
emptyDir {
...EmptyDirVolumeSourceFragment
}
gcePersistentDisk {
...GCEPersistentDiskVolumeSourceFragment
}
awsElasticBlockStore {
...AWSElasticBlockStoreVolumeSourceFragment
}
gitRepo {
...GitRepoVolumeSourceFragment
}
secret {
...SecretVolumeSourceFragment
}
nfs {
...NFSVolumeSourceFragment
}
iscsi {
...ISCSIVolumeSourceFragment
}
glusterfs {
...GlusterfsVolumeSourceFragment
}
persistentVolumeClaim {
...PersistentVolumeClaimVolumeSourceFragment
}
rbd {
...RBDVolumeSourceFragment
}
flexVolume {
...FlexVolumeSourceFragment
}
cinder {
...CinderVolumeSourceFragment
}
cephFS {
...CephFSPersistentVolumeSourceFragment
}
flocker {
...FlockerVolumeSourceFragment
}
downwardAPI {
...DownwardAPIVolumeSourceFragment
}
fc {
...FCVolumeSourceFragment
}
azureFile {
...AzureFileVolumeSourceFragment
}
configMap {
...ConfigMapVolumeSourceFragment
}
vsphereVolume {
...VsphereVirtualDiskVolumeSourceFragment
}
quobyte {
...QuobyteVolumeSourceFragment
}
azureDisk {
...AzureDiskVolumeSourceFragment
}
photonPersistentDisk {
...PhotonPersistentDiskVolumeSourceFragment
}
projected {
...ProjectedVolumeSourceFragment
}
portworxVolume {
...PortworxVolumeSourceFragment
}
scaleIO {
...ScaleIOVolumeSourceFragment
}
storageOS {
...ScaleIOPersistentVolumeSourceFragment
}
csi {
...CSIVolumeSourceFragment
}
ephemeral {
...EphemeralVolumeSourceFragment
}
}
}
volumesMount {
name
readOnly
mountPath
subPath
mountPropagation
subPathExpr
}
imagePullSecrets {
name
}
}
}
k8sProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
group
version
resource
namespace
fieldSelector
labelSelector
operation
data
}
promProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
}
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
}
Variables
{"identifiers": IdentifiersRequest, "probeID": 4}
Response
{
"data": {
"getProbe": {
"identifiers": Identifiers,
"probeId": "abc123",
"name": "abc123",
"description": "abc123",
"tags": ["abc123"],
"type": "Default",
"httpProperties": HTTPProbe,
"cmdProperties": CMDProbe,
"k8sProperties": K8SProbe,
"promProperties": PROMProbe,
"updatedAt": "xyz789",
"createdAt": "abc123",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
}
}
getProbeYAML
Description
Returns the Probe YAML based on ProbeID which can be used in ChaosEngine manifest
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - GetProbeYAMLRequest!
|
Example
Query
query GetProbeYAML(
$identifiers: IdentifiersRequest!,
$request: GetProbeYAMLRequest!
) {
getProbeYAML(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": GetProbeYAMLRequest
}
Response
{"data": {"getProbeYAML": {}}}
getVersionDetails
Description
Query to get the latest version of infra available
Response
Returns an InfraVersionDetails!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetVersionDetails($identifiers: IdentifiersRequest!) {
getVersionDetails(identifiers: $identifiers) {
latestVersion
compatibleVersions
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getVersionDetails": {
"latestVersion": "abc123",
"compatibleVersions": ["xyz789"]
}
}
}
listChaosFaults
Description
List the Faults from a ChaosHub
Response
Returns [Chart!]!
Arguments
Name | Description |
---|---|
hubID - String!
|
|
executionPlane - ExecutionPlane
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query ListChaosFaults(
$hubID: String!,
$executionPlane: ExecutionPlane,
$identifiers: IdentifiersRequest!
) {
listChaosFaults(
hubID: $hubID,
executionPlane: $executionPlane,
identifiers: $identifiers
) {
apiVersion
kind
metadata {
name
version
annotations {
categories
vendor
createdAt
repository
support
chartDescription
}
}
spec {
displayName
categoryDescription
keywords
maturity
maintainers {
name
email
}
minKubeVersion
provider {
name
}
links {
name
url
}
faults {
name
displayName
description
plan
}
experiments
chaosExpCRDLink
platforms
chaosType
}
packageInfo {
packageName
experiments {
name
CSV
desc
}
}
}
}
Variables
{
"hubID": "xyz789",
"executionPlane": "LINUX",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"listChaosFaults": [
{
"apiVersion": "abc123",
"kind": "abc123",
"metadata": Metadata,
"spec": Spec,
"packageInfo": PackageInformation
}
]
}
}
listChaosHub
Description
Get the status of all the connected ChaosHub
Response
Returns [ChaosHubStatus]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListChaosHubRequest
|
Example
Query
query ListChaosHub(
$identifiers: IdentifiersRequest!,
$request: ListChaosHubRequest
) {
listChaosHub(
identifiers: $identifiers,
request: $request
) {
id
repoName
repoURL
repoBranch
connectorId
connectorScope
AuthType
isAvailable
totalExp
totalWorkflows
name
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
description
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListChaosHubRequest
}
Response
{
"data": {
"listChaosHub": [
{
"id": 4,
"repoName": "abc123",
"repoURL": "abc123",
"repoBranch": "xyz789",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"AuthType": "Ssh",
"isAvailable": true,
"totalExp": "xyz789",
"totalWorkflows": "abc123",
"name": "abc123",
"lastSyncedAt": "abc123",
"isDefault": true,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "abc123",
"description": "xyz789"
}
]
}
}
listGameDay
Response
Returns a ListGamedayResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListGameDayRequest
|
Example
Query
query ListGameDay(
$identifiers: IdentifiersRequest!,
$request: ListGameDayRequest
) {
listGameDay(
identifiers: $identifiers,
request: $request
) {
totalNoOfGamedays
gamedays {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
tags
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
}
objective
description
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListGameDayRequest
}
Response
{
"data": {
"listGameDay": {
"totalNoOfGamedays": 987,
"gamedays": [GameDayResponse]
}
}
}
listGameDayRuns
Response
Returns [GameDayRunResponse]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListGameDayRunsRequest
|
Example
Query
query ListGameDayRuns(
$identifiers: IdentifiersRequest!,
$request: ListGameDayRunsRequest
) {
listGameDayRuns(
identifiers: $identifiers,
request: $request
) {
gameDayRunID
name
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
experimentRunIDs
experimentNotes
}
startTime
endTime
notes
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
updatedAt
createdAt
completed
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListGameDayRunsRequest
}
Response
{
"data": {
"listGameDayRuns": [
{
"gameDayRunID": "xyz789",
"name": "abc123",
"gameDayID": "xyz789",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "xyz789",
"endTime": "abc123",
"notes": "abc123",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "xyz789",
"createdAt": "abc123",
"completed": false
}
]
}
}
listInfras
Description
Returns infras with a particular infra type in the project
Response
Returns a ListInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListInfraRequest
|
Example
Query
query ListInfras(
$identifiers: IdentifiersRequest!,
$request: ListInfraRequest
) {
listInfras(
identifiers: $identifiers,
request: $request
) {
totalNoOfInfras
infras {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListInfraRequest
}
Response
{
"data": {
"listInfras": {
"totalNoOfInfras": 987,
"infras": [Infra]
}
}
}
listLinuxInfras
Description
Returns infras with a particular infra type in the project
Response
Returns a ListLinuxInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListLinuxInfraRequest
|
Example
Query
query ListLinuxInfras(
$identifiers: IdentifiersRequest!,
$request: ListLinuxInfraRequest
) {
listLinuxInfras(
identifiers: $identifiers,
request: $request
) {
totalNoOfInfras
infras {
infraID
name
description
tags
environmentID
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
hostname
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListLinuxInfraRequest
}
Response
{
"data": {
"listLinuxInfras": {
"totalNoOfInfras": 123,
"infras": [LinuxInfra]
}
}
}
listPredefinedWorkflow
Description
Returns the list of predefined workflows in a project
Response
Returns [PredefinedWorkflowList!]!
Arguments
Name | Description |
---|---|
hubID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query ListPredefinedWorkflow(
$hubID: String!,
$identifiers: IdentifiersRequest!
) {
listPredefinedWorkflow(
hubID: $hubID,
identifiers: $identifiers
) {
workflowName
workflowCSV
workflowManifest
}
}
Variables
{
"hubID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"listPredefinedWorkflow": [
{
"workflowName": "xyz789",
"workflowCSV": "xyz789",
"workflowManifest": "abc123"
}
]
}
}
listProbes
Description
Returns the list of Probes based on various filter parameters
Response
Returns [Probe]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
probeIDs - [ID!]
|
Example
Query
query ListProbes(
$identifiers: IdentifiersRequest!,
$probeIDs: [ID!]
) {
listProbes(
identifiers: $identifiers,
probeIDs: $probeIDs
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
probeId
name
description
tags
type
httpProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
url
method {
get {
criteria
responseCode
}
post {
contentType
body
bodyPath
criteria
responseCode
}
}
responseTimeout
insecureSkipVerify
}
cmdProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
command
comparator {
type
value
criteria
}
source {
image
hostNetwork
inheritInputs
args
envList {
name
value
valueFrom {
fieldRef {
...ObjectFieldSelectorFragment
}
resourceFieldRef {
...ResourceFieldSelectorFragment
}
configMapKeyRef {
...ConfigMapKeySelectorFragment
}
secretKeyRef {
...SecretKeySelectorFragment
}
}
}
labels
command
imagePullPolicy
privileged
nodeSelector
volumes {
name
volumeSource {
hostPath {
...HostPathVolumeSourceFragment
}
emptyDir {
...EmptyDirVolumeSourceFragment
}
gcePersistentDisk {
...GCEPersistentDiskVolumeSourceFragment
}
awsElasticBlockStore {
...AWSElasticBlockStoreVolumeSourceFragment
}
gitRepo {
...GitRepoVolumeSourceFragment
}
secret {
...SecretVolumeSourceFragment
}
nfs {
...NFSVolumeSourceFragment
}
iscsi {
...ISCSIVolumeSourceFragment
}
glusterfs {
...GlusterfsVolumeSourceFragment
}
persistentVolumeClaim {
...PersistentVolumeClaimVolumeSourceFragment
}
rbd {
...RBDVolumeSourceFragment
}
flexVolume {
...FlexVolumeSourceFragment
}
cinder {
...CinderVolumeSourceFragment
}
cephFS {
...CephFSPersistentVolumeSourceFragment
}
flocker {
...FlockerVolumeSourceFragment
}
downwardAPI {
...DownwardAPIVolumeSourceFragment
}
fc {
...FCVolumeSourceFragment
}
azureFile {
...AzureFileVolumeSourceFragment
}
configMap {
...ConfigMapVolumeSourceFragment
}
vsphereVolume {
...VsphereVirtualDiskVolumeSourceFragment
}
quobyte {
...QuobyteVolumeSourceFragment
}
azureDisk {
...AzureDiskVolumeSourceFragment
}
photonPersistentDisk {
...PhotonPersistentDiskVolumeSourceFragment
}
projected {
...ProjectedVolumeSourceFragment
}
portworxVolume {
...PortworxVolumeSourceFragment
}
scaleIO {
...ScaleIOVolumeSourceFragment
}
storageOS {
...ScaleIOPersistentVolumeSourceFragment
}
csi {
...CSIVolumeSourceFragment
}
ephemeral {
...EphemeralVolumeSourceFragment
}
}
}
volumesMount {
name
readOnly
mountPath
subPath
mountPropagation
subPathExpr
}
imagePullSecrets {
name
}
}
}
k8sProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
group
version
resource
namespace
fieldSelector
labelSelector
operation
data
}
promProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
}
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"probeIDs": ["4"]
}
Response
{
"data": {
"listProbes": [
{
"identifiers": Identifiers,
"probeId": "xyz789",
"name": "xyz789",
"description": "xyz789",
"tags": ["xyz789"],
"type": "Default",
"httpProperties": HTTPProbe,
"cmdProperties": CMDProbe,
"k8sProperties": K8SProbe,
"promProperties": PROMProbe,
"updatedAt": "abc123",
"createdAt": "xyz789",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
]
}
}
listWorkflow
Description
Returns the list of workflows based on various filter parameters
Response
Returns a ListWorkflowResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListWorkflowRequest!
|
Example
Query
query ListWorkflow(
$identifiers: IdentifiersRequest!,
$request: ListWorkflowRequest!
) {
listWorkflow(
identifiers: $identifiers,
request: $request
) {
totalNoOfWorkflows
workflows {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowID
workflowType
workflowManifest
cronSyntax
name
description
weightages {
experimentName
weightage
}
isCustomWorkflow
updatedAt
createdAt
infra {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
}
isRemoved
tags
createdBy {
userID
username
email
}
recentWorkflowRunDetails {
workflowRunID
notifyID
phase
resiliencyScore
updatedAt
createdAt
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
}
eventsMetadata {
faultName
serviceIdentifier
environmentIdentifier
}
updatedBy {
userID
username
email
}
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListWorkflowRequest
}
Response
{
"data": {
"listWorkflow": {
"totalNoOfWorkflows": 123,
"workflows": [Workflow]
}
}
}
listWorkflowRun
Description
Returns the list of experiment run based on various filter parameters
Response
Returns a ListWorkflowRunResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListWorkflowRunRequest!
|
Example
Query
query ListWorkflowRun(
$identifiers: IdentifiersRequest!,
$request: ListWorkflowRunRequest!
) {
listWorkflowRun(
identifiers: $identifiers,
request: $request
) {
totalNoOfWorkflowRuns
workflowRuns {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowRunID
workflowType
workflowID
weightages {
experimentName
weightage
}
updatedAt
createdAt
infra {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
}
workflowName
workflowManifest
phase
resiliencyScore
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
totalExperiments
executionData
isRemoved
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
notifyID
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListWorkflowRunRequest
}
Response
{
"data": {
"listWorkflowRun": {
"totalNoOfWorkflowRuns": 123,
"workflowRuns": [WorkflowRun]
}
}
}
Mutations
addChaosHub
Description
Add a ChaosHub (includes the git clone operation)
Response
Returns a ChaosHub!
Arguments
Name | Description |
---|---|
request - ChaosHubRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation AddChaosHub(
$request: ChaosHubRequest!,
$identifiers: IdentifiersRequest!
) {
addChaosHub(
request: $request,
identifiers: $identifiers
) {
id
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
repoName
repoURL
repoBranch
AuthType
connectorId
connectorScope
name
createdAt
updatedAt
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
description
}
}
Variables
{
"request": ChaosHubRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"addChaosHub": {
"id": "4",
"identifiers": Identifiers,
"repoName": "xyz789",
"repoURL": "abc123",
"repoBranch": "xyz789",
"AuthType": "Ssh",
"connectorId": "abc123",
"connectorScope": "ACCOUNT",
"name": "abc123",
"createdAt": "xyz789",
"updatedAt": "xyz789",
"lastSyncedAt": "xyz789",
"isDefault": true,
"tags": ["xyz789"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"description": "abc123"
}
}
}
addProbe
Description
Creates a new Probe
Response
Returns a Probe!
Arguments
Name | Description |
---|---|
request - ProbeRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation AddProbe(
$request: ProbeRequest!,
$identifiers: IdentifiersRequest!
) {
addProbe(
request: $request,
identifiers: $identifiers
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
probeId
name
description
tags
type
httpProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
url
method {
get {
criteria
responseCode
}
post {
contentType
body
bodyPath
criteria
responseCode
}
}
responseTimeout
insecureSkipVerify
}
cmdProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
command
comparator {
type
value
criteria
}
source {
image
hostNetwork
inheritInputs
args
envList {
name
value
valueFrom {
fieldRef {
...ObjectFieldSelectorFragment
}
resourceFieldRef {
...ResourceFieldSelectorFragment
}
configMapKeyRef {
...ConfigMapKeySelectorFragment
}
secretKeyRef {
...SecretKeySelectorFragment
}
}
}
labels
command
imagePullPolicy
privileged
nodeSelector
volumes {
name
volumeSource {
hostPath {
...HostPathVolumeSourceFragment
}
emptyDir {
...EmptyDirVolumeSourceFragment
}
gcePersistentDisk {
...GCEPersistentDiskVolumeSourceFragment
}
awsElasticBlockStore {
...AWSElasticBlockStoreVolumeSourceFragment
}
gitRepo {
...GitRepoVolumeSourceFragment
}
secret {
...SecretVolumeSourceFragment
}
nfs {
...NFSVolumeSourceFragment
}
iscsi {
...ISCSIVolumeSourceFragment
}
glusterfs {
...GlusterfsVolumeSourceFragment
}
persistentVolumeClaim {
...PersistentVolumeClaimVolumeSourceFragment
}
rbd {
...RBDVolumeSourceFragment
}
flexVolume {
...FlexVolumeSourceFragment
}
cinder {
...CinderVolumeSourceFragment
}
cephFS {
...CephFSPersistentVolumeSourceFragment
}
flocker {
...FlockerVolumeSourceFragment
}
downwardAPI {
...DownwardAPIVolumeSourceFragment
}
fc {
...FCVolumeSourceFragment
}
azureFile {
...AzureFileVolumeSourceFragment
}
configMap {
...ConfigMapVolumeSourceFragment
}
vsphereVolume {
...VsphereVirtualDiskVolumeSourceFragment
}
quobyte {
...QuobyteVolumeSourceFragment
}
azureDisk {
...AzureDiskVolumeSourceFragment
}
photonPersistentDisk {
...PhotonPersistentDiskVolumeSourceFragment
}
projected {
...ProjectedVolumeSourceFragment
}
portworxVolume {
...PortworxVolumeSourceFragment
}
scaleIO {
...ScaleIOVolumeSourceFragment
}
storageOS {
...ScaleIOPersistentVolumeSourceFragment
}
csi {
...CSIVolumeSourceFragment
}
ephemeral {
...EphemeralVolumeSourceFragment
}
}
}
volumesMount {
name
readOnly
mountPath
subPath
mountPropagation
subPathExpr
}
imagePullSecrets {
name
}
}
}
k8sProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
group
version
resource
namespace
fieldSelector
labelSelector
operation
data
}
promProperties {
probeTimeout
interval
retry
probePollingInterval
initialDelaySeconds
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
}
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
}
Variables
{
"request": ProbeRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"addProbe": {
"identifiers": Identifiers,
"probeId": "abc123",
"name": "abc123",
"description": "xyz789",
"tags": ["abc123"],
"type": "Default",
"httpProperties": HTTPProbe,
"cmdProperties": CMDProbe,
"k8sProperties": K8SProbe,
"promProperties": PROMProbe,
"updatedAt": "xyz789",
"createdAt": "xyz789",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
}
}
createChaosWorkFlow
Description
Creates a new workflow and applies its manifest
Response
Returns a ChaosWorkFlowResponse!
Arguments
Name | Description |
---|---|
request - ChaosWorkFlowRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation CreateChaosWorkFlow(
$request: ChaosWorkFlowRequest!,
$identifiers: IdentifiersRequest!
) {
createChaosWorkFlow(
request: $request,
identifiers: $identifiers
) {
workflowID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
tags
}
}
Variables
{
"request": ChaosWorkFlowRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"createChaosWorkFlow": {
"workflowID": "xyz789",
"identifiers": Identifiers,
"cronSyntax": "xyz789",
"workflowName": "xyz789",
"workflowDescription": "abc123",
"isCustomWorkflow": false,
"tags": ["xyz789"]
}
}
}
createGameDay
Response
Returns a GameDay!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - CreateGameDayRequest!
|
Example
Query
mutation CreateGameDay(
$identifiers: IdentifiersRequest!,
$request: CreateGameDayRequest!
) {
createGameDay(
identifiers: $identifiers,
request: $request
) {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
}
objective
description
createdBy
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": CreateGameDayRequest
}
Response
{
"data": {
"createGameDay": {
"gameDayID": "4",
"identifiers": Identifiers,
"name": "abc123",
"experiments": [ExperimentResponse],
"objective": "abc123",
"description": "xyz789",
"createdBy": "xyz789",
"createdAt": "xyz789",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": false
}
}
}
createGameDayRun
Response
Returns a GameDayRunResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - CreateGameDayRunRequest!
|
Example
Query
mutation CreateGameDayRun(
$identifiers: IdentifiersRequest!,
$request: CreateGameDayRunRequest!
) {
createGameDayRun(
identifiers: $identifiers,
request: $request
) {
gameDayRunID
name
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
experimentRunIDs
experimentNotes
}
startTime
endTime
notes
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
updatedAt
createdAt
completed
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": CreateGameDayRunRequest
}
Response
{
"data": {
"createGameDayRun": {
"gameDayRunID": "xyz789",
"name": "xyz789",
"gameDayID": "abc123",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "abc123",
"endTime": "abc123",
"notes": "xyz789",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "abc123",
"createdAt": "abc123",
"completed": false
}
}
}
deleteChaosHub
Description
Delete the ChaosHub
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - ID!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation DeleteChaosHub(
$id: ID!,
$identifiers: IdentifiersRequest!
) {
deleteChaosHub(
id: $id,
identifiers: $identifiers
)
}
Variables
{"id": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"deleteChaosHub": {}}}
deleteChaosWorkflow
Description
Removes a workflow from infra
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
workflowID - String!
|
|
workflowRunID - String
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation DeleteChaosWorkflow(
$workflowID: String!,
$workflowRunID: String,
$identifiers: IdentifiersRequest!
) {
deleteChaosWorkflow(
workflowID: $workflowID,
workflowRunID: $workflowRunID,
identifiers: $identifiers
)
}
Variables
{
"workflowID": "abc123",
"workflowRunID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosWorkflow": {}}}
deleteGameDay
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - DeleteGameDayRequest!
|
Example
Query
mutation DeleteGameDay(
$identifiers: IdentifiersRequest!,
$request: DeleteGameDayRequest!
) {
deleteGameDay(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": DeleteGameDayRequest
}
Response
{"data": {"deleteGameDay": {}}}
deleteInfras
Description
Disconnects an infra and deletes its configuration from the control plane
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraIDs - [String]!
|
Example
Query
mutation DeleteInfras(
$identifiers: IdentifiersRequest!,
$infraIDs: [String]!
) {
deleteInfras(
identifiers: $identifiers,
infraIDs: $infraIDs
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraIDs": ["abc123"]
}
Response
{"data": {"deleteInfras": {}}}
deleteLinuxInfras
Description
Disconnects an infra and deletes its configuration from the control plane
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraIDs - [String]!
|
Example
Query
mutation DeleteLinuxInfras(
$identifiers: IdentifiersRequest!,
$infraIDs: [String]!
) {
deleteLinuxInfras(
identifiers: $identifiers,
infraIDs: $infraIDs
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraIDs": ["abc123"]
}
Response
{"data": {"deleteLinuxInfras": {}}}
deleteProbe
Description
Delete a Probe
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
probeID - ID!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation DeleteProbe(
$probeID: ID!,
$identifiers: IdentifiersRequest!
) {
deleteProbe(
probeID: $probeID,
identifiers: $identifiers
)
}
Variables
{"probeID": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"deleteProbe": {}}}
duplicateGameDay
Response
Returns a GameDay!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - DuplicateGameDayRequest!
|
Example
Query
mutation DuplicateGameDay(
$identifiers: IdentifiersRequest!,
$request: DuplicateGameDayRequest!
) {
duplicateGameDay(
identifiers: $identifiers,
request: $request
) {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
}
objective
description
createdBy
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": DuplicateGameDayRequest
}
Response
{
"data": {
"duplicateGameDay": {
"gameDayID": 4,
"identifiers": Identifiers,
"name": "xyz789",
"experiments": [ExperimentResponse],
"objective": "xyz789",
"description": "xyz789",
"createdBy": "xyz789",
"createdAt": "abc123",
"updatedAt": "xyz789",
"summary": GameDaySummary,
"isRemoved": false
}
}
}
pushWorkflowToChaosHub
Description
Push workflow to ChaosHub
Response
Returns a String!
Arguments
Name | Description |
---|---|
request - PushWorkflowToChaosHubInput!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation PushWorkflowToChaosHub(
$request: PushWorkflowToChaosHubInput!,
$identifiers: IdentifiersRequest!
) {
pushWorkflowToChaosHub(
request: $request,
identifiers: $identifiers
)
}
Variables
{
"request": PushWorkflowToChaosHubInput,
"identifiers": IdentifiersRequest
}
Response
{"data": {"pushWorkflowToChaosHub": {}}}
registerInfra
Description
Connect a new infra for a user in a specified project
Response
Returns a RegisterInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RegisterInfraRequest!
|
Example
Query
mutation RegisterInfra(
$identifiers: IdentifiersRequest!,
$request: RegisterInfraRequest!
) {
registerInfra(
identifiers: $identifiers,
request: $request
) {
token
infraID
name
manifest
taskID
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RegisterInfraRequest
}
Response
{
"data": {
"registerInfra": {
"token": "abc123",
"infraID": "abc123",
"name": "xyz789",
"manifest": "xyz789",
"taskID": "abc123"
}
}
}
registerLinuxInfra
Description
Connect a new infra for a user in a specified project
Response
Returns a RegisterLinuxInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RegisterLinuxInfraRequest!
|
Example
Query
mutation RegisterLinuxInfra(
$identifiers: IdentifiersRequest!,
$request: RegisterLinuxInfraRequest!
) {
registerLinuxInfra(
identifiers: $identifiers,
request: $request
) {
infraID
name
accessKey
serverURL
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RegisterLinuxInfraRequest
}
Response
{
"data": {
"registerLinuxInfra": {
"infraID": "abc123",
"name": "abc123",
"accessKey": "xyz789",
"serverURL": "xyz789"
}
}
}
runChaosExperiment
Description
Run the chaos experiment (used by frontend)
Response
Returns a RunChaosExperimentResponse!
Arguments
Name | Description |
---|---|
workflowID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation RunChaosExperiment(
$workflowID: String!,
$identifiers: IdentifiersRequest!
) {
runChaosExperiment(
workflowID: $workflowID,
identifiers: $identifiers
) {
notifyID
}
}
Variables
{
"workflowID": "abc123",
"identifiers": IdentifiersRequest
}
Response
{"data": {"runChaosExperiment": {"notifyID": 4}}}
saveChaosExperiment
Description
Saves a new experiment or updates if already exists
Response
Returns a String!
Arguments
Name | Description |
---|---|
request - ChaosExperimentRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation SaveChaosExperiment(
$request: ChaosExperimentRequest!,
$identifiers: IdentifiersRequest!
) {
saveChaosExperiment(
request: $request,
identifiers: $identifiers
)
}
Variables
{
"request": ChaosExperimentRequest,
"identifiers": IdentifiersRequest
}
Response
{"data": {"saveChaosExperiment": {}}}
stopGameDayRun
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - StopGameDayRunRequest
|
Example
Query
mutation StopGameDayRun(
$identifiers: IdentifiersRequest!,
$request: StopGameDayRunRequest
) {
stopGameDayRun(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": StopGameDayRunRequest
}
Response
{"data": {"stopGameDayRun": {}}}
stopWorkflowRuns
Description
stopWorkflow will halt all the running runs of a particular workflow
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
workflowID - String!
|
|
workflowRunID - String
|
|
infraType - InfrastructureType
|
Example
Query
mutation StopWorkflowRuns(
$identifiers: IdentifiersRequest!,
$workflowID: String!,
$workflowRunID: String,
$infraType: InfrastructureType
) {
stopWorkflowRuns(
identifiers: $identifiers,
workflowID: $workflowID,
workflowRunID: $workflowRunID,
infraType: $infraType
)
}
Variables
{
"identifiers": IdentifiersRequest,
"workflowID": "xyz789",
"workflowRunID": "abc123",
"infraType": "Kubernetes"
}
Response
{"data": {"stopWorkflowRuns": {}}}
syncChaosHub
Description
Sync changes from the Git repository of a ChaosHub
Response
Returns a String!
Arguments
Name | Description |
---|---|
id - ID!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation SyncChaosHub(
$id: ID!,
$identifiers: IdentifiersRequest!
) {
syncChaosHub(
id: $id,
identifiers: $identifiers
)
}
Variables
{
"id": "4",
"identifiers": IdentifiersRequest
}
Response
{"data": {"syncChaosHub": {}}}
testKubernetesInfraConnection
Description
Send heartbeat task to the k8s infra subscriber
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraId - String!
|
Example
Query
mutation TestKubernetesInfraConnection(
$identifiers: IdentifiersRequest!,
$infraId: String!
) {
testKubernetesInfraConnection(
identifiers: $identifiers,
infraId: $infraId
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraId": "xyz789"
}
Response
{"data": {"testKubernetesInfraConnection": {}}}
updateChaosHub
Description
Update the configuration of a ChaosHub
Response
Returns a ChaosHub!
Arguments
Name | Description |
---|---|
id - ID!
|
|
request - ChaosHubRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation UpdateChaosHub(
$id: ID!,
$request: ChaosHubRequest!,
$identifiers: IdentifiersRequest!
) {
updateChaosHub(
id: $id,
request: $request,
identifiers: $identifiers
) {
id
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
repoName
repoURL
repoBranch
AuthType
connectorId
connectorScope
name
createdAt
updatedAt
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
description
}
}
Variables
{
"id": "4",
"request": ChaosHubRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"updateChaosHub": {
"id": 4,
"identifiers": Identifiers,
"repoName": "abc123",
"repoURL": "xyz789",
"repoBranch": "xyz789",
"AuthType": "Ssh",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"name": "abc123",
"createdAt": "xyz789",
"updatedAt": "xyz789",
"lastSyncedAt": "xyz789",
"isDefault": true,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"description": "abc123"
}
}
}
updateChaosWorkflow
Description
Updates the workflow
Response
Returns a ChaosWorkFlowResponse!
Arguments
Name | Description |
---|---|
request - ChaosWorkFlowRequest
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation UpdateChaosWorkflow(
$request: ChaosWorkFlowRequest,
$identifiers: IdentifiersRequest!
) {
updateChaosWorkflow(
request: $request,
identifiers: $identifiers
) {
workflowID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
tags
}
}
Variables
{
"request": ChaosWorkFlowRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"updateChaosWorkflow": {
"workflowID": "xyz789",
"identifiers": Identifiers,
"cronSyntax": "abc123",
"workflowName": "abc123",
"workflowDescription": "abc123",
"isCustomWorkflow": true,
"tags": ["abc123"]
}
}
}
updateExperimentNotes
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateExperimentNotesRequest
|
Example
Query
mutation UpdateExperimentNotes(
$identifiers: IdentifiersRequest!,
$request: UpdateExperimentNotesRequest
) {
updateExperimentNotes(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateExperimentNotesRequest
}
Response
{"data": {"updateExperimentNotes": {}}}
updateGameDay
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateGameDayRequest!
|
Example
Query
mutation UpdateGameDay(
$identifiers: IdentifiersRequest!,
$request: UpdateGameDayRequest!
) {
updateGameDay(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateGameDayRequest
}
Response
{"data": {"updateGameDay": {}}}
updateGameDayExperiments
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateGameDayExperimentsRequest!
|
Example
Query
mutation UpdateGameDayExperiments(
$identifiers: IdentifiersRequest!,
$request: UpdateGameDayExperimentsRequest!
) {
updateGameDayExperiments(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateGameDayExperimentsRequest
}
Response
{"data": {"updateGameDayExperiments": {}}}
updateGameDayRun
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateGameDayRunRequest!
|
Example
Query
mutation UpdateGameDayRun(
$identifiers: IdentifiersRequest!,
$request: UpdateGameDayRunRequest!
) {
updateGameDayRun(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateGameDayRunRequest
}
Response
{"data": {"updateGameDayRun": {}}}
updateProbe
Description
Update the configuration of a Probe
Response
Returns a String!
Arguments
Name | Description |
---|---|
request - ProbeRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation UpdateProbe(
$request: ProbeRequest!,
$identifiers: IdentifiersRequest!
) {
updateProbe(
request: $request,
identifiers: $identifiers
)
}
Variables
{
"request": ProbeRequest,
"identifiers": IdentifiersRequest
}
Response
{"data": {"updateProbe": {}}}
updateSummary
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateSummaryRequest!
|
Example
Query
mutation UpdateSummary(
$identifiers: IdentifiersRequest!,
$request: UpdateSummaryRequest!
) {
updateSummary(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateSummaryRequest
}
Response
{"data": {"updateSummary": {}}}
Types
AWSElasticBlockStoreVolumeSource
Description
Represents a Persistent Disk resource in AWS.
Fields
Field Name | Description |
---|---|
volumeID - String!
|
Unique ID of the persistent disk resource in AWS (Amazon EBS volume). |
fsType - String
|
Filesystem type of the volume that you want to mount. |
partition - Int
|
he partition in the volume that you want to mount. |
readOnly - Boolean
|
ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{
"volumeID": "abc123",
"fsType": "xyz789",
"partition": 987,
"readOnly": false
}
AWSElasticBlockStoreVolumeSourceInput
Description
Represents a Persistent Disk resource in AWS.
Fields
Input Field | Description |
---|---|
volumeID - String!
|
Unique ID of the persistent disk resource in AWS (Amazon EBS volume). |
fsType - String
|
Filesystem type of the volume that you want to mount. |
partition - Int
|
he partition in the volume that you want to mount. |
readOnly - Boolean
|
ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{}
ActionItemRequest
ActionItems
Annotation
Example
{
"categories": "xyz789",
"vendor": "abc123",
"createdAt": "abc123",
"repository": "xyz789",
"support": "abc123",
"chartDescription": "xyz789"
}
Audit
Fields
Field Name | Description |
---|---|
updatedAt - String
|
|
createdAt - String
|
|
updatedBy - UserDetails
|
|
createdBy - UserDetails
|
Possible Types
Audit Types |
---|
Example
{
"updatedAt": "xyz789",
"createdAt": "abc123",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
AzureDataDiskCachingMode
Description
Types of AzureDataDiskCachingModes
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
AzureDataDiskKind
Description
Types of AzureDataDiskKind
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
AzureDiskVolumeSource
Description
AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Fields
Field Name | Description |
---|---|
diskName - String!
|
The Name of the data disk in the blob storage |
dataDiskURL - String!
|
The URI the data disk in the blob storage |
cachingMode - AzureDataDiskCachingMode
|
Host Caching mode: None, Read Only, Read Write. |
fsType - String
|
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
kind - AzureDataDiskKind
|
Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared |
Example
{
"diskName": "abc123",
"dataDiskURL": "xyz789",
"cachingMode": "None",
"fsType": "abc123",
"readOnly": true,
"kind": "Shared"
}
AzureDiskVolumeSourceInput
Description
AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Fields
Input Field | Description |
---|---|
diskName - String!
|
The Name of the data disk in the blob storage |
dataDiskURL - String!
|
The URI the data disk in the blob storage |
cachingMode - AzureDataDiskCachingMode
|
Host Caching mode: None, Read Only, Read Write. |
fsType - String
|
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
kind - AzureDataDiskKind
|
Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared |
Example
{}
AzureFileVolumeSource
Description
AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
Example
{
"secretName": "abc123",
"shareName": "abc123",
"readOnly": true
}
AzureFileVolumeSourceInput
Description
AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
Example
{}
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
{}
CMDProbe
Description
Defines the CMD probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
command - String!
|
Command of the Probe |
comparator - Comparator!
|
Comparator of the Probe |
source - Source
|
Source of the Probe |
Example
{
"probeTimeout": 123,
"interval": 123,
"retry": 987,
"probePollingInterval": 987,
"initialDelaySeconds": 987,
"stopOnFailure": true,
"command": "xyz789",
"comparator": Comparator,
"source": Source
}
CMDProbeRequest
Description
Defines the input for CMD probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
command - String!
|
Command of the Probe |
comparator - ComparatorInput!
|
Comparator of the Probe |
source - SourceInput
|
Source of the Probe |
Example
{}
CSIVolumeSource
Description
Represents a source location of a volume to mount, managed by an external CSI driver
Fields
Field Name | Description |
---|---|
driver - String!
|
Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. |
readOnly - Boolean
|
Specifies a read-only configuration for the volume. Defaults to false (read/write). |
fsType - String
|
Filesystem type to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. |
volumeAttribute - [String!]
|
VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. |
nodePublishSecretRef - LocalObjectReference
|
NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. |
Example
{
"driver": "xyz789",
"readOnly": true,
"fsType": "xyz789",
"volumeAttribute": ["abc123"],
"nodePublishSecretRef": LocalObjectReference
}
CSIVolumeSourceInput
Description
Represents a source location of a volume to mount, managed by an external CSI driver
Fields
Input Field | Description |
---|---|
driver - String!
|
Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. |
readOnly - Boolean
|
Specifies a read-only configuration for the volume. Defaults to false (read/write). |
fsType - String
|
Filesystem type to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. |
volumeAttribute - [String!]
|
VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. |
nodePublishSecretRef - LocalObjectReferenceInput
|
NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. |
Example
{}
CephFSPersistentVolumeSource
Description
Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.
Fields
Field Name | Description |
---|---|
monitors - [String!]!
|
Monitors is a collection of Ceph monitors |
path - String
|
Used as the mounted root, rather than the full Ceph tree, default is / |
user - String
|
User is the rados user name, default is admin |
secretFile - String
|
SecretFile is the path to key ring for User, default is /etc/ceph/user.secret |
secretRef - SecretReference
|
SecretRef is reference to the authentication secret for User, default is empty. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{
"monitors": ["abc123"],
"path": "abc123",
"user": "abc123",
"secretFile": "abc123",
"secretRef": SecretReference,
"readOnly": false
}
CephFSPersistentVolumeSourceInput
Description
Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.
Fields
Input Field | Description |
---|---|
monitors - [String!]!
|
Monitors is a collection of Ceph monitors |
path - String
|
Used as the mounted root, rather than the full Ceph tree, default is / |
user - String
|
User is the rados user name, default is admin |
secretFile - String
|
SecretFile is the path to key ring for User, default is /etc/ceph/user.secret |
secretRef - SecretReferenceInput
|
SecretRef is reference to the authentication secret for User, default is empty. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{}
ChaosExperimentRequest
Description
Defines the details for a chaos experiment
Fields
Input Field | Description |
---|---|
id - String!
|
ID of the experiment |
name - String!
|
Name of the experiment |
description - String
|
Description of the experiment |
manifest - String!
|
Manifest of the experiment |
eventsMetadata - [EventMetadataInput!]
|
Array containing service identifier and environment identifier for SRM change source events |
infraID - ID!
|
ID of the target infrastructure in which the experiment will run |
tags - [String!]
|
Tags of the infrastructure |
infraType - InfrastructureType
|
Type of the infrastructure |
Example
{}
ChaosHub
Fields
Field Name | Description |
---|---|
id - ID!
|
ID of the chaos hub |
identifiers - Identifiers!
|
Harness identifiers |
repoName - String
|
Name of the repository if connector is of Account type |
repoURL - String!
|
URL of the git repository |
repoBranch - String!
|
Branch of the git repository |
AuthType - ChaosHubAuthType!
|
AuthType |
connectorId - String!
|
Name of the GitConnectorId |
connectorScope - ConnectorScope!
|
Name of the ConnectorScope |
name - String!
|
Name of the chaos hub |
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 |
isDefault - Boolean!
|
Default Hub Identifier |
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 |
Example
{
"id": "4",
"identifiers": Identifiers,
"repoName": "abc123",
"repoURL": "xyz789",
"repoBranch": "xyz789",
"AuthType": "Ssh",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"name": "xyz789",
"createdAt": "abc123",
"updatedAt": "xyz789",
"lastSyncedAt": "abc123",
"isDefault": false,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"description": "xyz789"
}
ChaosHubAuthType
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
ChaosHubFilterInput
ChaosHubRequest
Description
Defines the details required for creating a chaos hub
Fields
Input Field | Description |
---|---|
hubName - String!
|
Name of the chaos hub |
connectorId - String!
|
Name of the GitConnectorId |
connectorScope - ConnectorScope!
|
Name of the ConnectorScope |
repoName - String
|
Repo name of the git repository |
repoBranch - String!
|
Branch of the git repository |
tags - [String!]
|
Tags of the ChaosHub |
description - String
|
Description of ChaosHub |
Example
{}
ChaosHubStatus
Fields
Field Name | Description |
---|---|
id - ID!
|
ID of the hub |
repoName - String
|
Name of the repository if connector is of Account type |
repoURL - String!
|
URL of the git repository |
repoBranch - String!
|
Branch of the git repository |
connectorId - String!
|
Name of the GitConnectorId |
connectorScope - ConnectorScope!
|
Name of the ConnectorScope |
AuthType - ChaosHubAuthType!
|
AuthType |
isAvailable - Boolean!
|
Bool value indicating whether the hub is available or not. |
totalExp - String!
|
Total number of experiments in the hub |
totalWorkflows - String!
|
Total workflows |
name - String!
|
Name of the chaos hub |
lastSyncedAt - String!
|
Timestamp when the chaos hub was last synced |
isDefault - Boolean!
|
Default Hub Identifier |
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 |
Example
{
"id": "4",
"repoName": "abc123",
"repoURL": "abc123",
"repoBranch": "xyz789",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"AuthType": "Ssh",
"isAvailable": false,
"totalExp": "abc123",
"totalWorkflows": "abc123",
"name": "abc123",
"lastSyncedAt": "abc123",
"isDefault": false,
"tags": ["xyz789"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "xyz789",
"description": "xyz789"
}
ChaosWorkFlowRequest
Description
Defines the details for a chaos workflow
Fields
Input Field | Description |
---|---|
workflowID - String
|
ID of the workflow |
runExperiment - Boolean
|
Boolean check indicating if the created scenario will be executed or not |
workflowManifest - String!
|
Manifest of the workflow |
workflowType - WorkflowType
|
Type of the workflow |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
workflowName - String!
|
Name of the workflow |
workflowDescription - String!
|
Description of the workflow |
weightages - [WeightagesInput!]!
|
Array containing weightage and name of each chaos experiment in the workflow |
eventsMetadata - [EventMetadataInput!]
|
Array containing service identifier and environment identifier for SRM change source events |
isCustomWorkflow - Boolean!
|
Bool value indicating whether the workflow is a custom workflow or not |
infraID - ID!
|
ID of the target infra in which the workflow will run |
tags - [String!]
|
Tags of the infra |
infraType - InfrastructureType
|
Type of the infra |
Example
{}
ChaosWorkFlowResponse
Description
Defines the response received for querying the details of chaos workflow
Fields
Field Name | Description |
---|---|
workflowID - String!
|
ID of the workflow |
identifiers - Identifiers!
|
Harness Identifiers |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
workflowName - String!
|
Name of the workflow |
workflowDescription - String!
|
Description of the workflow |
isCustomWorkflow - Boolean!
|
Bool value indicating whether the workflow is a custom workflow or not |
tags - [String!]
|
Tags of the infra |
Example
{
"workflowID": "xyz789",
"identifiers": Identifiers,
"cronSyntax": "abc123",
"workflowName": "abc123",
"workflowDescription": "xyz789",
"isCustomWorkflow": true,
"tags": ["abc123"]
}
Chart
Fields
Field Name | Description |
---|---|
apiVersion - String!
|
|
kind - String!
|
|
metadata - Metadata!
|
|
spec - Spec!
|
|
packageInfo - PackageInformation!
|
Example
{
"apiVersion": "abc123",
"kind": "abc123",
"metadata": Metadata,
"spec": Spec,
"packageInfo": PackageInformation
}
CheckResourceIDRequest
Fields
Input Field | Description |
---|---|
resourceName - ResourceType!
|
|
ID - ID!
|
Example
{}
CinderVolumeSource
Description
Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container.
Fields
Field Name | Description |
---|---|
volumeID - String!
|
volume id used to identify the volume in cinder. |
fsType - String
|
Filesystem type to mount. |
readOnly - Boolean
|
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
secretRef - LocalObjectReference
|
Optional: points to a secret object containing parameters used to connect to OpenStack. |
Example
{
"volumeID": "xyz789",
"fsType": "xyz789",
"readOnly": false,
"secretRef": LocalObjectReference
}
CinderVolumeSourceInput
Description
Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container.
Fields
Input Field | Description |
---|---|
volumeID - String!
|
volume id used to identify the volume in cinder. |
fsType - String
|
Filesystem type to mount. |
readOnly - Boolean
|
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
secretRef - LocalObjectReferenceInput
|
Optional: points to a secret object containing parameters used to connect to OpenStack. |
Example
{}
CommonProbeProperties
Description
Defines the common probe properties shared across different ProbeTypes
Fields
Field Name | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
Example
{
"probeTimeout": 123,
"interval": 987,
"retry": 123,
"probePollingInterval": 123,
"initialDelaySeconds": 123,
"stopOnFailure": false
}
Comparator
ComparatorInput
ConfigMapKeySelector
Description
Selects a key from a ConfigMap
Fields
Field Name | Description |
---|---|
name - LocalObjectReference!
|
The ConfigMap to select from. |
key - String!
|
The key to select. |
optional - Boolean
|
Specify whether the ConfigMap or its key must be defined |
Example
{
"name": LocalObjectReference,
"key": "xyz789",
"optional": false
}
ConfigMapKeySelectorInput
Description
Selects a key from a ConfigMap
Fields
Input Field | Description |
---|---|
name - LocalObjectReferenceInput!
|
The ConfigMap to select from. |
key - String!
|
The key to select. |
optional - Boolean
|
Specify whether the ConfigMap or its key must be defined |
Example
{}
ConfigMapProjection
Description
Adapts a ConfigMap into a projected volume.
Fields
Field Name | Description |
---|---|
localObjectReference - LocalObjectReference!
|
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. |
items - [KeyToPath!]
|
If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. |
optional - Boolean
|
Specify whether the ConfigMap or its keys must be defined |
Example
{
"localObjectReference": LocalObjectReference,
"items": [KeyToPath],
"optional": true
}
ConfigMapProjectionInput
Description
Adapts a ConfigMap into a projected volume.
Fields
Input Field | Description |
---|---|
localObjectReference - LocalObjectReferenceInput!
|
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. |
items - [KeyToPathInput!]
|
If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. |
optional - Boolean
|
Specify whether the ConfigMap or its keys must be defined |
Example
{}
ConfigMapVolumeSource
Description
Adapts a ConfigMap into a volume.
Fields
Field Name | Description |
---|---|
localObjectReference - LocalObjectReference!
|
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. |
items - [KeyToPath!]
|
If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. |
defaultMode - Int
|
Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
optional - Boolean
|
Specify whether the ConfigMap or its keys must be defined |
Example
{
"localObjectReference": LocalObjectReference,
"items": [KeyToPath],
"defaultMode": 987,
"optional": false
}
ConfigMapVolumeSourceInput
Description
Adapts a ConfigMap into a volume.
Fields
Input Field | Description |
---|---|
localObjectReference - LocalObjectReferenceInput!
|
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. |
items - [KeyToPathInput!]
|
If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. |
defaultMode - Int
|
Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
optional - Boolean
|
Specify whether the ConfigMap or its keys must be defined |
Example
{}
ConnectorScope
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
CreateGameDayRequest
Fields
Input Field | Description |
---|---|
ID - String!
|
|
name - String!
|
|
experiments - [NonCronExperiment!]!
|
|
objective - String
|
|
description - String
|
Example
{}
CreateGameDayRunRequest
Fields
Input Field | Description |
---|---|
gamedayID - String!
|
Example
{}
DateRange
DeleteGameDayRequest
Fields
Input Field | Description |
---|---|
gamedayID - String!
|
Example
{}
DownwardAPIProjection
Description
Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.
Fields
Field Name | Description |
---|---|
items - [DownwardAPIVolumeFile!]
|
Items is a list of DownwardAPIVolume file |
Example
{"items": [DownwardAPIVolumeFile]}
DownwardAPIProjectionInput
Description
Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.
Fields
Input Field | Description |
---|---|
items - [DownwardAPIVolumeFileInput!]
|
Items is a list of DownwardAPIVolume file |
Example
{}
DownwardAPIVolumeFile
Description
DownwardAPIVolumeFile represents information to create the file containing the pod field
Fields
Field Name | Description |
---|---|
path - String!
|
Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' |
fieldRef - ObjectFieldSelector
|
Selects a field of the pod: only annotations, labels, name and namespace are supported. |
resourceFieldRef - ResourceFieldSelector
|
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. |
mode - Int
|
Mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
Example
{
"path": "abc123",
"fieldRef": ObjectFieldSelector,
"resourceFieldRef": ResourceFieldSelector,
"mode": 123
}
DownwardAPIVolumeFileInput
Description
DownwardAPIVolumeFile represents information to create the file containing the pod field
Fields
Input Field | Description |
---|---|
path - String!
|
Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' |
fieldRef - ObjectFieldSelectorInput
|
Selects a field of the pod: only annotations, labels, name and namespace are supported. |
resourceFieldRef - ResourceFieldSelectorInput
|
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. |
mode - Int
|
Mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
Example
{}
DownwardAPIVolumeSource
Description
DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.
Fields
Field Name | Description |
---|---|
items - [DownwardAPIVolumeFile]
|
Items is a list of downward API volume file |
defaultMode - Int
|
Mode bits to use on created files by default. Must be a mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
Example
{"items": [DownwardAPIVolumeFile], "defaultMode": 987}
DownwardAPIVolumeSourceInput
Description
DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.
Fields
Input Field | Description |
---|---|
items - [DownwardAPIVolumeFileInput]
|
Items is a list of downward API volume file |
defaultMode - Int
|
Mode bits to use on created files by default. Must be a mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
Example
{}
DuplicateGameDayRequest
Fields
Input Field | Description |
---|---|
gamedayID - String!
|
Example
{}
EmptyDirVolumeSource
Description
Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.
Fields
Field Name | Description |
---|---|
medium - StorageMedium
|
What type of storage medium should back this directory. |
sizeLimit - Quantity
|
Total amount of local storage required for this EmptyDir volume. |
Example
{"medium": "Memory", "sizeLimit": "i"}
EmptyDirVolumeSourceInput
Description
Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.
Fields
Input Field | Description |
---|---|
medium - StorageMedium
|
What type of storage medium should back this directory. |
sizeLimit - Quantity
|
Total amount of local storage required for this EmptyDir volume. |
Example
{}
EnvVar
Description
Defines the properties for EnvVar EnvVar represents an environment variable present in a Container
Fields
Field Name | Description |
---|---|
name - String!
|
Name of the environment variable. Must be a C_IDENTIFIER. |
value - String!
|
Value of the previous defined environment variables in the container and any service environment variables. |
valueFrom - EnvVarSource
|
Source for the environment variable's value. Cannot be used if value is not empty |
Example
{
"name": "xyz789",
"value": "abc123",
"valueFrom": EnvVarSource
}
EnvVarInput
Description
Defines the input properties for EnvVar EnvVar represents an environment variable present in a Container
Fields
Input Field | Description |
---|---|
name - String!
|
Name of the environment variable. Must be a C_IDENTIFIER. |
value - String!
|
Value of the previous defined environment variables in the container and any service environment variables. |
valueFrom - EnvVarSourceInput
|
Source for the environment variable's value. Cannot be used if value is not empty |
Example
{}
EnvVarSource
Description
EnvVarSource represents a source for the value of an EnvVar.
Fields
Field Name | Description |
---|---|
fieldRef - ObjectFieldSelector
|
Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'] , metadata.annotations['<KEY>'] , spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
resourceFieldRef - ResourceFieldSelector
|
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
configMapKeyRef - ConfigMapKeySelector
|
Selects a key of a ConfigMap. |
secretKeyRef - SecretKeySelector
|
Selects a key of a secret in the pod's namespace |
Example
{
"fieldRef": ObjectFieldSelector,
"resourceFieldRef": ResourceFieldSelector,
"configMapKeyRef": ConfigMapKeySelector,
"secretKeyRef": SecretKeySelector
}
EnvVarSourceInput
Description
EnvVarSource represents a source for the value of an EnvVar.
Fields
Input Field | Description |
---|---|
fieldRef - ObjectFieldSelectorInput
|
Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'] , metadata.annotations['<KEY>'] , spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
resourceFieldRef - ResourceFieldSelectorInput
|
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
configMapKeyRef - ConfigMapKeySelectorInput
|
Selects a key of a ConfigMap. |
secretKeyRef - SecretKeySelectorInput
|
Selects a key of a secret in the pod's namespace |
Example
{}
EphemeralVolumeSource
Description
Represents an ephemeral volume that is handled by a normal storage driver.
Fields
Field Name | Description |
---|---|
volumeClaimTemplate - PersistentVolumeClaimTemplate
|
Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be <pod name>-<volume name> where <volume name> is the name from the PodSpec.Volumes array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). |
Example
{"volumeClaimTemplate": PersistentVolumeClaimTemplate}
EphemeralVolumeSourceInput
Description
Represents an ephemeral volume that is handled by a normal storage driver.
Fields
Input Field | Description |
---|---|
volumeClaimTemplate - PersistentVolumeClaimTemplateInput
|
Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be <pod name>-<volume name> where <volume name> is the name from the PodSpec.Volumes array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). |
Example
{}
EventMetadata
Fields
Field Name | Description |
---|---|
faultName - String!
|
|
serviceIdentifier - [String!]!
|
|
environmentIdentifier - [String!]!
|
Example
{
"faultName": "xyz789",
"serviceIdentifier": ["abc123"],
"environmentIdentifier": ["xyz789"]
}
EventMetadataInput
Fields
Input Field | Description |
---|---|
faultName - String!
|
|
serviceIdentifier - [String!]!
|
|
environmentIdentifier - [String!]!
|
Example
{}
ExecutionPlane
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
ExperimentInfoInput
ExperimentRequest
ExperimentResponse
Experiments
FCVolumeSource
Description
Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.
Fields
Field Name | Description |
---|---|
targetWWNs - [String!]
|
FC target worldwide names (WWNs) |
lun - Int
|
FC target lun number |
fsType - String
|
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
wids - [String!]
|
FC volume world wide identifiers (wwids) |
Example
{
"targetWWNs": ["xyz789"],
"lun": 123,
"fsType": "xyz789",
"readOnly": true,
"wids": ["xyz789"]
}
FCVolumeSourceInput
Description
Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.
Fields
Input Field | Description |
---|---|
targetWWNs - [String!]
|
FC target worldwide names (WWNs) |
lun - Int
|
FC target lun number |
fsType - String
|
Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
wids - [String!]
|
FC volume world wide identifiers (wwids) |
Example
{}
FaultDetails
Description
Fault Detail consists of all the fault related details
Example
{
"fault": "abc123",
"engine": "xyz789",
"csv": "xyz789"
}
FaultList
FlexVolumeSource
Description
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
Fields
Field Name | Description |
---|---|
driver - String!
|
Driver is the name of the driver to use for this volume. |
fsType - String
|
Filesystem type to mount. |
secretRef - LocalObjectReference
|
Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. |
readOnly - Boolean
|
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
options - [String!]
|
Extra command options if any. |
Example
{
"driver": "abc123",
"fsType": "abc123",
"secretRef": LocalObjectReference,
"readOnly": true,
"options": ["xyz789"]
}
FlexVolumeSourceInput
Description
FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
Fields
Input Field | Description |
---|---|
driver - String!
|
Driver is the name of the driver to use for this volume. |
fsType - String
|
Filesystem type to mount. |
secretRef - LocalObjectReferenceInput
|
Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. |
readOnly - Boolean
|
Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
options - [String!]
|
Extra command options if any. |
Example
{}
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
{}
FlockerVolumeSource
Description
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
Example
{
"datasetName": "xyz789",
"datasetUUID": "abc123"
}
FlockerVolumeSourceInput
Description
Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
Example
{}
GCEPersistentDiskVolumeSource
Description
Represents a Persistent Disk resource in Google Compute Engine.
Fields
Field Name | Description |
---|---|
pdName - String!
|
Unique name of the PD resource in GCE. Used to identify the disk in GCE. |
fsType - String
|
Filesystem type of the volume that you want to mount. |
partition - Int
|
he partition in the volume that you want to mount. |
readOnly - Boolean
|
ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{
"pdName": "xyz789",
"fsType": "xyz789",
"partition": 987,
"readOnly": false
}
GCEPersistentDiskVolumeSourceInput
Description
Represents a Persistent Disk resource in Google Compute Engine.
Fields
Input Field | Description |
---|---|
pdName - String!
|
Unique name of the PD resource in GCE. Used to identify the disk in GCE. |
fsType - String
|
Filesystem type of the volume that you want to mount. |
partition - Int
|
he partition in the volume that you want to mount. |
readOnly - Boolean
|
ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{}
GET
GETRequest
GameDay
Fields
Field Name | Description |
---|---|
gameDayID - ID
|
|
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
|
experiments - [ExperimentResponse!]!
|
|
objective - String
|
|
description - String
|
|
createdBy - String!
|
|
createdAt - String!
|
|
updatedAt - String!
|
|
summary - GameDaySummary
|
|
isRemoved - Boolean!
|
Example
{
"gameDayID": "4",
"identifiers": Identifiers,
"name": "xyz789",
"experiments": [ExperimentResponse],
"objective": "xyz789",
"description": "xyz789",
"createdBy": "abc123",
"createdAt": "xyz789",
"updatedAt": "xyz789",
"summary": GameDaySummary,
"isRemoved": true
}
GameDayResponse
Fields
Field Name | Description |
---|---|
gameDayID - ID!
|
|
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
|
tags - [String!]
|
|
experiments - [ExperimentResponse!]!
|
|
objective - String
|
|
description - String
|
|
createdBy - UserDetails
|
|
updatedBy - UserDetails
|
|
createdAt - String!
|
|
updatedAt - String!
|
|
summary - GameDaySummary
|
|
isRemoved - Boolean!
|
Example
{
"gameDayID": "4",
"identifiers": Identifiers,
"name": "xyz789",
"tags": ["xyz789"],
"experiments": [ExperimentResponse],
"objective": "xyz789",
"description": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": false
}
GameDayRunExperiments
Example
{
"experimentID": "abc123",
"experimentTemplateName": "abc123",
"chaosInfraID": "xyz789",
"hubID": "abc123",
"experimentRunIDs": ["xyz789"],
"experimentNotes": "xyz789"
}
GameDayRunResponse
Fields
Field Name | Description |
---|---|
gameDayRunID - String!
|
|
name - String!
|
|
gameDayID - String!
|
|
identifiers - Identifiers!
|
Harness identifiers |
experiments - [GameDayRunExperiments!]
|
|
startTime - String
|
|
endTime - String
|
|
notes - String
|
|
summary - GameDaySummary!
|
|
createdBy - UserDetails
|
|
updatedBy - UserDetails
|
|
updatedAt - String
|
|
createdAt - String
|
|
completed - Boolean
|
Example
{
"gameDayRunID": "xyz789",
"name": "abc123",
"gameDayID": "abc123",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "xyz789",
"endTime": "abc123",
"notes": "abc123",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "abc123",
"createdAt": "abc123",
"completed": false
}
GameDaySummary
Fields
Field Name | Description |
---|---|
notes - String
|
|
qna - [QnAs!]
|
|
actionItem - [ActionItems!]
|
Example
{
"notes": "xyz789",
"qna": [QnAs],
"actionItem": [ActionItems]
}
GamedayFilterInput
Fields
Input Field | Description |
---|---|
gamedayName - String
|
Example
{}
GamedayInfraDetails
GamedaySortInput
Description
Defines sorting options for workflow runs
Fields
Input Field | Description |
---|---|
field - GamedaySortingField!
|
Field in which sorting will be done |
ascending - Boolean
|
Bool value indicating whether the sorting will be done in ascending order |
Example
{}
GamedaySortingField
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
GetExperimentResponse
Description
Defines the details for a given experiment with some additional data
Example
{
"experimentDetails": Workflow,
"averageResiliencyScore": 987.65
}
GetGameDayResponse
Fields
Field Name | Description |
---|---|
gameDayID - ID!
|
|
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
|
experiments - [GetGamedayExperimentResponse!]
|
|
objective - String
|
|
description - String
|
|
createdBy - UserDetails
|
|
createdAt - String
|
|
updatedAt - String
|
|
summary - GameDaySummary
|
|
isRemoved - Boolean
|
|
totalGamedayRuns - Int
|
Example
{
"gameDayID": "4",
"identifiers": Identifiers,
"name": "abc123",
"experiments": [GetGamedayExperimentResponse],
"objective": "abc123",
"description": "xyz789",
"createdBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "xyz789",
"summary": GameDaySummary,
"isRemoved": true,
"totalGamedayRuns": 123
}
GetGamedayExperimentResponse
Example
{
"experimentID": "xyz789",
"experimentTemplateName": "abc123",
"chaosInfra": GamedayInfraDetails,
"hubID": "xyz789",
"experimentNotes": "abc123",
"experimentCSV": "xyz789",
"experimentManifest": "abc123"
}
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": 987,
"totalInactiveInfrastructures": 987,
"totalConfirmedInfrastructure": 987,
"totalNonConfirmedInfrastructures": 987
}
GetProbeYAMLRequest
GitRepoVolumeSource
Description
Represents a volume that is populated with the contents of a git repository.
Example
{
"repository": "xyz789",
"revision": "abc123",
"directory": "xyz789"
}
GitRepoVolumeSourceInput
GlusterfsVolumeSource
Description
Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.
Example
{
"endpointsName": "xyz789",
"path": "xyz789",
"readOnly": false
}
GlusterfsVolumeSourceInput
Description
Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.
Example
{}
HTTPProbe
Description
Defines the HTTP probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - Method!
|
HTTP method of the Probe |
responseTimeout - Int
|
Response Timeout of the Probe |
insecureSkipVerify - Boolean
|
If Insecure HTTP verification should be skipped |
Example
{
"probeTimeout": 987,
"interval": 987,
"retry": 123,
"probePollingInterval": 123,
"initialDelaySeconds": 123,
"stopOnFailure": false,
"url": "abc123",
"method": Method,
"responseTimeout": 987,
"insecureSkipVerify": true
}
HTTPProbeRequest
Description
Defines the input for HTTP probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
responseTimeout - Int
|
Response Timeout of the Probe |
method - MethodRequest!
|
HTTP method of the Probe |
insecureSkipVerify - Boolean
|
If Insecure HTTP verification should be skipped |
Example
{}
HostPathType
Description
Type for HostPath Volume
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
HostPathVolumeSource
Description
Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.
Fields
Field Name | Description |
---|---|
path - String!
|
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. |
type - HostPathType
|
Type for HostPath Volume |
Example
{
"path": "xyz789",
"type": "DirectoryOrCreate"
}
HostPathVolumeSourceInput
Description
Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.
Fields
Input Field | Description |
---|---|
path - String!
|
HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. |
type - HostPathType
|
Type for HostPath Volume |
Example
{}
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
{}
INFRA_SCOPE
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
ISCSIVolumeSource
Description
Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.
Fields
Field Name | Description |
---|---|
targetPortal - String!
|
iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). |
iqn - String!
|
Target iSCSI Qualified Name. |
lun - Int!
|
iSCSI Target Lun number. |
iscsiInterface - String
|
iSCSI Interface Name that uses an iSCSI transport. |
fsType - String
|
Filesystem type of the volume that you want to mount. |
readOnly - Boolean
|
ReadOnly here will force the ReadOnly setting in VolumeMounts. |
portal - [String!]
|
iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). |
discoveryCHAPAuth - Boolean
|
whether support iSCSI Discovery CHAP authentication |
sessionCHAPAuth - Boolean
|
whether support iSCSI Session CHAP authentication |
secretRef - LocalObjectReference
|
CHAP Secret for iSCSI target and initiator authentication |
initiatorName - String
|
Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface |
Example
{
"targetPortal": "abc123",
"iqn": "abc123",
"lun": 987,
"iscsiInterface": "abc123",
"fsType": "abc123",
"readOnly": true,
"portal": ["abc123"],
"discoveryCHAPAuth": true,
"sessionCHAPAuth": true,
"secretRef": LocalObjectReference,
"initiatorName": "xyz789"
}
ISCSIVolumeSourceInput
Description
Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.
Fields
Input Field | Description |
---|---|
targetPortal - String!
|
iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). |
iqn - String!
|
Target iSCSI Qualified Name. |
lun - Int!
|
iSCSI Target Lun number. |
iscsiInterface - String
|
iSCSI Interface Name that uses an iSCSI transport. |
fsType - String
|
Filesystem type of the volume that you want to mount. |
readOnly - Boolean
|
ReadOnly here will force the ReadOnly setting in VolumeMounts. |
portal - [String!]
|
iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). |
discoveryCHAPAuth - Boolean
|
whether support iSCSI Discovery CHAP authentication |
sessionCHAPAuth - Boolean
|
whether support iSCSI Session CHAP authentication |
secretRef - LocalObjectReferenceInput
|
CHAP Secret for iSCSI target and initiator authentication |
initiatorName - String
|
Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface |
Example
{}
Identifiers
Description
Defines the common identifiers for API operations
Example
{
"orgIdentifier": "xyz789",
"accountIdentifier": "abc123",
"projectIdentifier": "abc123"
}
IdentifiersRequest
ImagePullPolicy
Description
Defines the different types of Image Pull Policy
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
Infra
Description
Defines the details for a infra
Fields
Field Name | Description |
---|---|
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 |
noOfSchedules - Int
|
Number of schedules created in the infra |
noOfWorkflows - Int
|
Number of workflows 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 - INFRA_SCOPE!
|
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 |
installationType - InstallationType!
|
InstallationType connector/manifest |
k8sConnectorID - String
|
K8sConnectorID |
lastWorkflowTimestamp - String
|
Timestamp of the last workflow 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 |
lastHeartbeat - String
|
Last Heartbeat status sent by the infra |
infraType - InfrastructureType
|
Type of the infrastructure |
updateStatus - UpdateStatus!
|
update status of infra |
Example
{
"infraID": 4,
"name": "abc123",
"description": "abc123",
"tags": ["abc123"],
"environmentID": "abc123",
"platformName": "abc123",
"isActive": true,
"isInfraConfirmed": true,
"isRemoved": false,
"updatedAt": "abc123",
"createdAt": "abc123",
"noOfSchedules": 987,
"noOfWorkflows": 123,
"token": "xyz789",
"infraNamespace": "xyz789",
"serviceAccount": "abc123",
"infraScope": "namespace",
"infraNsExists": false,
"infraSaExists": false,
"installationType": "CONNECTOR",
"k8sConnectorID": "abc123",
"lastWorkflowTimestamp": "abc123",
"startTime": "abc123",
"version": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "xyz789",
"infraType": "Kubernetes",
"updateStatus": "AVAILABLE"
}
InfraFilterInput
Description
Defines filter options for infras
Example
{}
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": ["abc123"]
}
InfrastructureType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
InstallationType
Description
InstallationType defines the installation method used by the user
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
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
{}
K8SProbe
Description
Defines the K8S probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
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 |
fieldSelector - String
|
Field Selector of the Probe |
labelSelector - String
|
Label Selector of the Probe |
operation - String
|
Operation of the Probe |
data - String!
|
Data of the Probe |
Example
{
"probeTimeout": 123,
"interval": 123,
"retry": 123,
"probePollingInterval": 987,
"initialDelaySeconds": 987,
"stopOnFailure": false,
"group": "abc123",
"version": "abc123",
"resource": "abc123",
"namespace": "xyz789",
"fieldSelector": "xyz789",
"labelSelector": "xyz789",
"operation": "abc123",
"data": "xyz789"
}
K8SProbeRequest
Description
Defines the input for K8S probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
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 |
fieldSelector - String
|
Field Selector of the Probe |
labelSelector - String
|
Label Selector of the Probe |
operation - String
|
Operation of the Probe |
data - String!
|
Data of the Probe |
Example
{}
KeyToPath
Description
Maps a string key to a path within a volume.
Fields
Field Name | Description |
---|---|
key - String!
|
The key to project. |
path - String!
|
The relative path of the file to map the key to. |
mode - Int
|
Optional: mode bits used to set permissions on this file. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. |
Example
{
"key": "xyz789",
"path": "xyz789",
"mode": 123
}
KeyToPathInput
Description
Maps a string key to a path within a volume.
Fields
Input Field | Description |
---|---|
key - String!
|
The key to project. |
path - String!
|
The relative path of the file to map the key to. |
mode - Int
|
Optional: mode bits used to set permissions on this file. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. |
Example
{}
Link
LinuxInfra
Description
Defines the details for a infra
Fields
Field Name | Description |
---|---|
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 |
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 |
noOfSchedules - Int
|
Number of schedules created in the infra |
noOfWorkflows - Int
|
Number of workflows run in the infra |
lastWorkflowTimestamp - String
|
Timestamp of the last workflow 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 |
lastHeartbeat - String
|
Last Heartbeat status sent by the infra |
hostname - String
|
hostname of the infra |
Example
{
"infraID": 4,
"name": "abc123",
"description": "xyz789",
"tags": ["abc123"],
"environmentID": "abc123",
"isActive": false,
"isInfraConfirmed": true,
"isRemoved": false,
"updatedAt": "abc123",
"createdAt": "xyz789",
"noOfSchedules": 987,
"noOfWorkflows": 987,
"lastWorkflowTimestamp": "abc123",
"startTime": "xyz789",
"version": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "abc123",
"hostname": "xyz789"
}
LinuxInfraFilterInput
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
{}
ListGameDayRequest
Fields
Input Field | Description |
---|---|
gameDayIDs - [String!]
|
|
pagination - Pagination
|
Details for fetching paginated data |
filter - GamedayFilterInput
|
Details for fetching filtered data |
sort - GamedaySortInput
|
Details for fetching sorted data |
Example
{}
ListGameDayRunsRequest
ListGamedayResponse
Fields
Field Name | Description |
---|---|
totalNoOfGamedays - Int!
|
Total number of workflows |
gamedays - [GameDayResponse]!
|
Details related to the workflows |
Example
{"totalNoOfGamedays": 987, "gamedays": [GameDayResponse]}
ListInfraRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
infraIDs - [ID!]
|
Array of infra IDs for which details will be fetched |
environmentIDs - [ID!]
|
Environment ID |
k8sConnectorIDs - [ID!]
|
Connector ID |
pagination - Pagination
|
Details for fetching paginated data |
filter - InfraFilterInput
|
Details for fetching filtered data |
Example
{}
ListInfraResponse
ListLinuxInfraRequest
Description
Defines the details for a workflow
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 - LinuxInfraFilterInput
|
Details for fetching filtered data |
Example
{}
ListLinuxInfraResponse
Description
Defines the details for a infras with total infras count
Fields
Field Name | Description |
---|---|
totalNoOfInfras - Int!
|
Total number of infras |
infras - [LinuxInfra]!
|
Details related to the infras |
Example
{"totalNoOfInfras": 987, "infras": [LinuxInfra]}
ListWorkflowRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
workflowIDs - [ID]
|
Array of workflow IDs for which details will be fetched |
pagination - Pagination
|
Details for fetching paginated data |
sort - WorkflowSortInput
|
Details for fetching sorted data |
filter - WorkflowFilterInput
|
Details for fetching filtered data |
Example
{}
ListWorkflowResponse
Description
Defines the details for a workflow with total workflow count
Fields
Field Name | Description |
---|---|
totalNoOfWorkflows - Int!
|
Total number of workflows |
workflows - [Workflow]!
|
Details related to the workflows |
Example
{"totalNoOfWorkflows": 123, "workflows": [Workflow]}
ListWorkflowRunRequest
Description
Defines the details for workflow runs
Fields
Input Field | Description |
---|---|
workflowRunIDs - [ID]
|
Array of workflow run IDs for which details will be fetched |
notifyIDs - [ID]
|
Array of notify IDs for which details will be fetched |
workflowIDs - [ID]
|
Array of workflow IDs for which details will be fetched |
pagination - Pagination
|
Details for fetching paginated data |
sort - WorkflowRunSortInput
|
Details for fetching sorted data |
filter - WorkflowRunFilterInput
|
Details for fetching filtered data |
Example
{}
ListWorkflowRunResponse
Description
Defines the details of a workflow to sent as response
Fields
Field Name | Description |
---|---|
totalNoOfWorkflowRuns - Int!
|
Total number of workflow runs |
workflowRuns - [WorkflowRun]!
|
Defines details of workflow runs |
Example
{
"totalNoOfWorkflowRuns": 123,
"workflowRuns": [WorkflowRun]
}
LocalObjectReference
Description
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
Fields
Field Name | Description |
---|---|
name - String!
|
Name of the referent. |
Example
{"name": "xyz789"}
LocalObjectReferenceInput
Description
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
Fields
Input Field | Description |
---|---|
name - String!
|
Name of the referent. |
Example
{}
Maintainer
Metadata
Fields
Field Name | Description |
---|---|
name - String!
|
|
version - String!
|
|
annotations - Annotation!
|
Example
{
"name": "xyz789",
"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
{}
Mode
Description
Defines the different modes of Probes
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
{}
MountPropagationMode
Description
MountPropagationMode describes mount propagation.
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
NFSVolumeSource
Description
Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.
Example
{
"server": "abc123",
"path": "abc123",
"readOnly": true
}
NFSVolumeSourceInput
Description
Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.
Example
{}
NonCronExperiment
ObjectFieldSelector
Description
ObjectFieldSelector selects an APIVersioned field of an object.
Example
{
"apiVersion": "xyz789",
"fieldPath": "abc123"
}
ObjectFieldSelectorInput
POST
Description
Details of POST request
Example
{
"contentType": "abc123",
"body": "abc123",
"bodyPath": "abc123",
"criteria": "abc123",
"responseCode": "xyz789"
}
POSTRequest
Description
Details for input of the POST request
Example
{}
PROMProbe
Description
Defines the PROM probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
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": 987,
"interval": 987,
"retry": 123,
"probePollingInterval": 123,
"initialDelaySeconds": 123,
"stopOnFailure": false,
"endpoint": "xyz789",
"query": "abc123",
"queryPath": "abc123",
"comparator": Comparator
}
PROMProbeRequest
Description
Defines the input for PROM probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - Int
|
Timeout of the Probe |
interval - Int!
|
Interval of the Probe |
retry - Int!
|
Retry interval of the Probe |
probePollingInterval - Int!
|
Polling interval of the Probe |
initialDelaySeconds - Int
|
Initial delay interval of the Probe in seconds |
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
{}
PackageInformation
Fields
Field Name | Description |
---|---|
packageName - String!
|
|
experiments - [Experiments!]!
|
Example
{
"packageName": "xyz789",
"experiments": [Experiments]
}
Pagination
PersistentVolumeClaimTemplate
Description
PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
Fields
Field Name | Description |
---|---|
objectMeta - String
|
May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. |
spec - String
|
The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. |
Example
{
"objectMeta": "xyz789",
"spec": "xyz789"
}
PersistentVolumeClaimTemplateInput
Description
PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
Fields
Input Field | Description |
---|---|
objectMeta - String
|
May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. |
spec - String
|
The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. |
Example
{}
PersistentVolumeClaimVolumeSource
Description
PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod.
Example
{"claimName": "abc123", "readOnly": false}
PersistentVolumeClaimVolumeSourceInput
Description
PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod.
Example
{}
PhotonPersistentDiskVolumeSource
Description
Represents a Photon Controller persistent disk resource.
Example
{
"pdID": "xyz789",
"fsType": "xyz789"
}
PhotonPersistentDiskVolumeSourceInput
Description
Represents a Photon Controller persistent disk resource.
Example
{}
PortworxVolumeSource
Description
PortworxVolumeSource represents a Portworx volume resource.
Fields
Field Name | Description |
---|---|
volumeID - String!
|
VolumeID uniquely identifies a Portworx volume |
fsType - String
|
FSType represents the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{
"volumeID": "xyz789",
"fsType": "xyz789",
"readOnly": false
}
PortworxVolumeSourceInput
Description
PortworxVolumeSource represents a Portworx volume resource.
Fields
Input Field | Description |
---|---|
volumeID - String!
|
VolumeID uniquely identifies a Portworx volume |
fsType - String
|
FSType represents the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. |
readOnly - Boolean
|
Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. |
Example
{}
PredefinedWorkflowList
Probe
Description
Defines the details of the Probe entity
Fields
Field Name | Description |
---|---|
identifiers - Identifiers!
|
Harness identifiers |
probeId - String!
|
ID of the Probe |
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] |
httpProperties - HTTPProbe
|
HTTP Properties of the specific type of the Probe |
cmdProperties - CMDProbe
|
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 |
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
{
"identifiers": Identifiers,
"probeId": "abc123",
"name": "xyz789",
"description": "abc123",
"tags": ["xyz789"],
"type": "Default",
"httpProperties": HTTPProbe,
"cmdProperties": CMDProbe,
"k8sProperties": K8SProbe,
"promProperties": PROMProbe,
"updatedAt": "xyz789",
"createdAt": "abc123",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
ProbeRequest
Description
Defines the details required for creating a Chaos Probe
Fields
Input Field | Description |
---|---|
probeId - String
|
ID of the Probe |
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] |
httpProperties - HTTPProbeRequest
|
HTTP Properties of the specific type of the Probe |
cmdProperties - CMDProbeRequest
|
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
{}
ProbeType
Description
Defines the different types of Probes
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
{}
ProjectedVolumeSource
Description
Represents a projected volume source
Fields
Field Name | Description |
---|---|
sources - [VolumeProjection!]
|
list of volume projections |
defaultMode - Int
|
Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
Example
{"sources": [VolumeProjection], "defaultMode": 987}
ProjectedVolumeSourceInput
Description
Represents a pro