-
Notifications
You must be signed in to change notification settings - Fork 0
/
Taskfile.yaml
46 lines (42 loc) · 1.7 KB
/
Taskfile.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
version: "3"
tasks:
build-stress-test-image:
desc: build the container image used for stress testing
vars:
BUILDKIT_PROGRESS: plain
cmds:
- docker build -t ghcr.io/miracum/vfps/stress-test:v1 --target=stress-test --iidfile=./stress-test-iid.txt .
sources:
- src/Vfps.StressTests/*.cs
generates:
- ./stress-test-iid.txt
install-argo-cli:
desc: download and install the argo workflows cli
dir: tests/chaos
cmds:
- curl -sL -o - https://github.com/argoproj/argo-workflows/releases/download/v3.5.2/argo-linux-amd64.gz | gunzip > argo
- chmod +x ./argo
- ./argo version
status:
- ./argo version
create-cluster:
desc: create a KinD cluster
cmds:
- kind create cluster --name kind
status:
- kind get clusters | grep kind
chaos-test:
desc: run the chaos testing workflow
dir: tests/chaos
deps:
- create-cluster
- install-argo-cli
- build-stress-test-image
cmds:
- helm repo add chaos-mesh https://charts.chaos-mesh.org
- kind load docker-image ghcr.io/miracum/vfps/stress-test:v1
- helm upgrade --install --create-namespace -n vfps -f vfps-values.yaml --wait vfps oci://ghcr.io/miracum/charts/vfps
- helm upgrade --install chaos-mesh chaos-mesh/chaos-mesh --create-namespace --wait -n chaos-mesh --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath='/run/containerd/containerd.sock'
- kubectl apply -f chaos-mesh-rbac.yaml
- helm upgrade --install --create-namespace -n argo-workflows -f argo-workflows-values.yaml --wait argo-workflows oci://ghcr.io/argoproj/argo-helm/argo-workflows
- ./argo submit workflow.yaml -n vfps --wait --log