-
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
Signed-off-by: Shubham Chaudhary <[email protected]>
- Loading branch information
1 parent
6596977
commit 5871cce
Showing
29 changed files
with
1,298 additions
and
0 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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,30 @@ | ||
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: | ||
# set chaos duration (in sec) as desired | ||
- name: TOTAL_CHAOS_DURATION | ||
value: '30' | ||
|
||
# Cron expression like */1 * * * * ? can be set to enable chaos monkey AppKiller assault on a schedule | ||
- name: CM_KILL_APPLICATION_CRON | ||
value: '*/1 * * * * ?' | ||
|
||
## 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,84 @@ | ||
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: | ||
|
||
# Cron expression like */1 * * * * ? can be set to enable chaos monkey AppKiller assault on a schedule | ||
- name: CM_KILL_APPLICATION_CRON | ||
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-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,34 @@ | ||
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' | ||
|
||
# Cron expression like */1 * * * * ? can be set to enable cpu assault on a schedule | ||
- name: CM_CPU_CRON | ||
value: '*/1 * * * * ?' | ||
|
||
# Final fraction of used cpu by assault. 0.95 equals 95 %. | ||
- name: CM_CPU_LOAD_TARGET_FRACTION | ||
value: '0.8' | ||
|
||
## percentage of total pods to target | ||
- name: PODS_AFFECTED_PERC | ||
value: '' | ||
|
Oops, something went wrong.