Directory restructure to add scenarios and experiments (#559)
* Updated dir struture with scenarios and experiments dir Signed-off-by: Amit Kumar Das <amit.das@harness.io> * Added icons Signed-off-by: Amit Kumar Das <amit.das@harness.io>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2021-06-10T10:28:08Z
|
||||
name: aws-ssm-chaos-by-id
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: aws-ssm-chaos-by-id
|
||||
categoryDescription: |
|
||||
AWS SSM Chaos By ID contains chaos to disrupt the state of infra resources. The experiment can induce chaos on AWS resources using Amazon SSM Run Command This is carried out by using SSM Docs that defines the actions performed by Systems Manager on your managed instances (having SSM agent installed) which let us perform chaos experiments on resources.
|
||||
- Causes chaos on AWS ec2 instances with given instance ID(s) using SSM docs for total chaos duration with the specified chaos interval.
|
||||
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the target application pod(if provided).
|
||||
keywords:
|
||||
- SSM
|
||||
- AWS
|
||||
- EC2
|
||||
platforms:
|
||||
- AWS
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: Udit Gaurav
|
||||
email: udit@chaosnative.com
|
||||
provider:
|
||||
name: ChaosNative
|
||||
labels:
|
||||
app.kubernetes.io/component: chartserviceversion
|
||||
app.kubernetes.io/version: latest
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm/aws-ssm-chaos-by-id
|
||||
- name: Documentation
|
||||
url: https://litmuschaos.github.io/litmus/experiments/categories/aws-ssm/aws-ssm-chaos-by-id/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml
|
62
experiments/aws-ssm/aws-ssm-chaos-by-id/engine.yaml
Normal file
62
experiments/aws-ssm/aws-ssm-chaos-by-id/engine.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: aws-ssm-chaos-by-id-sa
|
||||
experiments:
|
||||
- name: aws-ssm-chaos-by-id
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Instance ID of the target ec2 instance
|
||||
# Multiple IDs can also be provided as comma separated values ex: id1,id2
|
||||
- name: EC2_INSTANCE_ID
|
||||
value: ''
|
||||
|
||||
# provide the region name of the target instances
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to be comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
129
experiments/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml
Normal file
129
experiments/aws-ssm/aws-ssm-chaos-by-id/experiment.yaml
Normal file
@@ -0,0 +1,129 @@
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Execute AWS SSM Chaos on given ec2 instance IDs
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: chaosexperiment
|
||||
app.kubernetes.io/version: latest
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
image: "litmuschaos/go-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ./experiments -name aws-ssm-chaos-by-id
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Instance ID of the target ec2 instance
|
||||
# Multiple IDs can also be provided as comma separated values ex: id1,id2
|
||||
- name: EC2_INSTANCE_ID
|
||||
value: ''
|
||||
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# it defines the sequence of chaos execution for multiple target instances
|
||||
# supported values: serial, parallel
|
||||
- name: SEQUENCE
|
||||
value: 'parallel'
|
||||
|
||||
# Provide the path of aws credentials mounted from secret
|
||||
- name: AWS_SHARED_CREDENTIALS_FILE
|
||||
value: '/tmp/cloud_config.yml'
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
||||
|
||||
# provide the number of workers for memory stress
|
||||
- name: NUMBER_OF_WORKERS
|
||||
value: '1'
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to be comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# provide the LIB
|
||||
# only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: experiment-job
|
||||
app.kubernetes.io/version: latest
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
62
experiments/aws-ssm/aws-ssm-chaos-by-id/rbac.yaml
Normal file
62
experiments/aws-ssm/aws-ssm-chaos-by-id/rbac.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: aws-ssm-chaos-by-id-sa
|
||||
namespace: default
|
@@ -0,0 +1,43 @@
|
||||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2021-06-10T10:28:08Z
|
||||
name: aws-ssm-chaos-by-tag
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
vendor: CNCF
|
||||
support: https://slack.kubernetes.io/
|
||||
spec:
|
||||
displayName: aws-ssm-chaos-by-tag
|
||||
categoryDescription: |
|
||||
AWS SSM Chaos By ID contains chaos to disrupt the state of infra resources. The experiment can induce chaos on AWS resources using Amazon SSM Run Command This is carried out by using SSM Docs that defines the actions performed by Systems Manager on your managed instances (having SSM agent installed) which let us perform chaos experiments on resources.
|
||||
- Causes chaos on AWS ec2 instances with given instance tag using SSM docs for total chaos duration with the specified chaos interval.
|
||||
- Tests deployment sanity (replica availability & uninterrupted service) and recovery workflows of the target application pod(if provided).
|
||||
keywords:
|
||||
- SSM
|
||||
- AWS
|
||||
- EC2
|
||||
platforms:
|
||||
- AWS
|
||||
maturity: alpha
|
||||
chaosType: infra
|
||||
maintainers:
|
||||
- name: Udit Gaurav
|
||||
email: udit@chaosnative.com
|
||||
provider:
|
||||
name: ChaosNative
|
||||
labels:
|
||||
app.kubernetes.io/component: chartserviceversion
|
||||
app.kubernetes.io/version: latest
|
||||
links:
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm/aws-ssm-chaos-by-tag
|
||||
- name: Documentation
|
||||
url: https://litmuschaos.github.io/litmus/experiments/categories/aws-ssm/aws-ssm-chaos-by-tag/
|
||||
- name: Video
|
||||
url:
|
||||
icon:
|
||||
- url:
|
||||
mediatype: ""
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml
|
62
experiments/aws-ssm/aws-ssm-chaos-by-tag/engine.yaml
Normal file
62
experiments/aws-ssm/aws-ssm-chaos-by-tag/engine.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
kind: ChaosEngine
|
||||
metadata:
|
||||
name: nginx-chaos
|
||||
namespace: default
|
||||
spec:
|
||||
engineState: 'active'
|
||||
chaosServiceAccount: aws-ssm-chaos-by-tag-sa
|
||||
experiments:
|
||||
- name: aws-ssm-chaos-by-tag
|
||||
spec:
|
||||
components:
|
||||
env:
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
# set chaos duration (in sec) as desired
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# provide tag of the target ec2 instances
|
||||
# ex: team:devops (key:value)
|
||||
- name: EC2_INSTANCE_TAG
|
||||
value: ''
|
||||
|
||||
# provide the region name of the target instances
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
133
experiments/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml
Normal file
133
experiments/aws-ssm/aws-ssm-chaos-by-tag/experiment.yaml
Normal file
@@ -0,0 +1,133 @@
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Execute AWS SSM Chaos on given ec2 instance Tag
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-tag
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: chaosexperiment
|
||||
app.kubernetes.io/version: latest
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
image: "litmuschaos/go-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ./experiments -name aws-ssm-chaos-by-tag
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# provide tag of the target ec2 instances
|
||||
# ex: team:devops (key:value)
|
||||
- name: EC2_INSTANCE_TAG
|
||||
value: ''
|
||||
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# it defines the sequence of chaos execution for multiple target instances
|
||||
# supported values: serial, parallel
|
||||
- name: SEQUENCE
|
||||
value: 'parallel'
|
||||
|
||||
# Provide the path of aws credentials mounted from secret
|
||||
- name: AWS_SHARED_CREDENTIALS_FILE
|
||||
value: '/tmp/cloud_config.yml'
|
||||
|
||||
# percentage of total instance to target
|
||||
- name: INSTANCE_AFFECTED_PERC
|
||||
value: ''
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
||||
|
||||
# provide the number of workers for memory stress
|
||||
- name: NUMBER_OF_WORKERS
|
||||
value: '1'
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# provide the LIB
|
||||
# only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: experiment-job
|
||||
app.kubernetes.io/version: latest
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
62
experiments/aws-ssm/aws-ssm-chaos-by-tag/rbac.yaml
Normal file
62
experiments/aws-ssm/aws-ssm-chaos-by-tag/rbac.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
namespace: default
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
rules:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
app.kubernetes.io/part-of: litmus
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: aws-ssm-chaos-by-tag-sa
|
||||
namespace: default
|
38
experiments/aws-ssm/aws-ssm.chartserviceversion.yaml
Normal file
38
experiments/aws-ssm/aws-ssm.chartserviceversion.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
apiVersion: litmuchaos.io/v1alpha1
|
||||
kind: ChartServiceVersion
|
||||
metadata:
|
||||
createdAt: 2021-06-11T10:28:08Z
|
||||
name: aws-ssm
|
||||
version: 0.1.0
|
||||
annotations:
|
||||
categories: Kubernetes
|
||||
chartDescription: Injects aws ssm chaos
|
||||
spec:
|
||||
displayName: AWS SSM
|
||||
categoryDescription: >
|
||||
aws ssm contains chaos to disrupt state of aws resources by litmus aws ssm docs
|
||||
experiments:
|
||||
- name: aws-ssm-chaos-by-id
|
||||
description: ""
|
||||
- name: aws-ssm-chaos-by-tag
|
||||
description: ""
|
||||
keywords:
|
||||
- AWS
|
||||
- SSM
|
||||
- EC2
|
||||
maintainers:
|
||||
- name: ksatchit
|
||||
email: karthik@chaosnative.com
|
||||
provider:
|
||||
name: ChaosNative
|
||||
links:
|
||||
- name: Kubernetes Website
|
||||
url: https://kubernetes.io
|
||||
- name: Source Code
|
||||
url: https://github.com/litmuschaos/litmus-go/tree/master/experiments/aws-ssm
|
||||
- name: Kubernetes Slack
|
||||
url: https://slack.kubernetes.io/
|
||||
icon:
|
||||
- url: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/icons/aws-ssm.png
|
||||
mediatype: image/png
|
||||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/aws-ssm/experiments.yaml
|
8
experiments/aws-ssm/aws-ssm.package.yaml
Normal file
8
experiments/aws-ssm/aws-ssm.package.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
packageName: aws-ssm
|
||||
experiments:
|
||||
- name: aws-ssm-chaos-by-id
|
||||
CSV: aws-ssm-chaos-by-id.chartserviceversion.yaml
|
||||
desc: "aws-ssm-chaos-by-id"
|
||||
- name: aws-ssm-chaos-by-tag
|
||||
CSV: aws-ssm-chaos-by-tag.chartserviceversion.yaml
|
||||
desc: "aws-ssm-chaos-by-tag"
|
266
experiments/aws-ssm/experiments.yaml
Normal file
266
experiments/aws-ssm/experiments.yaml
Normal file
@@ -0,0 +1,266 @@
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Execute AWS SSM Chaos on given ec2 instance IDs
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-id
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: chaosexperiment
|
||||
app.kubernetes.io/version: latest
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
image: "litmuschaos/go-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ./experiments -name aws-ssm-chaos-by-id
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# Instance ID of the target ec2 instance
|
||||
# Multiple IDs can also be provided as comma separated values ex: id1,id2
|
||||
- name: EC2_INSTANCE_ID
|
||||
value: ''
|
||||
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# it defines the sequence of chaos execution for multiple target instances
|
||||
# supported values: serial, parallel
|
||||
- name: SEQUENCE
|
||||
value: 'parallel'
|
||||
|
||||
# Provide the path of aws credentials mounted from secret
|
||||
- name: AWS_SHARED_CREDENTIALS_FILE
|
||||
value: '/tmp/cloud_config.yml'
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
||||
|
||||
# provide the number of workers for memory stress
|
||||
- name: NUMBER_OF_WORKERS
|
||||
value: '1'
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to be comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# provide the LIB
|
||||
# only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-id
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: experiment-job
|
||||
app.kubernetes.io/version: latest
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
||||
|
||||
---
|
||||
apiVersion: litmuschaos.io/v1alpha1
|
||||
description:
|
||||
message: |
|
||||
Execute AWS SSM Chaos on given ec2 instance Tag
|
||||
kind: ChaosExperiment
|
||||
metadata:
|
||||
name: aws-ssm-chaos-by-tag
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: chaosexperiment
|
||||
app.kubernetes.io/version: latest
|
||||
spec:
|
||||
definition:
|
||||
scope: Cluster
|
||||
permissions:
|
||||
# Create and monitor the experiment & helper pods
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["create","delete","get","list","patch","update", "deletecollection"]
|
||||
# Performs CRUD operations on the events inside chaosengine and chaosresult
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["create","get","list","patch","update"]
|
||||
# Fetch configmaps & secrets details and mount it to the experiment pod (if specified)
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets","configmaps"]
|
||||
verbs: ["get","list",]
|
||||
# Track and get the runner, experiment, and helper pods log
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get","list","watch"]
|
||||
# for creating and managing to execute comands inside target container
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/exec"]
|
||||
verbs: ["get","list","create"]
|
||||
# for configuring and monitor the experiment job by the chaos-runner pod
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create","list","get","delete","deletecollection"]
|
||||
# for creation, status polling and deletion of litmus chaos resources used within a chaos workflow
|
||||
- apiGroups: ["litmuschaos.io"]
|
||||
resources: ["chaosengines","chaosexperiments","chaosresults"]
|
||||
verbs: ["create","list","get","patch","update","delete"]
|
||||
image: "litmuschaos/go-runner:latest"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- -c
|
||||
- ./experiments -name aws-ssm-chaos-by-tag
|
||||
command:
|
||||
- /bin/bash
|
||||
env:
|
||||
- name: TOTAL_CHAOS_DURATION
|
||||
value: '60'
|
||||
|
||||
- name: CHAOS_INTERVAL
|
||||
value: '60'
|
||||
|
||||
# Period to wait before and after injection of chaos in sec
|
||||
- name: RAMP_TIME
|
||||
value: ''
|
||||
|
||||
# provide tag of the target ec2 instances
|
||||
# ex: team:devops (key:value)
|
||||
- name: EC2_INSTANCE_TAG
|
||||
value: ''
|
||||
|
||||
- name: REGION
|
||||
value: ''
|
||||
|
||||
# it defines the sequence of chaos execution for multiple target instances
|
||||
# supported values: serial, parallel
|
||||
- name: SEQUENCE
|
||||
value: 'parallel'
|
||||
|
||||
# Provide the path of aws credentials mounted from secret
|
||||
- name: AWS_SHARED_CREDENTIALS_FILE
|
||||
value: '/tmp/cloud_config.yml'
|
||||
|
||||
# percentage of total instance to target
|
||||
- name: INSTANCE_AFFECTED_PERC
|
||||
value: ''
|
||||
|
||||
# Provide the name of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_NAME
|
||||
value: ''
|
||||
|
||||
# Provide the type of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_TYPE
|
||||
value: ''
|
||||
|
||||
# Provide the format of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_FORMAT
|
||||
value: ''
|
||||
|
||||
# Provide the path of ssm doc
|
||||
# if not using the default stress docs
|
||||
- name: DOCUMENT_PATH
|
||||
value: ''
|
||||
|
||||
# if you want to install dependencies to run default ssm docs
|
||||
- name: INSTALL_DEPENDENCIES
|
||||
value: 'True'
|
||||
|
||||
# provide the number of workers for memory stress
|
||||
- name: NUMBER_OF_WORKERS
|
||||
value: '1'
|
||||
|
||||
# provide the percentage of available memory to stress
|
||||
- name: MEMORY_PERCENTAGE
|
||||
value: '80'
|
||||
|
||||
# provide the CPU chores to comsumed
|
||||
# 0 will consume all the available cpu cores
|
||||
- name: CPU_CORE
|
||||
value: '0'
|
||||
|
||||
# provide the LIB
|
||||
# only litmus supported
|
||||
- name: LIB
|
||||
value: 'litmus'
|
||||
|
||||
labels:
|
||||
name: aws-ssm-chaos-by-tag
|
||||
app.kubernetes.io/part-of: litmus
|
||||
app.kubernetes.io/component: experiment-job
|
||||
app.kubernetes.io/version: latest
|
||||
secrets:
|
||||
- name: cloud-secret
|
||||
mountPath: /tmp/
|
||||
|
||||
---
|
BIN
experiments/aws-ssm/icons/aws-ssm-chaos-by-id.png
Normal file
BIN
experiments/aws-ssm/icons/aws-ssm-chaos-by-id.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
BIN
experiments/aws-ssm/icons/aws-ssm-chaos-by-tag.png
Normal file
BIN
experiments/aws-ssm/icons/aws-ssm-chaos-by-tag.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
BIN
experiments/aws-ssm/icons/aws-ssm.png
Normal file
BIN
experiments/aws-ssm/icons/aws-ssm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
Reference in New Issue
Block a user