All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
For more information and how-to, see RFC: Keep A Changelog.
- Allow annotations on chaos-controller-manager and chaos-daemon ServiceAccount #4106
- Support for deploying chaos-dashboard under the subpath #4093
- Support more rate units for networkchaos #4129
- Support for deploying chaos-dashboard with sidecar containers in helm chart #4164
- Add
values.schema.json
#4205 - Add
GreptimeDB
to ADOPTERS.md #4245 - Support configurable chaos-dns-server pod affinities #4260
- Add experiment
name
,namespace
andkind
to "apply chaos" and "recover chaos" log messages 4278 - Support for watching remote status of chaos experiments to local #4188
- Add netem/rate support for NetworkChaos #4017
- Support for setting
loadBalancerSourceRanges
in chaos-dashboard service in helm chart #4172 - Helm: allow templating of dashboard rootUrl #4370
- Support for reading database connection string from secret #4363
- Change
awschaos/*/impl.go
to useaws_session_token
with static credentials provider so that users can perform awschaos using temporary AWS credentials #4066 - Enable consistency for ghcr.io registry #4091 #4134
- Prevent mousewheel scroll from changing numeric input values. #4133
- Set the database column type to text for 'Workflow/Experiment/Schedule' #4151
- Bump go to v1.20 #4157
- Upgrade docker/login-action to v2 #4167
- Update k8s dependencies to 1.28.0 #4154
- Update lru dependency #4189
- Update swag dependency #4191
- Update ginkgo to 2.12.0 #4190
- Update k8s controller-runtime dependency #4198
- Automatically remove the token from the dashboard when it expires #4193
- Optimize
allInjected
andallRecovered
states when targets are not selected #4199 - Upgrade byteman-helper to v4.0.22 #4299
- GCP auth is changed to object with additional key
existingSecret
in helm chart values #4303
- Nothing
- Nothing
- Set
replicas: 1
automatically when HA is not enabled #4079 - Remove redundant where statements #4084
- Fix dashboard panic when exec delete action by finish_time #4100
- Fix remote cluster cannot upgrade helm release #4075
- Fix goroutine leak #4229
- Remove the duplicate
make test
#4234 - Fix daemon-server
SetDNSServer
endpoint to validate provided server address #4246 - Enable prometheus directive within CoreDNS #4321
- Fix TTL configuration from environment variables #4338
- Remove
-k
fromcurl
command lines in chaos-daemon Dockerfile #4241
- Install offline Helm Chart for a multi-cluster #3897
- Change CoreDNS listen port from 53 to 5353 #4022
- Bump go to v1.19.3 #3770
- Change ubuntu version from latest to 20.04 #3817
- Switch views between k8s and hosts nodes #3830
- New CI for finding merge conflicts #3850
- Upgrade byteman-helper to v4.0.20 #3863
- Helm: change default webhook port to 10250 #3877
- Upgrade base image for chaos-mesh to alpine:3.17 #3893
- Slow down releasing the latest version #3900
- Update k8s.io dependencies to v0.26.1 #3902
- Update sigs.k8s.io/controller-runtime to v0.14.1 and sigs.k8s.io/controller-tools to v0.11.1 #3902
- Change the package manager from
yarn
topnpm
. #3965 - Upgrade DNS CoreDNS image url to ghcr.io #3488
- Upgrade OS image for chaos-daemon container image #3905
- Replace openapi-generator with Orval and React Query #3748
- Cleanup makefile and provide
make help
#3888 - Remove
IN_DOCKER
environment variable inMakefile
#3992 - Refine TTL config of Chaos dashboard #4008
pause
would return non zero exit code when the subcommand failed #4018- use helm values to set chaos-daemon capabilities #4030
- Build binaries locally with
local/
prefix targets inMakefile
#4004 - Use kubectl cluster-info dump to enhance e2e profiling #3759
- Upgrade fx event logger #4036
- Refine logging in
pkg/selector/physicalmachine
#4037 - Setup OWNERS and OWNERS_ALIASES #4039
- Nothing
- Remove no needed file crd-v1beta1.yaml #3807
- Remove useless kubebuilder comment in webhook #3816
- Remove the unused inject-v1-pod webhook. #3885
- Fix version comparison in install.sh #3901
- Fix stuck dashboard updates when using ReadWriteOnce PVCs #3876
- Fix MySQL NO_ZERO_IN_DATE by using
*time.Time
to represent finish time #4056
- Bump go to v1.19.7 to fix CVE-2022-41723 #3978 #3981
- Bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 #3987
- Add
controller.securityContext
anddashboard.securityContext
to Helm chart #3603 - Add
RemoteCluster
resource type #3342 - Add
clusterregistry
package to help developers to develop multi-cluster reconciler #3342 - Add features about integration with helm to install Chaos Mesh in remote cluster #3384
- Add new CI "Manually Sign Container Images" to sign existing container images #3708
- Install and uninstall chaos mesh in remote cluster through
RemoteCluster
resource #3414 - MultiCluster: support inject / recover on remote cluster #3453
- Add TLS support for HTTPChaos #3549
- Use the next generation
New Workflow
UI by default #3718 - StressChaos: Support cgroup v2 for docker and crio #3698
- Nothing
- Nothing
- Remove the explicit use of pingcap/log #3674
- Fix typo in controller error message #3704
- Fix panic when logging, log kvs as pair #3716
- Fix timechaos not injected into the child process #3725
- Ignore
ScheduleSkipRemoveHistory
events to fix the memory of controller-manager keep increasing #3761 - Update
is mandatory
to true in a swagger comment #3743 - Enable mode when creating PhysicalMachineChaos with addresses in UI #3797
- Sign images and generate sbom when uploading images in CI #3766
- Nothing
- Nothing
- Nothing
- Nothing
- Fix timechaos not injected into the child process #3730
- Update
is mandatory
to true in a swagger comment #3743
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Fix: mark 2.4.1 not as pre-release version#3679
- Nothing
- Add support for
PhysicalMachine
in UI #3624
- Replace io/ioutil package with os package. #3539
- Refine logging in pkg/dashboard/apiserver/event, moved package level variable log into struct Service as a field. #3528
- Refine logging in pkg/dashboard/apiserver/auth/gcp, moved package level variable log into struct Service as a field #3527
- Change e2e config settings to append "pause image" args. #3567
- Update display of disabled scope in UI #3621
- Make the Scope render conditionally #3622
- Refine logging, remove the usage of klog in chaosctl #3628
- Dashboard: Fix rbac.yaml for token generation verbs/resources #3370
- Refine logging, remove the usage of klog in event recorder #3629
- Use int64 to restore latency for BlockChaos #3638
- Remove CRD v1beta1 support #3630
- Nothing
- Nothing
- Fix NetworkChaos fail with @ifXX in the device #3605
- Fix BlockChaos can't show Chinese name. #3536
- Add
omitempty
JSON tag to optional fields of the CRD objects. #3531 - Fix "sidecar config" e2e test cases run failed in some scenario.#3564
- Fix Integration test with bumping kubectl version. #3589
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Remove
limit
action ofBlockChaos
in the dashboard #3655 - Sync PhysicalMachineChaos to API client and forms #3660
- Fix timechaos not injected into the child process #3729
- Update
is mandatory
to true in a swagger comment #3743
- Nothing
- Nothing
- Use int64 to restore latency for BlockChaos #3638
- Nothing
- Nothing
- Fix: update helm chart annotation artifacthub.io/prerelease to false #3626
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Protect chaos available namespace and filter namespaces if needed #3473
- Respect flag
enableProfiling
and do not register profiler endpoints when it's false #3474 - Fix the blank screen after creating chaos experiment with "By YAML" #3489
- Update hint text about the manual token generating process for Kubernetes 1.24+ #3505
- Fix IOChaos
containerNames
field in UI #3533 - Fix BlockChaos can't show Chinese name. #3536
- Fix recover bug when setting force recover to true #3578
- Fix generate token failed on chaos dashboard #3595
- Nothing
- Add more status for record #3170
- Add
chaosDaemon.updateStrategy
to Helm chart to allow configuringDaemonSetUpdateStrategy
for chaos-daemon #3108 - Add AArch64 support for TimeChaos #3088
- Add integration test and link test on arm #3177
- Add
spec.privateKey.rotationPolicy
to Certificates, to comply with requirements in cert-manager 1.8 #3325 - Add
clusterregistry
package to help developers to develop multi-cluster reconciler #3342 - Support
Suspend
in next generationNew Workflow
's UI #3254 - Add helm annotations for Artifact Hub #3355
- Add implementation of blockchaos in chaos-daemon #2907
- Bump chaos-tproxy to v0.5.1 #3412
- Allow importing external workflows and copying flow nodes in next generation
New Workflow
#3368 - Add
QPS
andBurst
for Chaos Dashboard Configuration #3476 - Add guide and example for monitoring Chaos Mesh #3030
- Support
KernelChaos
inAutoForm
#3449 - Sync latest Chaosd and PhysicalMachineChaos #3477
- Add accept-tcp-flag to network delay in PysicalMachineChaos #3588
- Helm charts: update validate-auth to chaos-mesh-validation-auth #3193
- Helm charts: support latest api version of dashboard ingress #3066
- Update shell script to support shellchecks #3230
- CI: build dev-env and build-env for e2e tests if required #3264
- CI: version unrelated manifests #3293
- Bump chaos-tproxy to v0.4.6 #3272
- Helm charts: using 0.0.0 as version and appVersion #3311
- Add a comment to the flag size of memory stress in the dashboard #3359
- Refine logging in pkg/dashboard/store, removed global the log #3143
- Renamed namespace from chaos-testing to chaos-mesh #3353
- Use ContainerSelector in kernel chaos #3395
- Make possible to have more than one dns chaos server #3381
- Helm charts: Relax allowedHostPaths in chaos-daemon PSP #3350
- Run build image ci on self-hosted machine #3429
- Simplified logic and add test case about finalizers. #3422
- Update API requests with OpenAPI generated client #2926
- Implement some missing methods in ctrl server #3462
- Use
net.Interfaces()
to implementgetAllInterfaces()
#3484
- Nothing
- Removed extra import of common pkg in chaosctl/cmd/logs.go
- Removed unused local function from statuscheck/manager.go #3228
- Removed ui build and test for arm64 #3305
- Remove sed need (SC2001) #3248
- Removed not used clientset in cmd/chaos-controller-manager/main.go #3334
- Removed not used globalCacheReader in cmd/chaos-controller-manager/provider/controller.go #3343
- Removed unsupported action comments of blockchaos #3435
- Update description of memory stressors #3225
- Isolate
target
field andScope
when creatingNetworkChaos
in UI #3223 - Add arm64 architecture to ci_skip to pass required test #3305
- Adapt install.sh for kubectl/kubernetes cluster greater than 1.24 #3177
- SC2166: Use || or && rather than -o or -a #3235
- SC2206: Use quote to prevent word splitting/globbing #3234
- Fix make check does not respect the env-images.yaml [#3210] (chaos-mesh#3210)
- SC2004: Remove unnecessary $ on arithmetic variables #3247
- PhysicalMachineChaos: update stress options type #3347
- PhysicalMachineChaos: remove validate for IP and host for delay, loss, duplicate, corruption #3483
- StressChaos: run
pause
beforechoom
#3405 - JVMChaos: update the error message that can be ignored #3415
- Fix Workflow Validating Webhook Panic #3413
- Overwrite $IMAGE_BUILD_ENV_TAG with $IMAGE_TAG-$ARCH in
upload_env_image.yml
github action #3444 - Add a judgement of
enterNS
ingetAllInterfaces()
#3459 - Fix JVMChaos loading missing jar file for injection #3491
- Nothing
- Add
QPS
andBurst
for Chaos Dashboard Configuration #3476
- Implement some missing methods in ctrl server #3470
- Nothing
- Nothing
- Nothing
- Protect chaos available namespace and filter namespaces if needed #3473
- Respect flag
enableProfiling
and do not register profiler endpoints when it's false #3474 - Fix the blank screen after creating chaos experiment with "By YAML" #3489
- Update hint text about the manual token generating process for Kubernetes 1.24+ #3505
- Nothing
- JVMChaos: support inject fault into MySQL client #3189
- Nothing
- Nothing
- Nothing
- Nothing
- Add metrics for archived objects in chaos-dashboard #2568
- Add metrics for iptables, ipset and tc metrics in chaos-daemon #2540
- Add metrics for emitted event counter in chaos-controller-manager #2435
- Add metrics for grpc client #2458
- Add metrics for grpc and HTTP request duration histogram #2543
- Add metrics for bpm controlled processes #2497
- Provide additional printer columns for
action
andduration
#2526 - Add PhysicalMachine CRD #2587
- New command
physical-machine
tochaosctl
#2624 - Add status "Deleting" for chaos experiments on Chaos Dashboard #2708
- Add time skew for gettimeofday #2742
- Add support of the Unified cgroup mode (tested with containerd runtime only) for linux stress experiments #2928
- Add
StatusCheck
CRD #2954 - Add support for declaring ports in external targets in NetworkChaos experiments #2932
- Add forced recovery of httpchaos, iochaos, stresschaos, and networkchaos for chaosctl #2992
- Add namespace and pod name in failed event for podxxxchaos crd #3178
- Add next generation
New Workflow
in UI #3185 - JVMChaos: support inject fault into MySQL client #3189
- Use pipeline controller to serialize common controllers #2465
- Enable mTLS between chaos-controller-manager and chaosd #2580
- Rename Physics to Host in Chaos Dashboard #2645
- Retry oneshot chaos if it's not selected #2618
- Bump gopsutil to v3 #2681
- Add prefix for identifier of toda and tproxy in bpm #2673
- Bump toda to v0.2.2 #2747
- Bump go to 1.17 #2754
- Use github.com/pkg/errors to replace fmt.Errorf and "errors" #2779
- Kill chaos-tproxy while failing to apply config #2672
- JVMChaos: ignore AgentLoadException when install agent #2701
- Bump container-runtime to v0.11.0 #2778
- Bump kubernetes dependencies to v1.23.1 #2778
- Removed docker registry mirror #2797
- Use OpenAPI definitions to generate API Client and Form data in UI 2770
- Refine logging in pkg/selector/pod #3002
- Add
envFollowKubernetesPattern
to handle k8s-like format env in helm templates 2955 - Bump chaos-tproxy to v0.4.5 #2555
- Re-implement chaosctl based on ctrlserver #2950
- Fix wrong zero value of httpchaos replace-body-action#2990
- Bump gqlgen to v0.17.2 #3038
- Bump go to v1.18 #3055
- Bump toda to v0.2.3 #3131
- refactor: rename reconcileContext to reconcileInfo #3154
- Migrate e2e tests from self-hosted Jenkins to Github Action #2986
- Bump minimist from 1.2.5 to 1.2.6 in /ui #3058
- Specify image tag of
build-env
anddev-env
for each branch #3071 - Specify image tag in e2e tests #3147
- Must update CHANGELOG #3148
- Use chaosDaemon.mtls.enabled instead of dashboard.securityMode for chaos-daemon mtls #3168
- Helm charts: component chaos-dashboard use certain service account and roles #3145
- Refactor helm charts template, split out webhook configuration and secrets #3159
- Helm charts: apply webhook.FailurePolicy to all the webhooks with default value
Fail
#3184 - Bump memStress from v0.2.1 to v0.3 #3186
- Helm charts: configure ca bundle for webhook explicitly #3190
- Refine logging in pkg/selector/generic/namespace #3214
- Nothing
- Nothing
- Unable to load from saved objects #2585
- Fix helm install error #2591
- Fix helm conditions in ingress #2604
- Fix typo in NewExperiment #2535
- Fix chaos-kernel build, mark bcc version #2693
- Fix wrong field name of PhysicalMachineChaos on Chaos Dashboard #2724
- Fix field descriptions of GCPChaos #2791
- Fix
real_gettimeofday
on arm64 #2849 - Fix Github Action
upload-image
#2935 - Fix JVMChaos to handle the situation that the container which holds the JVM rules has been deleted #2981
- Fix typo in comments for Chaos API #3109
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Fix recover bug when setting force recover to true #3578
- Uniformly use Enter to add item in LabelField #3580
- Add
QPS
andBurst
for Chaos Dashboard Configuration #3476
- Nothing
- Nothing
- Nothing
- Nothing
- Must update CHANGELOG #3181
- Nothing
- Nothing
- Fix: find the correct pid by CommName #3336
- Nothing
- Nothing
- Migrate e2e tests from self-hosted Jenkins to Github Action #2986
- Bump minimist from 1.2.5 to 1.2.6 in /ui #3058
- Specify image tag of
build-env
anddev-env
for each branch #3071 - Bump toda to v0.2.3 #3131
- Specify image tag in e2e tests #3147
- Nothing
- Nothing
- Fix
real_gettimeofday
on arm64 #2849 - Fix Github Action
upload-image
#2935 - Fix JVMChaos to handle the situation that the container which holds the JVM rules has been deleted #2981
- Fix typo in comments for Chaos API #3109
- Nothing
- Add time skew for gettimeofday #2742
- Removed docker registry mirror #2797
- Nothing
- Nothing
- Fix default value for concurrencyPolicy #2622
- Enable the webhooks for
Schedule
andWorkflow
#2622 - Fix PhysicalMachineChaos to make it able to create network bandwidth experiment. #2850
- Fix workflow emit new events after accomplished #2911
- Fix human unreadable logging timestamp #2808 #2902 #2973
- Fix default value of percent field in iochaos #3018
- Fix the unexpected CPU stress for StressChaos with cpu resource limit #3102
- Fix the bug that create JVMChaos failed in workflow #3156
- Nothing
- Add status "Deleting" for chaos experiments on Chaos Dashboard #2708
- Add prefix for identifier of toda and tproxy in bpm #2673
- Bump toda to v0.2.2 #2747
- Bump go to 1.17 #2754
- JVMChaos ignore AgentLoadException when install agent #2701
- Bump container-runtime to v0.11.0 #2807
- Bump kubernetes dependencies to v1.23.1 #2807
- Kill chaos-tproxy while failing to apply config #2672
- Fix wrong field name of PhysicalMachineChaos on Chaos Dashboard #2724
- Fix field descriptions of GCPChaos #2791
- Fix chaos experiment "not found" on Chaos Dashboard #2698
- Provide additional print columns for chaos experiments #2526
- Refactor pkg/time #2570
- Rename “physic” to “host” on Chaos Dashboard #2645
- Restructure UI codebase #2590
- Upgrade UI dependencies #2685
- Set default selector mode from “one” to “all” #2680
- Workflow now ordered by creation time #2680
- Set up codecov for testing coverage reports #2679
- Speed up e2e tests #2617 #2702
- Fixed: error when using Schedule and PodChaos for injecting PodChaos as a cron job #2618
- Fixed: chaos-kernel build failure #2693
- Add status "Deleting" for chaos experiments on Chaos Dashboard #2708
- Add prefix for identifier of toda and tproxy in bpm #2673
- Kill chaos-tproxy while failing to apply config #2672