-
Notifications
You must be signed in to change notification settings - Fork 180
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(spring-boot): adding spring boot charts (#575)
* chore(spring-boot): adding spring boot charts Signed-off-by: Shubham Chaudhary <[email protected]>
- Loading branch information
1 parent
6596977
commit f41ae89
Showing
33 changed files
with
1,588 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
apiVersion: litmuschaos.io/v1alpha1 | ||
kind: ChaosEngine | ||
metadata: | ||
name: spring-boot-chaos | ||
namespace: default | ||
spec: | ||
appinfo: | ||
appns: 'default' | ||
applabel: 'app=spring-boot' | ||
appkind: 'deployment' | ||
# It can be active/stop | ||
engineState: 'active' | ||
chaosServiceAccount: spring-boot-app-kill-sa | ||
experiments: | ||
- name: spring-boot-app-kill | ||
spec: | ||
components: | ||
env: | ||
# port of the spring boot application | ||
- name: CM_PORT | ||
value: '' | ||
|
||
## percentage of total pods to target | ||
- name: PODS_AFFECTED_PERC | ||
value: '' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
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' | ||
|
||
## env var that describes the library used to execute the chaos | ||
## default: litmus. Supported values: litmus | ||
- name: LIB | ||
value: 'litmus' | ||
|
||
labels: | ||
name: spring-boot-app-kill | ||
app.kubernetes.io/part-of: litmus | ||
app.kubernetes.io/component: experiment-job | ||
app.kubernetes.io/version: latest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
apiVersion: v1 | ||
kind: ServiceAccount | ||
metadata: | ||
name: spring-boot-app-kill-sa | ||
namespace: default | ||
labels: | ||
name: spring-boot-app-kill-sa | ||
app.kubernetes.io/part-of: litmus | ||
--- | ||
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: Role | ||
metadata: | ||
name: spring-boot-app-kill-sa | ||
namespace: default | ||
labels: | ||
name: spring-boot-app-kill-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"] | ||
# 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"] | ||
--- | ||
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: RoleBinding | ||
metadata: | ||
name: spring-boot-app-kill-sa | ||
namespace: default | ||
labels: | ||
name: spring-boot-app-kill-sa | ||
app.kubernetes.io/part-of: litmus | ||
roleRef: | ||
apiGroup: rbac.authorization.k8s.io | ||
kind: Role | ||
name: spring-boot-app-kill-sa | ||
subjects: | ||
- kind: ServiceAccount | ||
name: spring-boot-app-kill-sa | ||
namespace: default | ||
|
49 changes: 49 additions & 0 deletions
49
charts/spring-boot/spring-boot-app-kill/spring-boot-app-kill.chartserviceversion.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
apiVersion: litmuchaos.io/v1alpha1 | ||
kind: ChartServiceVersion | ||
metadata: | ||
createdAt: 2022-11-17T10:28:08Z | ||
name: spring-boot-app-kill | ||
version: 0.1.0 | ||
annotations: | ||
categories: Spring Boot | ||
vendor: CNCF | ||
support: https://slack.kubernetes.io/ | ||
spec: | ||
displayName: spring-boot-app-kill | ||
categoryDescription: | | ||
This experiment allows injecting Chaos Monkey app-kill assaults on Spring Boot applications, which have the [Chaos Monkey for Spring Boot](https://codecentric.github.io/chaos-monkey-spring-boot/) in their classpath. | ||
It can target random pods with a Spring Boot application and allows configuring the assaults to inject app-kill. It tests the resiliency of the system when some applications are having unexpected faulty behavior. | ||
keywords: | ||
- Kubernetes | ||
- K8S | ||
- Spring Boot | ||
- Pod | ||
platforms: | ||
- GKE | ||
- Konvoy | ||
- Packet(Kubeadm) | ||
- Minikube | ||
- EKS | ||
maturity: alpha | ||
maintainers: | ||
- name: Stephane Cazeaux | ||
email: [email protected] | ||
- name: Shubham Chaudhary | ||
email: [email protected] | ||
minKubeVersion: 1.12.0 | ||
provider: | ||
name: Orange | ||
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/spring-boot/spring-boot-app-kill | ||
- name: Documentation | ||
url: https://litmuschaos.github.io/litmus/experiments/categories/spring-boot/spring-boot-app-kill | ||
- name: Video | ||
url: | ||
icon: | ||
- url: | ||
mediatype: "" | ||
chaosexpcrdlink: https://raw.githubusercontent.com/litmuschaos/chaos-charts/master/charts/spring-boot-app-kill/experiment.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
apiVersion: litmuschaos.io/v1alpha1 | ||
kind: ChaosEngine | ||
metadata: | ||
name: spring-boot-chaos | ||
namespace: default | ||
spec: | ||
appinfo: | ||
appns: 'default' | ||
applabel: 'app=spring-boot' | ||
appkind: 'deployment' | ||
# It can be active/stop | ||
engineState: 'active' | ||
chaosServiceAccount: spring-boot-cpu-stress-sa | ||
experiments: | ||
- name: spring-boot-cpu-stress | ||
spec: | ||
components: | ||
env: | ||
# set chaos duration (in sec) as desired | ||
- name: TOTAL_CHAOS_DURATION | ||
value: '30' | ||
|
||
# it contains fraction of used cpu. 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: '' | ||
|
||
## percentage of total pods to target | ||
- name: PODS_AFFECTED_PERC | ||
value: '' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
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' | ||
|
||
## env var that describes the library used to execute the chaos | ||
## default: litmus. Supported values: litmus | ||
- name: LIB | ||
value: 'litmus' | ||
|
||
labels: | ||
name: spring-boot-cpu-stress | ||
app.kubernetes.io/part-of: litmus | ||
app.kubernetes.io/component: experiment-job | ||
app.kubernetes.io/version: latest |
Oops, something went wrong.