apiVersion: litmuschaos.io/v1alpha1 description: message: | It can target random pods with a Spring Boot application and allows configuring the assaults to inject app-kill kind: ChaosExperiment metadata: name: spring-boot-app-kill labels: name: spring-boot-app-kill app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: latest spec: definition: scope: Namespaced 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" ] # Track and get the runner, experiment, and helper pods log - apiGroups: [ "" ] resources: [ "pods/log" ] verbs: [ "get","list","watch" ] # for creating and managing to execute commands 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 spring-boot-app-kill command: - /bin/bash env: # port of the spring boot application - name: CM_PORT value: '' #it contains number of requests are to be attacked # n value means nth request will be affected - name: CM_LEVEL value: '1' # it limits watched packages/classes/methods - name: CM_WATCHED_CUSTOM_SERVICES value: '' # provide name of watcher # it supports controller, restController, service, repository, component, webClient - name: CM_WATCHERS value: 'restController' ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' ## Period to wait before and after injection of chaos - name: RAMP_TIME value: '' ## it defines the sequence of chaos execution for multiple target pods ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' labels: name: spring-boot-app-kill app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job app.kubernetes.io/version: latest --- apiVersion: litmuschaos.io/v1alpha1 description: message: | It can target random pods with a Spring Boot application and allows configuring the assaults to inject cpu-stress kind: ChaosExperiment metadata: name: spring-boot-cpu-stress labels: name: spring-boot-cpu-stress app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: latest spec: definition: scope: Namespaced 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" ] # Track and get the runner, experiment, and helper pods log - apiGroups: [ "" ] resources: [ "pods/log" ] verbs: [ "get","list","watch" ] # for creating and managing to execute commands 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 spring-boot-cpu-stress command: - /bin/bash env: # it contains fraction of cpu to be stressed(0.95 equals 95%) # it supports value in range [0.1,1.0] - name: CPU_LOAD_FRACTION value: '0.9' # port of the spring boot application - name: CM_PORT value: '' #it contains number of requests are to be attacked # n value means nth request will be affected - name: CM_LEVEL value: '1' # it limits watched packages/classes/methods - name: CM_WATCHED_CUSTOM_SERVICES value: '' # provide name of watcher # it supports controller, restController, service, repository, component, webClient - name: CM_WATCHERS value: 'restController' - name: TOTAL_CHAOS_DURATION value: '30' ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' ## Period to wait before and after injection of chaos - name: RAMP_TIME value: '' ## it defines the sequence of chaos execution for multiple target pods ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' labels: name: spring-boot-cpu-stress app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job app.kubernetes.io/version: latest --- apiVersion: litmuschaos.io/v1alpha1 description: message: | It can target random pods with a Spring Boot application and allows configuring the assaults to inject network latency kind: ChaosExperiment metadata: name: spring-boot-latency labels: name: spring-boot-latency app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: latest spec: definition: scope: Namespaced 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" ] # Track and get the runner, experiment, and helper pods log - apiGroups: [ "" ] resources: [ "pods/log" ] verbs: [ "get","list","watch" ] # for creating and managing to execute commands 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 spring-boot-latency command: - /bin/bash env: # provide the latency (ms) - name: LATENCY value: '2000' # port of the spring boot application - name: CM_PORT value: '' # it contains number of requests are to be attacked # n value means nth request will be affected - name: CM_LEVEL value: '1' # it limits watched packages/classes/methods - name: CM_WATCHED_CUSTOM_SERVICES value: '' # provide name of watcher # it supports controller, restController, service, repository, component, webClient - name: CM_WATCHERS value: 'restController' - name: TOTAL_CHAOS_DURATION value: '30' ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' ## Period to wait before and after injection of chaos - name: RAMP_TIME value: '' ## it defines the sequence of chaos execution for multiple target pods ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' labels: name: spring-boot-latency app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job app.kubernetes.io/version: latest --- apiVersion: litmuschaos.io/v1alpha1 description: message: | It can target random pods with a Spring Boot application and allows configuring the assaults to inject memory-stress kind: ChaosExperiment metadata: name: spring-boot-memory-stress labels: name: spring-boot-memory-stress app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: latest spec: definition: scope: Namespaced 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" ] # Track and get the runner, experiment, and helper pods log - apiGroups: [ "" ] resources: [ "pods/log" ] verbs: [ "get","list","watch" ] # for creating and managing to execute commands 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 spring-boot-memory-stress command: - /bin/bash env: # it contains fraction of memory to be stressed(0.70 equals 70%) # it supports value in range [0.01,0.95] - name: MEMORY_FILL_FRACTION value: '0.70' # port of the spring boot application - name: CM_PORT value: '' # it contains number of requests are to be attacked # n value means nth request will be affected - name: CM_LEVEL value: '1' # it limits watched packages/classes/methods - name: CM_WATCHED_CUSTOM_SERVICES value: '' # provide name of watcher # it supports controller, restController, service, repository, component, webClient - name: CM_WATCHERS value: 'restController' - name: TOTAL_CHAOS_DURATION value: '30' ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' ## Period to wait before and after injection of chaos - name: RAMP_TIME value: '' ## it defines the sequence of chaos execution for multiple target pods ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' labels: name: spring-boot-memory-stress app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job app.kubernetes.io/version: latest --- apiVersion: litmuschaos.io/v1alpha1 description: message: | It can target random pods with a Spring Boot application and allows configuring the assaults to inject network latency kind: ChaosExperiment metadata: name: spring-boot-exceptions labels: name: spring-boot-exceptions app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: latest spec: definition: scope: Namespaced 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" ] # Track and get the runner, experiment, and helper pods log - apiGroups: [ "" ] resources: [ "pods/log" ] verbs: [ "get","list","watch" ] # for creating and managing to execute commands 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 spring-boot-exceptions command: - /bin/bash env: # Type of raised exception - name: CM_EXCEPTIONS_TYPE value: 'java.lang.IllegalArgumentException' # Argument of raised exception - name: CM_EXCEPTIONS_ARGUMENTS value: 'java.lang.String:custom illegal argument exception' # port of the spring boot application - name: CM_PORT value: '' #it contains number of requests are to be attacked # n value means nth request will be affected - name: CM_LEVEL value: '1' # it limits watched packages/classes/methods - name: CM_WATCHED_CUSTOM_SERVICES value: '' # provide name of watcher # it supports controller, restController, service, repository, component, webClient - name: CM_WATCHERS value: 'restController' - name: TOTAL_CHAOS_DURATION value: '30' ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' ## Period to wait before and after injection of chaos - name: RAMP_TIME value: '' ## it defines the sequence of chaos execution for multiple target pods ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' labels: name: spring-boot-exceptions app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job app.kubernetes.io/version: latest --- apiVersion: litmuschaos.io/v1alpha1 description: message: | It can target random pods with a Spring Boot application and allows configuring the assaults to inject cpu-stress kind: ChaosExperiment metadata: name: spring-boot-faults labels: name: spring-boot-faults app.kubernetes.io/part-of: litmus app.kubernetes.io/component: chaosexperiment app.kubernetes.io/version: latest spec: definition: scope: Namespaced 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" ] # Track and get the runner, experiment, and helper pods log - apiGroups: [ "" ] resources: [ "pods/log" ] verbs: [ "get","list","watch" ] # for creating and managing to execute commands 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 spring-boot-faults command: - /bin/bash env: # it enables spring app-kill fault - name: CM_KILL_APPLICATION_ACTIVE value: '' # it enables spring-boot latency fault - name: CM_LATENCY_ACTIVE value: '' # provide the latency (ms) # it is applicable when latency is active - name: LATENCY value: '2000' # it enables spring-boot memory stress fault - name: CM_MEMORY_ACTIVE value: '' # it contains fraction of memory to be stressed(0.70 equals 70%) # it supports value in range [0.01,0.95] # it is applicable when memory is active - name: MEMORY_FILL_FRACTION value: '0.70' # it enables spring-boot cpu stress fault - name: CM_CPU_ACTIVE value: '' # it contains fraction of cpu to be stressed(0.95 equals 95%) # it supports value in range [0.1,1.0] # it is applicable when cpu is active - name: CPU_LOAD_FRACTION value: '0.9' # it enables spring-boot exceptions fault - name: CM_EXCEPTIONS_ACTIVE value: '' # Type of raised exception # it is applicable when exceptions is active - name: CM_EXCEPTIONS_TYPE value: 'java.lang.IllegalArgumentException' # Argument of raised exception # it is applicable when exceptions is active - name: CM_EXCEPTIONS_ARGUMENTS value: 'java.lang.String:custom illegal argument exception' # port of the spring boot application - name: CM_PORT value: '' #it contains number of requests are to be attacked # n value means nth request will be affected - name: CM_LEVEL value: '1' # it limits watched packages/classes/methods - name: CM_WATCHED_CUSTOM_SERVICES value: '' # provide name of watcher # it supports controller, restController, service, repository, component, webClient - name: CM_WATCHERS value: 'restController' - name: TOTAL_CHAOS_DURATION value: '30' ## percentage of total pods to target - name: PODS_AFFECTED_PERC value: '' ## Period to wait before and after injection of chaos - name: RAMP_TIME value: '' ## it defines the sequence of chaos execution for multiple target pods ## supported values: serial, parallel - name: SEQUENCE value: 'parallel' labels: name: spring-boot-faults app.kubernetes.io/part-of: litmus app.kubernetes.io/component: experiment-job app.kubernetes.io/version: latest ---